:root{
  --orange:#FCA710;
  --orange-deep:#FF8A00;
  --accent:#FCA710;
  --black:#15130E;
  --gray:#767267;
  --line:#FFA733;
  --cream:#F5EFE3;
  --paper:#FFFFFF;
  --card-bg:#FBF9F5;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--paper);}
body{
  font-family:'DM Sans', sans-serif;
  color:var(--black);
  display:flex;
  justify-content:center;
  padding:0 0 60px 0;
}
.page{
  width:400px;
  max-width:100vw;
  min-height:100vh;
  background:var(--paper);
  padding:24px 24px 32px 24px;
  position:relative;
}

/* header */
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
}
.logo-mark{
  width:34px;height:34px;
  border-radius:50%;
  background:var(--orange);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;
}
.logo-mark i{
  width:6px;height:6px;background:var(--black);border-radius:50%;display:block;
}
.brought{
  text-align:right;
}
.brought .by{
  font-size:9px;
  color:var(--gray);
  letter-spacing:0.02em;
  margin-bottom:2px;
}
.brought .fa{
  font-weight:700;
  font-size:13px;
  letter-spacing:-0.01em;
}
.brought .fa .thin{ font-weight:400; }
.brought .fa .dot{ color:var(--orange); }

.badge{
  display:inline-block;
  background:var(--orange);
  color:var(--paper);
  font-family:'DM Sans', monospace;
  font-size:12px;
  font-weight:500;
  letter-spacing:0.06em;
  padding:3px 8px;
  margin-bottom:10px;
}

h1.title{
  font-family:'DM Sans', sans-serif;
  font-size:32px;
  line-height:1.05;
  margin-bottom:12px;
}
.subtext{
  font-size:14px;
  line-height:1.55;
  color:var(--gray);
  margin-bottom:24px;
}

/* screens */
.screen{ display:none; }
.screen.active{ display:block; }

/* ---------- INTRO ---------- */
.roster-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 12px;
  margin-bottom:28px;
}
.roster-item{ position:relative; text-align:center; }
.roster-item .illo-wrap{
  position:relative;
  height:150px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.roster-item .num{
  position:absolute;
  font-family:'Archivo Black', sans-serif;
  font-size:52px;
  color:var(--black);
  line-height:1;
  z-index:0;
  opacity:1;
}
.roster-item.n1 .num{ left:-6px; bottom:-6px; }
.roster-item.n2 .num{ right:-6px; top:36px; }
.roster-item.n3 .num{ left:-6px; bottom:-6px; }
.roster-item.n4 .num{ right:-6px; top:36px; }
.roster-item svg, .roster-item img{ position:relative; z-index:1; height:145px; width:auto; object-fit:contain; }
.roster-item .rname{
  font-size:14px;
  font-weight:600;
  margin-top:8px;
}

.eyebrow-black{
  font-size:14px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.desc-p{
  font-size:14px;
  line-height:1.6;
  color:var(--gray);
  margin-bottom:26px;
}

.btn-primary{
  background:var(--orange);
  color:var(--black);
  border:none;
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:14px;
  padding:16px 20px;
  border-radius:10px;
  cursor:pointer;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform .12s ease, background .12s ease;
}
.btn-primary:hover{ background:var(--orange-deep); transform:translateY(-1px); }
.btn-primary:disabled{ opacity:0.4; cursor:not-allowed; transform:none; }

/* ---------- QUIZ ---------- */
.qmeta{
  font-size:12.5px;
  color:var(--gray);
  margin-bottom:10px;
}
.progress-row{
  display:flex;
  gap:5px;
  margin-bottom:24px;
}
.progress-row .dash{
  height:4px;
  flex:1;
  background:#EFEBE2;
  border-radius:4px;
  overflow:hidden;
}
.progress-row .dash.done{ background:var(--orange); }
.w-100{width: 100%;}
.qtext{
  font-family:'Chakra Petch', sans-serif;
  font-size:26px;
  line-height:1.15;
  margin-bottom:22px;
  min-height:100px;
  font-weight: 700;
}
.options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:20px;
}
.opt{
  border:1.5px solid var(--orange);
  background:var(--paper);
  border-radius:14px;
  padding:15px;
  font-size:14px;
  font-weight:600;
  color:var(--black);
  cursor:pointer;
  display:flex;
  align-items:flex-end;
  text-align:left;
  line-height:1.4;
  transition:background .12s ease, color .12s ease;
  aspect-ratio: 1/1 ;
}
.opt:hover{ background:#FFF4E2; }
.opt.selected{ background:var(--orange); color:var(--paper); }

.back-link{
  font-size:12.5px;
  color:var(--gray);
  background:none;
  border:none;
  cursor:pointer;
  padding:4px 0;
}
.back-link:disabled{ opacity:0; cursor:default; }
.back-link:hover{ color:var(--black); }

/* completion modal */
.modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(21,19,14,0.55);
  align-items:center;
  justify-content:center;
  z-index:50;
  padding:20px;
}
.modal-overlay.active{ display:flex; }
.modal-box{
  background:var(--paper);
  border-radius:16px;
  padding:0px;
  text-align:center;
  width:100%;
  max-width:90vw;
  max-height:90vh;
  overflow-y: scroll;
}
.modal-box p{
  font-size:15px;
  font-weight:500;
  margin-bottom:14px;
}
.modal-box p.notes{
  font-size: 17px;
  padding-bottom: 0px;
  font-weight: 700;
}
.modal-box p.ps{
  border: 2px solid var(--orange);
  position: relative;
  padding: 15px 2px;
  border-radius: 10px;
}
.modal-box p.ps:after{
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='orange' class='bi bi-info-circle-fill' viewBox='0 0 16 16'%3E %3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2'/%3E %3C/svg%3E");
  position: absolute;
  top:-5px; right:-5px;
}
.modal-box .cta{
  padding: 5px 15px;
  background-color: var(--card-bg);
}


/* ---------- RESULT ---------- */
#result .title{ text-align:center; margin-bottom:18px; }
.result-illo{
  display:flex;
  justify-content:center;
  margin-bottom:20px;
}
.result-illo svg, .result-illo img{ height:230px; width:auto; object-fit:contain; }
.quote{
  text-align:center;
  font-style:italic;
  font-weight:600;
  font-size:14.5px;
  margin-bottom:16px;
  padding:0 8px;
}
.result-desc{
  text-align:center;
  font-size:13px;
  line-height:1.65;
  color:#3a3830;
  margin-bottom:24px;
}
.result-desc em{ font-style:italic; color:var(--black); }

.box-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.info-box{
  border:1.5px solid var(--orange);
  border-radius:14px;
  padding:14px;
}
.info-box.full{ grid-column:1 / -1; }
.info-box .lbl{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.04em;
  color:var(--orange-deep);
  text-transform:uppercase;
  margin-bottom:6px;
}
.info-box .val{
  font-size:12.5px;
  line-height:1.55;
}
.info-box .val b{
  display:block;
  font-family:'Archivo Black', sans-serif;
  font-size:13px;
  letter-spacing:0.02em;
  margin-bottom:3px;
}

.cta-banner{
  background:var(--black);
  color:var(--paper);
  border-radius:14px;
  padding:16px 18px;
  font-size:12.5px;
  line-height:1.6;
  text-align:center;
  margin:20px 0 18px 0;
}
.cta-banner b{ color:var(--orange); }

.btn-secondary{
  background:transparent;
  border:none;
  color:var(--gray);
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  font-size:13px;
  padding:14px 20px;
  cursor:pointer;
  width:100%;
  margin-top:6px;
}
.btn-secondary:hover{ color:var(--black); }

.card{width:100%; max-width:420px; background:var(--paper); border:1.5px solid var(--cream); border-radius:24px; padding:24px 20px 28px; box-shadow:0 12px 40px rgba(21,19,14,0.08);}
.topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
.brought{text-align:right;}
.badge{display:inline-block; background:var(--orange); color:var(--black); font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:700; letter-spacing:0.06em; padding:5px 11px; border-radius:20px; margin-bottom:14px;}
h1{font-family:'DM Sans', sans-serif; font-size:30px; line-height:1.04; margin-bottom:10px;}
h1.home-title{margin-top: 40px; font-size: 35px;}
h1.home-title span{color: var(--orange);}
.intro{margin-top: 15px; margin-bottom: 40px; line-height: 1.4;}
.intro.landingp img{width: 100%;}
.intro.landingp{text-align: center; margin-bottom: 0px;}
.intro.landingp h1{font-size: 2.8rem; margin-bottom: 20px;}
.menuopt .card{margin-bottom: 20px; border: 2px solid var(--orange);}
.menuopt .card h2{line-height: 1; margin-bottom: 15px; text-transform: uppercase; font-size: 14px; letter-spacing: 1px;}
.menuopt .card .detail{display: flex; align-items: flex-start; font-size: 15px;}
.menuopt .card .detail img{display: block; height: auto; align-self: flex-start;}
.menuopt .card .btn{margin-top: 15px;}
.name{margin-bottom: 5px; margin-top: 10px; display: inline-block; border-bottom: 2px solid #FFA733;}
#shareArea .quote{font-style:italic; font-weight:700; font-size:32px; line-height:1.2; margin-bottom:15px; color:#3a3830; border-bottom: 1px solid #000000; padding-bottom: 15px; text-align: left;}
.illu{display:flex; justify-content:center; margin:10px 0 0px;}
.desc{font-size:15px; line-height:1.7; color:#3a3830; padding-bottom:15px;}
.top-panel{display: flex;}
.top-panel .panel{width: 50%; }
.bottom-panel .panel{margin-bottom: 20px;}
.panel{border:1.5px solid var(--orange); border-radius:16px; padding:14px; margin:5px;}
.panel .lbl{font-family:'DM Sans', sans-serif; font-size:12px; font-weight:700; letter-spacing:0.04em; color:var(--orange-deep); text-transform:uppercase; margin-bottom:6px;}
.panel .val{font-size:14px; line-height:1.6;}
.panel .val b{display:block; font-family:'DM Sans', sans-serif; font-size:14px; letter-spacing:0.02em; margin-bottom:3px;}
.cta{background:var(--black); color:var(--paper); border-radius:14px; padding:14px 16px; font-size:12.5px; line-height:1.6; text-align:center; margin:12px 0 16px;}
.cta b{color:var(--orange);}
.btn{display:block; width:100%; text-align:center; padding:14px 16px; border-radius:12px; background:var(--orange); color:var(--black); font-weight:700; text-decoration:none; margin-top:8px;}
.btn.secondary{background:transparent; border:1px solid var(--cream); color:var(--gray); margin-top:10px;}
#shareArea{padding: 20px;}
.btn.save-img{background:var(--orange); color:var(--paper); display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; border:none; font-family:inherit; font-size:14px;}
.btn.save-img:disabled{opacity:0.6; cursor:default;}
.btn.save-img svg{width:16px; height:16px; flex-shrink:0;}
  
.accordion-container {
  max-width: 600px;
  margin: 20px auto;
}

.accordion-header {
  background-color: #f1f5f9;
  color: #333;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  outline: none;
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.accordion-header.active, .accordion-header:hover {
  background-color: #e2e8f0;
}

.accordion-header::after {
  content: '\002B'; 
  font-size: 20px;
  float: right;
  margin-left: 5px;
}

.accordion-header.active::after {
  content: "\2212"; 
}

.accordion-content {
  padding: 0 18px;
  background-color: white;
  max-height: 0; 
  overflow: hidden;
  transition: max-height 0.3s ease-out; 
}

.accordion-content p {
  padding: 18px 0;
  margin: 0;
}

.congrats{text-align: left;}
.congrats h2{font-family:'Chakra Petch',sans-serif; font-weight:700; margin-top: 20px; margin-bottom: 10px;}
.congrats .header{background-color: var(--accent); background-image: url("../images/bg-founders.svg"); background-repeat: no-repeat; background-position: 110% 75%; padding: 15px; font-weight: 600;}
.congrats .header img{padding: 10px 0px;}
.congrats .accordion-item{border-bottom: 1px solid #BBBBBB;}
.congrats .accordion-header{font-size: 16px; font-weight: 600; line-height: 22px; position: relative; padding: 10px;}
.accordion-header::after{position: absolute; right:20px; top:55%; }
.congrats .accordion-header .notes{font-size: 14px; background-color: var(--accent); padding: 3px 7px; margin-bottom: 5px; font-weight: 500;}
.congrats .accordion-header .tit{padding: 3px 30px 3px 3px; font-size: 14px;}
.congrats .accordion-content{font-size: 14px;}
.congrats .accordion-content p{padding: 15px 0px;}
