:root {
 --color-primary: #1B6B8F;
 --color-secondary: #2A7F6E;
 --color-accent: #4ECDC4;
 --color-link: #1F7FA8;
 --color-background: #F4FBFC;
 --color-card: #FFFFFF;
 --color-text: #173042;
 --color-white: #FFFFFF;

 --gradient-main: linear-gradient(135deg, #5fa8db 0%, #6fb2df 42%, #7bb9e4 72%, #8ec6ea 100%);
 --grad: linear-gradient(135deg, #5fa8db 0%, #6fb2df 38%, #7bb9e4 70%, #8ec6ea 100%);

 --brand: #8ec6ea;
 --brand-600: #5fa8db;

 --bg: #F6FBFC;
 --card: rgba(255,255,255,.94);
 --ink: #173042;
 --muted: #5D7C8D;
 --line: rgba(27,107,143,.14);

 --radius: 18px;
 --radius-xl: 28px;
 --radius-lg: 22px;
 --radius-md: 16px;
 --radius-sm: 12px;
 --transition: .2s ease;
}

.page * {
 text-align: left;
 text-align-last: left;
}

*,
*::before,
*::after{
 box-sizing:border-box;
}

.page{
 width:100%;
 margin:0;
 background:
 radial-gradient(1200px 600px at 10% -10%, #EAF8FB 0%, transparent 40%),
 radial-gradient(1000px 500px at 90% 10%, #F2FCFB 0%, transparent 45%),
 var(--bg);
 color:var(--ink);
 font:16px/1.7 Inter, Arial, Helvetica, sans-serif;
 border-radius:24px;
 overflow:hidden;
 padding:20px 0 34px;
}

.page a{
 color:var(--color-link);
 text-decoration:none;
 transition:var(--transition);
}

.page a:hover{
 opacity:.92;
}

.container{
 width:100%;
 max-width:1180px;
 margin:0 auto;
 padding:0 20px;
}

.section{
 padding:24px 0;
}

.section__header{
 display:flex;
 align-items:end;
 justify-content:space-between;
 gap:16px;
 flex-wrap:wrap;
 margin-bottom:18px;
}

.section__title{
 margin:0;
 font-size:clamp(28px,4vw,42px);
 line-height:1.12;
 color:var(--ink);
}

.section__text{
 margin:8px 0 0;
 max-width:920px;
 color:var(--muted);
 font-size:16px;
}

.card{
 background:var(--card);
 border:1px solid var(--line);
 border-radius:var(--radius);
 padding:22px 24px;
 box-shadow:0 8px 24px rgba(23,48,66,.08);
}

.card:hover{
 box-shadow:0 12px 30px rgba(23,48,66,.10);
}

.btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:48px;
 padding:12px 22px;
 border-radius:999px;
 border:1px solid rgba(27,107,143,.18);
 background:#EEF8FA;
 color:#1B6B8F;
 font-weight:600;
 text-align:center;
}

.btn--primary{
 background:#E4F6F8;
 color:#155D7C;
}

.btn--ghost{
 background:rgba(255,255,255,.92);
 color:var(--ink);
 border:1px solid var(--line);
}

.btn:hover{
 transform:translateY(-1px);
 box-shadow:0 0 24px rgba(78,205,196,.18);
}

.badge{
 display:inline-flex;
 align-items:center;
 gap:8px;
 padding:8px 14px;
 border-radius:999px;
 background:#EEF8FA;
 color:#1B6B8F;
 border:1px solid rgba(27,107,143,.14);
 font-size:14px;
 font-weight:700;
}

.hero{
 display:grid;
 grid-template-columns:minmax(0,1.3fr) 220px;
 gap:24px;
 align-items:center;
 padding:28px;
 background:var(--grad);
 color:#fff;
 border-radius:var(--radius-xl);
 box-shadow:0 18px 36px rgba(10,10,26,.18);
}

.hero h1{
 margin:0 0 14px;
 font-size:clamp(34px,5vw,56px);
 line-height:1.02;
 color:#fff;
}

.hero p{
 margin:0 0 18px;
 color:#F4FEFF;
 font-size:18px;
 max-width:760px;
}

.hero__badges{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-top:8px;
}

.hero__badges .badge{
 background:rgba(255,255,255,.14);
 color:#fff;
 border:1px solid rgba(255,255,255,.18);
}

.hero__logo{
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:220px;
 border-radius:22px;
 background:rgba(255,255,255,.92);
 border:1px solid rgba(255,255,255,.22);
 box-shadow:0 12px 30px rgba(10,10,26,.12);
 padding:20px;
}

.hero__logo img{
 max-width:100%;
 height:auto;
 display:block;
}

.summary{
 display:grid;
 grid-template-columns:repeat(3, minmax(0,1fr));
 gap:18px;
 margin-top:22px;
}

.summary .card{
 min-height:100%;
}

.summary ul{
 margin:0;
 padding-left:22px;
}

.summary li{
 margin:0 0 10px;
 color:var(--muted);
}

.summary strong{
 color:var(--ink);
}
.info-grid{
 display:grid;
 grid-template-columns:repeat(2, minmax(0,1fr));
 gap:18px;
}

.actions{
 display:flex;
 flex-wrap:wrap;
 gap:12px;
 margin-top:18px;
}

.table-wrap{
 overflow-x:auto;
 border-radius:var(--radius);
}

.landing-table{
 width:100%;
 min-width:720px;
 border-collapse:collapse;
 background:var(--card);
 border:1px solid var(--line);
 overflow:hidden;
}

.landing-table th,
.landing-table td{
 padding:18px 16px;
 border:1px solid rgba(27,107,143,.12);
 text-align:left;
 vertical-align:top;
}

.landing-table th{
 background:#dfe6ff;
 color:var(--ink);
 font-size:16px;
 font-weight:800;
}

.landing-table td{
 color:var(--muted);
 font-size:16px;
}

.landing-table td strong{
 color:var(--ink);
}

.page .program-card__title {
 font-size: 19px;
 }

.note{
 margin-top:18px;
 padding:16px 18px;
 border-radius:16px;
 background:linear-gradient(135deg, rgba(228,246,248,.95), rgba(255,255,255,.95));
 border:1px solid var(--line);
 color:var(--muted);
 box-shadow:0 8px 24px rgba(23,48,66,.06);
}

.note strong{
 color:var(--ink);
}

@media (max-width: 920px){
 .hero{
  grid-template-columns:1fr;
 }

 .summary,
 .info-grid{
  grid-template-columns:1fr;
 }
}

@media (max-width: 560px){
 .page{
  padding-top:14px;
 }

 .container{
  padding:0 14px;
 }

 .hero{
  padding:20px 16px;
 }

 .card{
  padding:18px 16px;
 }

 .btn{
  width:100%;
 }
}