
/* cormorant-garamond-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/cormorant-garamond-v21-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cormorant-garamond-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/cormorant-garamond-v21-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cormorant-garamond-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/cormorant-garamond-v21-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}





:root{
	--eu-blue:#003399;
	--eu-blue-dark:#001f5c;
	--eu-gold:#ffcc00;
	--ink:#1a2233;
	--muted:#5b6478;
	--bg:#f2f4f8;
	--card:#ffffff;
	--border:#dde2ec;
	--ok:#1e7d3c;
	--warn:#b5530e;
	--bad:#a3201f;
	--font-display: 'Cormorant Garamond', Georgia, serif;
	font-family:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5;}
a{color:var(--eu-blue);}

.topbar{background:linear-gradient(180deg,var(--eu-blue),var(--eu-blue-dark));color:#fff;border-bottom:4px solid var(--eu-gold);}
.topbar-inner{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:14px 20px;}
.eu-mark{position:relative;width:34px;height:34px;flex:0 0 auto;}
.eu-mark i{position:absolute;top:0;left:50%;width:4px;height:4px;margin-left:-2px;background:var(--eu-gold);border-radius:50%;
	transform:rotate(calc(var(--i) * 30deg)) translateY(15px);}

.brand{display:flex;flex-direction:column;line-height:1.25;}
.brand strong { font-family: var(--font-display); font-size: 30px; font-weight: 300; letter-spacing: 0.04em; }
.brand span { font-family:'DM Sans', Helvetica, sans-serif; font-size: 9px; font-weight: 400; color:#cfd9f4; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 3px; }
.session-info{margin-left:auto;font-size:13px;background:rgba(255,255,255,.12);padding:6px 12px;border-radius:4px;}

.page{max-width:980px;margin:0 auto;padding:28px 20px 60px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:26px 28px;margin-bottom:22px;box-shadow:0 1px 2px rgba(20,30,60,.04);}
h1{font-size:24px;margin:0 0 6px;color:var(--eu-blue-dark);}
h2{font-size:18px;margin:0 0 14px;color:var(--eu-blue-dark);}
h3{font-size:15px;margin:0 0 8px;}
p{margin:0 0 12px;}
.lead{font-size:15px;color:var(--muted);}
.muted{color:var(--muted);font-size:13.5px;}

.btn{display:inline-block;background:var(--eu-blue);color:#fff;border:none;padding:11px 22px;border-radius:4px;font-size:14.5px;cursor:pointer;text-decoration:none;}
.btn:hover{background:var(--eu-blue-dark);}
.btn.secondary{background:#fff;color:var(--eu-blue);border:1px solid var(--eu-blue);}
.btn.secondary:hover{background:#eef1fb;}
.btn.danger{background:#fff;color:var(--bad);border:1px solid var(--bad);}
.btn.danger:hover{background:#fbeceb;}
.btn.gold{background:var(--eu-gold);color:var(--eu-blue-dark);font-weight:bold;}
.btn.gold:hover{background:#e6b800;}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}

.notice{padding:14px 16px;border-radius:4px;font-size:14px;margin-bottom:18px;}
.notice.info{background:#eaf0fd;border:1px solid #c3d3f7;color:#16306e;}
.notice.error{background:#fdecea;border:1px solid #f3b9b6;color:#7c1a17;}
.notice.success{background:#e9f7ee;border:1px solid #b9e3c6;color:#1c5e34;}

ul.checklist{margin:0 0 16px;padding-left:20px;}
ul.checklist li{margin-bottom:6px;}

.stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px;}
.stepper a{flex:1 1 100px;text-align:center;padding:9px 6px;border-radius:4px;font-size:12.5px;text-decoration:none;border:1px solid var(--border);background:#fff;color:var(--muted);}
.stepper a.done{background:#eaf6ee;color:var(--ok);border-color:#bfe4cb;}
.stepper a.current{background:var(--eu-blue);color:#fff;border-color:var(--eu-blue);font-weight:bold;}

.question{padding:18px 0;border-top:1px solid var(--border);}
.question:first-child{border-top:none;padding-top:0;}
.question h3{margin-bottom:10px;}
.options label{display:block;background:#fafbfd;border:1px solid var(--border);border-radius:4px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font-size:14px;}
.options label:hover{border-color:var(--eu-blue);}
.options input[type=radio]{margin-right:8px;}
.options label.checked{border-color:var(--eu-blue);background:#eef2fd;}
textarea{width:100%;min-height:80px;padding:10px;border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:14px;}
label.field-label{display:block;font-weight:bold;font-size:13.5px;margin:14px 0 6px;}

table.scores{width:100%;border-collapse:collapse;margin:10px 0 6px;}
table.scores th,table.scores td{padding:9px 10px;border-bottom:1px solid var(--border);font-size:13.5px;text-align:left;}
table.scores a{color:var(--eu-blue-dark);text-decoration:none;font-weight:600;}
table.scores a:hover{text-decoration:underline;}
table.scores th{background:#f6f8fc;color:var(--muted);font-weight:bold;font-size:12px;text-transform:uppercase;letter-spacing:.03em;}
.seal-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:bold;color:#fff;}
.seal-0{background:#a3201f;} .seal-1{background:#c0501f;} .seal-2{background:#b5860e;}
.seal-3{background:#2e7d32;} .seal-4{background:var(--eu-blue);}

.score-hero{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:8px;}
.score-num{font-size:42px;font-weight:bold;color:var(--eu-blue-dark);}
.score-label{color:var(--muted);font-size:13px;}

.signer-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.signer-row input{flex:1 1 180px;padding:9px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px;}
.signer-row .rm{flex:0 0 auto;}

input[type=text]{padding:9px 10px;border:1px solid var(--border);border-radius:4px;font-size:14px;}

.footer{max-width:980px;margin:0 auto;padding:0 20px 40px;color:var(--muted);font-size:12.5px;}

@media (max-width:640px){
	.score-num{font-size:32px;}
	.stepper a{flex-basis:46%;}
}

.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--eu-blue-dark);color:#fff;
	padding:12px 20px;border-radius:6px;font-size:14px;box-shadow:0 6px 20px rgba(0,20,60,.25);
	opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:999;border-left:5px solid var(--eu-gold);}
.toast.show{opacity:1;transform:translate(-50%,0);}
.toast strong{color:var(--eu-gold);}
.toast.seal-0,.toast.seal-1{border-left-color:#e25a4f;}
.toast.seal-2{border-left-color:#e0b400;}
.toast.seal-3,.toast.seal-4{border-left-color:#3fae5c;}

.question.unanswered{background:#fff7f3;outline:2px solid var(--bad);outline-offset:6px;border-radius:6px;}

.bottleneck-note{color:#1c5e34;font-size:12.5px;margin:-4px 0 10px;}
.options label.upgrade{border-color:#2e7d32;box-shadow:0 0 0 3px rgba(46,125,50,.18),0 0 14px rgba(46,125,50,.45);animation:sov-glow 1.8s ease-in-out infinite;}
.options label.upgrade:hover{border-color:#1c5e34;}
.upgrade-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:20px;background:#e6f5ea;color:#1c5e34;font-size:11px;font-weight:bold;vertical-align:middle;}
@keyframes sov-glow{
	0%,100%{box-shadow:0 0 0 3px rgba(46,125,50,.18),0 0 10px rgba(46,125,50,.35);}
	50%{box-shadow:0 0 0 3px rgba(46,125,50,.3),0 0 20px rgba(46,125,50,.65);}
}
