/* AZ4-P1 start v2: uses az.css tokens (no new design system); big tap targets, centered last rows, perfect at 390 */
.s2-hero h1{max-width:760px}
.s2-wrap{max-width:880px}
.s2-steps{margin-bottom:10px}
.s2-steps li{cursor:pointer}
.s2-savedrow{display:flex;justify-content:flex-end;margin:0 4px 8px;min-height:22px}
.s2-p .hint{margin-top:6px}
.s2-goals,.s2-dc{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:18px}
.s2-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;border:2px solid var(--line2);background:rgba(220,232,247,.03);color:var(--td);text-decoration:none;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;min-height:92px;box-sizing:border-box}
.s2-card:hover{border-color:rgba(97,242,221,.6);background:rgba(97,242,221,.05)}
.s2-card:focus-within,.s2-card:focus-visible{outline:2px dashed rgba(97,242,221,.7);outline-offset:3px}
.s2-card.on{border-color:#61f2dd;background:rgba(97,242,221,.1)}
.s2-card.on::after{content:"";position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:#61f2dd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2304121f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.s2-ic{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(97,242,221,.08);color:#61f2dd}
.s2-ic svg{width:34px;height:34px}
.s2-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.s2-t b{font-size:17px;line-height:1.25}
.s2-t small{font-size:14px;line-height:1.4;color:var(--t2)}
.s2-main{flex:1 1 100%;min-height:118px;padding:20px 22px;border-color:rgba(97,242,221,.45);background:linear-gradient(120deg,rgba(97,242,221,.08),rgba(106,168,255,.06))}
.s2-main .s2-t b{font-size:21px}
.s2-main .s2-t{flex:1}
.s2-go{flex:0 0 auto;display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border-radius:999px;background:var(--goldbtn);color:#04121f;font-weight:800;font-size:16px}
.s2-main.on .s2-go{display:none}
.s2-link{flex:0 1 calc((100% - 24px)/3);min-width:200px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px}
.s2-choice{flex:0 1 calc((100% - 24px)/3);min-width:200px;flex-direction:column;text-align:center;justify-content:center;padding:22px 14px;min-height:170px}
.s2-choice .s2-t{align-items:center}
.s2-else{margin-top:16px}
.s2-have{margin-top:18px;max-width:460px}
.s2-field{margin-top:18px}
.s2-field:first-of-type{margin-top:14px}
.s2-fine{margin:6px 2px 0;color:var(--t3);font-size:13px}
.s2-lblrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.s2-lblrow .lbl{margin:0}
.s2-lblrow .mic{min-height:44px;padding:0 14px;font-size:14px}
.s2-ideas{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.s2-ideas-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:10px}
.s2-ideas-out{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.s2-ideas-out li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 14px;border-radius:14px;border:1px solid var(--line2)}.s2-il{display:flex;flex-direction:column;gap:2px;min-width:0}.s2-ideas-out li .btn{flex:0 0 auto}
.s2-ideas-out li.on{border-color:#61f2dd;background:rgba(97,242,221,.08)}
.s2-ideas-out b{word-break:break-all;font-size:16px}
.s2-ideas-out .s2-pr{font-size:13px;color:var(--t3)}
.s2-sum{margin-top:16px}
.s2-sum b{word-break:break-word}
.s2-sum-about b{font-weight:500;white-space:pre-wrap}
.s2-build{width:100%;min-height:60px;font-size:19px;font-weight:800;margin-top:18px}
.s2-dash{text-align:center;margin-top:18px}
@media (max-width:760px){
  .s2-link,.s2-choice{flex:1 1 100%;min-width:0}
  .s2-link{flex-direction:row;align-items:center;gap:14px;padding:16px}
  .s2-choice{flex-direction:row;text-align:left;justify-content:flex-start;min-height:88px;padding:16px}
  .s2-choice .s2-t{align-items:flex-start}
  .s2-main{flex-wrap:wrap;padding:18px}
  .s2-main .s2-go{width:100%;justify-content:center}
  .s2-main .s2-t b{font-size:19px}
  .s2-steps li{font-size:12.5px;padding:6px 11px 6px 6px}
}
@media (max-width:560px){.s2-nav{flex-wrap:wrap}.s2-nav .btn{flex:1 1 140px}.s2-nav>span:empty{display:none}}
.s2-p textarea[data-grow]{min-height:150px;font-size:17px}
