:root{
  --navy:#102345;
  --deep:#351568;
  --purple:#6f35c8;
  --teal:#10c9cf;
  --gold:#ffd34f;
  --orange:#ff8f1f;
  --pink:#ff77a8;
  --green:#35bf5a;
  --cream:#fff5d3;
  --blue:#0b79d0;
  --shadow:0 18px 45px rgba(13,25,49,.25);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--navy);
  font-family:Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 10% 5%, rgba(255,233,134,.95) 0 12%, transparent 34%),
    radial-gradient(circle at 92% 12%, rgba(142,227,255,.8) 0 16%, transparent 36%),
    linear-gradient(135deg,#fff6c7 0%,#ffddeb 38%,#dffcff 68%,#f0e1ff 100%);
  overflow-x:hidden;
}
.app-shell{max-width:1560px;margin:0 auto;padding:16px}
.game-header{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  border:4px solid var(--gold);border-radius:30px;padding:12px 16px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,246,211,.92) 45%,rgba(224,255,255,.9));
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.game-header:after{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;background:radial-gradient(circle,rgba(255,211,79,.55),transparent 70%);pointer-events:none}
.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0;z-index:1}.brand-logo{width:220px;max-width:28vw;height:auto;filter:drop-shadow(0 10px 3px rgba(16,35,69,.22))}.eyebrow{margin:0 0 3px;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:900;color:var(--purple)}h1{margin:0;font-size:clamp(1.75rem,3vw,3.3rem);line-height:.95;color:var(--deep);text-shadow:0 2px #fff}.tagline{margin:8px 0 0;font-weight:900;color:#078080}.top-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;z-index:1;flex-wrap:wrap}.status-chip{display:flex;align-items:center;gap:9px;border:3px solid rgba(255,255,255,.72);background:linear-gradient(180deg,rgba(74,31,117,.96),rgba(50,19,93,.96));color:white;border-radius:21px;padding:10px 14px;box-shadow:0 10px 24px rgba(22,14,58,.18);min-width:160px}.status-chip img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}.status-chip strong{font-size:1.8rem;line-height:1}.status-chip span{font-weight:900;text-transform:uppercase;font-size:.75rem}.star-chip{background:linear-gradient(180deg,#ffb53c,#f76f26);color:#27103f}.round-btn{width:52px;height:52px;border-radius:50%;border:3px solid #fff;background:linear-gradient(135deg,#8d4be8,#33cfe3);color:white;font-size:1.35rem;font-weight:900;box-shadow:0 7px 18px rgba(21,15,56,.22);cursor:pointer}.game-grid{display:grid;grid-template-columns:minmax(760px,1fr) 360px;gap:18px;margin-top:18px;align-items:start}.stage-card{position:relative;border-radius:32px;border:5px solid var(--gold);padding:10px;background:linear-gradient(135deg,#4e2682,#17aec2);box-shadow:var(--shadow);overflow:hidden}.stage-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 36%);pointer-events:none}.stage-card canvas{position:relative;z-index:1;width:100%;display:block;border-radius:24px;background:#201242;touch-action:none}.camera-note{position:absolute;right:24px;top:24px;background:rgba(255,255,255,.9);border:3px solid var(--gold);padding:8px 12px;border-radius:999px;font-weight:900;color:var(--deep);box-shadow:0 8px 18px rgba(16,35,69,.12);opacity:0;transform:translateY(-8px);transition:.25s;z-index:2}.camera-note.show{opacity:1;transform:none}.side-panel{display:flex;flex-direction:column;gap:14px}.panel{background:rgba(255,255,255,.94);border:3px solid rgba(111,53,200,.22);border-radius:24px;padding:16px;box-shadow:0 10px 24px rgba(16,35,69,.10)}.panel h2{margin:0 0 12px;color:var(--deep);font-size:1.12rem}.scoreboard{display:flex;flex-direction:column;gap:10px}.player-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;border-radius:19px;padding:10px;background:#f5fcff;border:3px solid #d7edf5;transition:.2s}.player-row.active{background:#fff4c4;border-color:var(--gold);box-shadow:0 0 0 5px rgba(255,211,79,.24)}.player-face{width:52px;height:52px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#fff,#dffcff);border:3px solid #fff;box-shadow:0 5px 12px rgba(0,0,0,.18);display:grid;place-items:center}.player-face img{height:58px;transform:translateY(9px)}.player-name{font-weight:900;color:var(--deep);font-size:1rem}.player-strength{font-size:.78rem;color:#5d6f86;font-weight:700;margin-top:2px}.player-meta{text-align:right;font-weight:900}.coin-badge{display:inline-flex;align-items:center;gap:4px;background:#ffeaa0;color:#6f4300;border-radius:999px;padding:6px 9px}.coin-badge.bounce{animation:coinPop .45s cubic-bezier(.2,1.5,.28,1)}@keyframes coinPop{0%{transform:scale(1)}40%{transform:scale(1.32) translateY(-6px)}100%{transform:scale(1)}}.turn-box{font-weight:900;background:#f2faff;border:2px solid #c6ecf2;border-radius:16px;padding:10px;color:#095860;line-height:1.35}.dice-display{display:grid;place-items:center;margin:12px 0}.dice-cube{width:98px;height:98px;border-radius:22px;background:radial-gradient(circle at 30% 25%,#fff 0 20%,#e8eef4 56%,#cfd9e6 100%);border:4px solid var(--deep);display:grid;place-items:center;font-size:2.5rem;font-weight:900;color:#ffb600;text-shadow:2px 2px #7a3100;box-shadow:inset -9px -9px 0 rgba(0,0,0,.07),0 12px 20px rgba(16,35,69,.18);transform-style:preserve-3d;overflow:hidden}.dice-cube img{width:100%;height:100%;object-fit:contain;display:block}.dice-cube.image-dice{padding:0;background:transparent;box-shadow:0 12px 20px rgba(16,35,69,.18)}.dice-cube.rolling{animation:diceRoll .62s ease-in-out infinite}@keyframes diceRoll{0%{transform:rotate(0) scale(1)}35%{transform:rotate(14deg) scale(1.08)}70%{transform:rotate(-12deg) scale(.96)}100%{transform:rotate(0) scale(1)}}.primary-btn,.ghost-btn{border:0;border-radius:16px;padding:13px 14px;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:0 8px 20px rgba(16,35,69,.15);transition:transform .14s,opacity .14s}.primary-btn{width:100%;background:linear-gradient(135deg,var(--pink),var(--orange));color:white}.primary-btn:hover,.ghost-btn:hover{transform:translateY(-1px)}.primary-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ghost-btn{background:#f4ecff;color:var(--deep);border:2px solid #d7c6ff;width:100%}.ghost-btn.danger{background:#fff0f0;color:#8b1234;border-color:#ffc4d2}.button-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.message{background:#fff9df;border-left:7px solid var(--gold);border-radius:14px;padding:11px;line-height:1.35;margin:12px 0 0;font-weight:700}.check-row,.range-row{display:block;margin:10px 0;font-weight:800;color:#263e63}.range-row input{width:100%;margin-top:8px}.sel-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sel-pill-row span{background:linear-gradient(135deg,#e8fdff,#f6eaff);border:2px solid #d3caf5;border-radius:999px;padding:7px 9px;font-size:.78rem;font-weight:900;color:var(--deep)}.sel-panel p{margin:8px 0 0;line-height:1.35}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:rgba(11,17,36,.68);z-index:50;perspective:900px}.hidden{display:none!important}.card-modal{width:min(980px,100%);display:grid;grid-template-columns:255px 1fr;gap:18px;background:linear-gradient(135deg,#fffdf5,#fff6d7 60%,#e9fcff);border:5px solid var(--gold);border-radius:30px;padding:18px;box-shadow:0 28px 100px rgba(0,0,0,.45);transform:translateY(55px) scale(.78) rotateX(12deg);opacity:0}.modal-backdrop.show .card-modal{animation:slideForward .38s cubic-bezier(.14,1.04,.28,1) forwards}@keyframes slideForward{to{transform:translateY(0) scale(1) rotateX(0);opacity:1}}.card-art-wrap{border-radius:24px;overflow:hidden;align-self:start;box-shadow:0 18px 30px rgba(16,35,69,.18);transform:rotate(-3deg);background:white}.card-art-wrap img{width:100%;display:block}.card-content{min-width:0}.modal-type{display:inline-block;background:var(--deep);color:white;border-radius:999px;padding:8px 13px;font-weight:900;text-transform:uppercase;font-size:.82rem}.card-content h2{margin:10px 0 8px;font-size:clamp(1.5rem,2vw,2.2rem);color:var(--deep);line-height:1.05}.scenario{background:#f1fbff;border:2px solid #beeef6;border-radius:18px;padding:14px;line-height:1.42;font-size:1.05rem;font-weight:700}.focus-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.focus-tags span{background:#fff1c0;border:2px solid #ffd35a;border-radius:999px;padding:6px 9px;font-size:.8rem;font-weight:900;color:#744600}.choices{display:grid;gap:10px;margin:12px 0}.choice-btn{text-align:left;border:3px solid #ddd;border-radius:18px;background:white;padding:12px;font-size:1rem;cursor:pointer;line-height:1.35;box-shadow:0 4px 12px rgba(16,35,69,.08)}.choice-btn:hover,.choice-btn.selected{border-color:var(--purple);background:#f4ecff}.choice-label{font-weight:900;color:var(--deep);margin-right:6px}.explain-box label{font-weight:900;color:var(--deep)}textarea{width:100%;border:2px solid #cfc5ee;border-radius:16px;padding:11px;margin-top:8px;font-family:inherit;font-size:1rem;resize:vertical}.result-box{margin-top:12px;border:3px solid #ffd35a;border-radius:18px;background:#fff4cf;padding:14px;line-height:1.4;font-weight:700}.result-box.good{background:#e7fff0;border-color:#6cd58f}.result-box.warn{background:#fff4e5;border-color:#ffad5d}.result-box.bad{background:#ffecec;border-color:#ff8b95}.modal-actions{display:flex;gap:10px;margin-top:12px}.sparkle{position:fixed;pointer-events:none;color:var(--gold);font-size:22px;animation:spark .75s ease-out forwards;z-index:70}@keyframes spark{to{transform:translateY(-70px) rotate(90deg) scale(.25);opacity:0}}@media(max-width:1180px){.game-grid{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logo{width:170px}.top-status{justify-content:flex-start}}@media(max-width:760px){.app-shell{padding:9px}.game-header,.brand-lockup{align-items:flex-start;flex-direction:column}.brand-logo{max-width:260px;width:60vw}.side-panel{grid-template-columns:1fr}.card-modal{grid-template-columns:1fr}.card-art-wrap{display:none}.top-status{width:100%}.status-chip{min-width:0;flex:1}.stage-card{padding:5px;border-radius:22px}.stage-card canvas{border-radius:16px}.game-grid{gap:10px}}


/* Dice sprite-spin upgrade */
.dice-cube.image-dice{
  position:relative;
  overflow:visible;
  background:transparent;
  padding:0;
}
.dice-cube .dice-face-img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:20px;
  filter:drop-shadow(0 12px 14px rgba(16,35,69,.22));
  transition:transform .18s ease, filter .18s ease;
}
.dice-spin-frame{
  position:absolute;
  inset:0;
  border-radius:20px;
  background-image:url("assets/ui/dice_spin_sheet.png");
  background-repeat:no-repeat;
  background-size:400% 300%;
  background-position:0% 0%;
  filter:drop-shadow(0 12px 14px rgba(16,35,69,.22));
}
.dice-cube.final-flash{
  animation:diceFinalFlash .72s ease-in-out 2;
}
.dice-cube.final-flash .dice-face-img{
  filter:drop-shadow(0 0 10px rgba(255,211,79,.95)) drop-shadow(0 12px 14px rgba(16,35,69,.22));
}
@keyframes diceFinalFlash{
  0%,100%{transform:scale(1);box-shadow:0 12px 20px rgba(16,35,69,.18)}
  50%{transform:scale(1.16);box-shadow:0 0 0 8px rgba(255,211,79,.75),0 0 32px rgba(255,211,79,.96),0 12px 20px rgba(16,35,69,.18)}
}


/* SEL card slide-up, pause, and prompt reveal */
.modal-backdrop{
  perspective:1600px;
  align-items:center;
  justify-items:center;
}
.card-modal.sel-flip-modal{
  width:min(540px,94vw);
  max-height:94vh;
  display:block;
  grid-template-columns:none;
  gap:0;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  transform:none;
  opacity:1;
}
.flip-stage{
  width:100%;
  display:grid;
  place-items:center;
  perspective:1600px;
}
.flip-card{
  position:relative;
  width:min(430px,88vw);
  height:min(650px,88vh);
  min-height:610px;
  opacity:0;
  transform:translateY(115vh) rotateX(7deg) scale(.9);
}
.modal-backdrop.show .flip-card{
  animation:selCardSlidePauseReveal 1.6s cubic-bezier(.17,.86,.24,1) forwards;
}
@keyframes selCardSlidePauseReveal{
  0%{opacity:0;transform:translateY(115vh) rotateX(7deg) scale(.88)}
  58%{opacity:1;transform:translateY(0) rotateX(0deg) scale(1)}
  78%{opacity:1;transform:translateY(0) rotateX(0deg) scale(1.015)}
  100%{opacity:1;transform:translateY(0) rotateX(0deg) scale(1)}
}
.flip-face{
  position:absolute;
  inset:0;
  border:5px solid var(--gold);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.48),0 0 0 8px rgba(255,255,255,.18);
}
.flip-front{
  background:#fff;
  opacity:1;
  transition:opacity .28s ease;
}
.flip-front img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.flip-back{
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease;
  background:
    radial-gradient(circle at 16% 8%,rgba(255,211,79,.45),transparent 30%),
    radial-gradient(circle at 90% 16%,rgba(16,201,207,.25),transparent 26%),
    linear-gradient(160deg,#fffdf4 0%,#fff0c9 54%,#e8fcff 100%);
  padding:20px;
  overflow-y:auto;
}
.flip-card.revealed .flip-front{
  opacity:0;
  pointer-events:none;
}
.flip-card.revealed .flip-back{
  opacity:1;
  pointer-events:auto;
}
.flip-back .card-content{
  min-width:0;
}
.flip-back .modal-type{
  display:inline-flex;
  align-items:center;
  gap:6px;
  box-shadow:0 8px 18px rgba(16,35,69,.16);
}
.flip-back .card-content h2{
  margin-top:14px;
}
.flip-back .scenario{
  max-height:150px;
  overflow:auto;
}
.flip-back .choices{
  max-height:230px;
  overflow:auto;
  padding-right:4px;
}
.flip-back .modal-actions{
  position:sticky;
  bottom:-20px;
  background:linear-gradient(180deg,rgba(255,250,235,0),#fff6d7 35%,#fff6d7 100%);
  padding-top:12px;
  padding-bottom:4px;
}
@media(max-width:760px){
  .card-modal.sel-flip-modal{width:min(500px,96vw)}
  .flip-card{height:min(690px,90vh);min-height:560px;width:min(420px,92vw)}
  .flip-back{padding:16px}
  .flip-back .scenario{max-height:130px}
  .flip-back .choices{max-height:220px}
}
.modal-backdrop.show .card-modal.sel-flip-modal{
  animation:none;
  transform:none;
  opacity:1;
}


/* Teacher / counselor custom SEL card tools */
.teacher-card-actions{display:grid;gap:9px;margin-top:12px;padding-top:12px;border-top:2px dashed rgba(111,53,200,.22)}
.tool-note{margin:0;color:#5d6f86;font-size:.82rem;line-height:1.35;font-weight:700}
.manager-backdrop{z-index:80;overflow:auto;align-items:start;padding:22px}
.manager-modal{width:min(1160px,96vw);max-height:94vh;overflow:auto;background:linear-gradient(135deg,#fffdf5,#fff2c7 54%,#e9fcff);border:5px solid var(--gold);border-radius:30px;padding:20px;box-shadow:0 28px 100px rgba(0,0,0,.45);opacity:0;transform:translateY(40px) scale(.96)}
.manager-backdrop.show .manager-modal{animation:managerIn .25s ease forwards}@keyframes managerIn{to{opacity:1;transform:translateY(0) scale(1)}}
.manager-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:3px solid rgba(111,53,200,.18);padding-bottom:14px;margin-bottom:16px}.manager-header h2{margin:0;color:var(--deep);font-size:clamp(1.5rem,2.3vw,2.4rem)}.manager-header p{margin:6px 0 0;font-weight:800;color:#095860}.manager-header .round-btn{flex:0 0 auto;background:linear-gradient(135deg,#ff5b85,#7f3bd4)}
.manager-grid{display:grid;grid-template-columns:minmax(340px,430px) 1fr;gap:18px;align-items:start}.custom-card-form,.custom-card-list-panel{background:rgba(255,255,255,.92);border:3px solid rgba(111,53,200,.18);border-radius:24px;padding:16px;box-shadow:0 10px 24px rgba(16,35,69,.10)}
.custom-card-form label{display:grid;gap:6px;margin-bottom:11px;font-weight:900;color:var(--deep)}.custom-card-form input,.custom-card-form textarea,.custom-card-form select{width:100%;border:2px solid #cfc5ee;border-radius:14px;padding:10px;font:inherit;background:#fff}.custom-card-form textarea{resize:vertical}.custom-section{border:2px solid #e6dafd;border-radius:18px;background:#fbf7ff;padding:12px;margin:12px 0}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.section-title-row h3{margin:0;color:var(--deep)}.tiny-btn{border:0;border-radius:999px;background:linear-gradient(135deg,#10c9cf,#7f3bd4);color:#fff;font-weight:900;padding:8px 12px;cursor:pointer}.field-help{margin:0 0 10px;color:#5d6f86;font-size:.84rem;font-weight:700;line-height:1.35}.custom-choices-container{display:grid;gap:10px}.custom-choice-row{background:#fff;border:2px solid #d9cef5;border-radius:18px;padding:11px}.custom-choice-top{display:grid;grid-template-columns:70px 1fr 92px;gap:8px}.custom-choice-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.remove-custom-choice{border:0;border-radius:12px;background:#fff0f0;color:#8b1234;font-weight:900;cursor:pointer}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.manager-status{min-height:22px;margin:10px 0 0;font-weight:900;color:#095860}.manager-status.error{color:#8b1234}.manager-status.good{color:#08733f}.count-pill{background:#fff1c0;border:2px solid #ffd35a;border-radius:999px;padding:6px 10px;font-weight:900;color:#744600}.custom-card-list{display:grid;gap:10px;max-height:620px;overflow:auto;padding-right:4px}.custom-card-item{background:#f8fdff;border:3px solid #d7edf5;border-radius:18px;padding:12px}.custom-card-item h4{margin:0 0 5px;color:var(--deep);font-size:1rem}.custom-card-item p{margin:0;color:#39516c;line-height:1.35;font-size:.9rem}.custom-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.custom-card-meta span{border-radius:999px;background:#f4ecff;color:var(--deep);font-size:.76rem;font-weight:900;padding:5px 8px}.custom-card-actions-row{display:flex;gap:8px;margin-top:10px}.small-action{border:0;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer;background:#f4ecff;color:var(--deep)}.small-action.delete{background:#fff0f0;color:#8b1234}.empty-list{border:2px dashed #cfc5ee;border-radius:18px;padding:18px;text-align:center;color:#5d6f86;font-weight:800;background:#fff}
@media(max-width:980px){.manager-grid{grid-template-columns:1fr}.manager-backdrop{padding:10px}.manager-modal{padding:14px}.custom-choice-top{grid-template-columns:1fr}.custom-choice-bottom,.two-col,.form-actions{grid-template-columns:1fr}}


/* Teacher/Counselor Decision Card Yes-or-No editor */
.custom-choice-row.yes-no-choice-row{
  border-color:rgba(16,201,207,.55);
  background:linear-gradient(180deg,#ffffff,#f3fdff);
}
.custom-choice-row.yes-no-choice-row .custom-choice-label[readonly]{
  font-weight:900;
  text-align:center;
  letter-spacing:.04em;
  background:#f6fbff;
  color:#102345;
}
.decision-answer-preview{
  display:grid;
  place-items:center;
  min-height:54px;
  padding:10px 18px;
  border-radius:18px;
  font-size:1.8rem;
  font-weight:1000;
  letter-spacing:.05em;
  color:#fff;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
  box-shadow:0 8px 18px rgba(16,35,69,.14);
}
.decision-answer-preview.yes{background:linear-gradient(135deg,#11b86a,#087f49)}
.decision-answer-preview.no{background:linear-gradient(135deg,#ff5a60,#b91c28)}


/* Teacher/Counselor Dilemma Card four-answer editor */
.custom-choice-row.dilemma-choice-row{
  border-color:rgba(127,59,212,.55);
  background:linear-gradient(180deg,#ffffff,#fbf7ff);
}
.custom-choice-row.dilemma-choice-row .custom-choice-label[readonly]{
  font-weight:900;
  text-align:center;
  letter-spacing:.04em;
  background:#faf6ff;
  color:#351568;
}
.dilemma-answer-badge{
  display:grid;
  place-items:center;
  min-height:54px;
  padding:10px 12px;
  border-radius:18px;
  font-weight:1000;
  color:#fff;
  background:linear-gradient(135deg,#7f3bd4,#351568);
  box-shadow:0 8px 18px rgba(16,35,69,.14);
  text-align:center;
}


/* Educator information boxes added above the game board */
.top-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0 0;
  align-items:stretch;
}
.top-info-grid .info-section{
  height:100%;
}
.info-section{
  background:rgba(255,255,255,.94);
  border:3px solid rgba(111,53,200,.22);
  border-radius:24px;
  padding:16px;
  box-shadow:0 10px 24px rgba(16,35,69,.10);
  line-height:1.48;
  color:var(--navy);
}
.info-section h2{
  margin:0 0 10px;
  color:var(--deep);
  font-size:1.15rem;
}
.info-section p,
.info-section li{
  color:#263e63;
  font-size:.95rem;
  line-height:1.48;
}
.info-section p{
  margin:0 0 10px;
}
.info-section ul{
  margin:8px 0 0 18px;
  padding:0;
}
.info-section strong{
  color:var(--deep);
}
.cta-button{
  display:inline-block;
  margin-top:6px;
  padding:11px 14px;
  border-radius:14px;
  color:#1b1230;
  background:linear-gradient(135deg,var(--gold),#fff06a);
  font-weight:900;
  text-decoration:none;
  box-shadow:0 8px 16px rgba(16,35,69,.16);
}
.cta-button:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
}
@media(max-width:1180px){
  .top-info-grid{grid-template-columns:1fr;}
}
