/* Photographic cards and White Academy-inspired worry layout. */
.worry-section { padding: 78px 24px 0; background:#f1f2f3; color:#172332; overflow:hidden; }
.worry-heading { text-align:center; }
.worry-heading h2 { font-size:clamp(28px,3.4vw,48px); line-height:1.65; font-weight:800; }
.worry-heading h2 span { background:linear-gradient(transparent 65%,#edcf73 65%); }
.worry-scene { position:relative; max-width:1240px; height:660px; margin:30px auto 0; }
.worry-photo { position:absolute; width:68%; bottom:0; left:16%; margin:0; }
.worry-photo img { display:block; width:100%; height:auto; mask-image:linear-gradient(to bottom,transparent,#000 17%); }
.worry-bubbles { list-style:none; margin:0; padding:0; }
.worry-bubble { position:absolute; z-index:1; width:30%; padding:24px 16px; border:2px solid #29323a; border-radius:48% 45% 47% 42%; background:rgba(255,255,255,.96); text-align:center; line-height:1.7; font-size:clamp(17px,1.6vw,22px); font-weight:700; box-sizing:border-box; }
.worry-bubble strong { color:#ad362c; }
.worry-bubble::after { content:""; position:absolute; bottom:-17px; left:65%; width:12px; height:12px; border:2px solid #29323a; border-radius:50%; background:#fff; }
.worry-bubble:nth-child(1) { top:0; left:35%; }
.worry-bubble:nth-child(2) { top:135px; left:0; }
.worry-bubble:nth-child(3) { top:135px; right:0; }
.worry-bubble:nth-child(4) { top:330px; left:0; }
.worry-bubble:nth-child(5) { top:330px; right:0; }
.worry-answer { position:relative; z-index:2; margin:0 -24px; padding:42px 24px 56px; text-align:center; color:white; background:#0a1628; border-top:5px solid #c9a84c; }
.worry-answer h3 { font-size:clamp(25px,3vw,40px); line-height:1.6; margin:10px 0 18px; color:#fff; }
.worry-answer h3 span { color:#efd280; }
.worry-answer p { font-size:clamp(14px,1.5vw,17px); line-height:1.9; color:#f1f2f4; }
.strength-visual { width:180px; height:130px; flex:0 0 180px; margin:0; padding:0; background:none; border:0; overflow:hidden; }
.strength-visual img { width:100%; height:100%; object-fit:cover; }
.how-visual { height:auto; aspect-ratio:3/2; background:none; border:0; overflow:hidden; }
.how-visual img { width:100%; height:100%; object-fit:cover; }
.persona-visual { aspect-ratio:3/2; }
.persona-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.fee-explainer { display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; margin:18px 0 8px; font-size:14px; }
.fee-explainer > span { flex:1; padding:14px; border:1px solid #c9a84c; background:#fffaf0; text-align:center; min-width:110px; }
.fee-explainer > b { align-self:center; color:#7b6227; }
.fee-value { display:block; font-size:26px; font-weight:700; color:#0a1628; }
.fee-included > span:first-child { background:#0a1628; color:#fff; flex-basis:100%; }
.fee-note { font-size:12px; line-height:1.7; color:#555; margin:4px 0; }
@media(max-width:1000px) {
 .worry-scene { height:600px; }
 .worry-bubble { width:32%; font-size:16px; padding:22px 12px; }
 .worry-bubble:nth-child(1) { left:34%; }
 .worry-bubble:nth-child(4),.worry-bubble:nth-child(5) { top:300px; }
 .persona-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 .strength-visual { width:145px; height:110px; flex-basis:145px; }
}
@media(max-width:768px) {
 .worry-section { padding:52px 16px 0; }
 .worry-scene { height:auto; margin-top:24px; display:flex; flex-direction:column; }
 .worry-bubbles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 10px; order:0; }
 .worry-bubble,.worry-bubble:nth-child(n) { position:relative; inset:auto; width:auto; padding:18px 10px; font-size:14px; border-radius:28px; display:block; }
 .worry-bubble:first-child { grid-column:1/-1; margin:0 28px; }
 .worry-bubble::after { bottom:-9px; width:9px; height:9px; }
 .worry-photo { position:relative; width:calc(100% + 32px); left:auto; bottom:auto; margin:10px -16px 0; order:1; }
 .worry-answer { margin:0 -16px; padding:30px 18px 40px; }
 .strength-visual { width:100%; height:auto; aspect-ratio:3/2; flex-basis:auto; }
 .persona-grid { grid-template-columns:1fr !important; }
}
