/* Apply page (/apply.html, both sites – generated by scripts/build-guides.mjs, owner 2026-11-05).
   Three numbered blocks: 1 apply to a program / personal consultation (the main choice, two big cards),
   2 plan your studies (four photo tiles), 3 every other service (five photo tiles, open the account window).
   Colours via var(--blue): blue on the portal, red on the Georgia site. Font rule: max 13px, headings/bold 600
   with -.025em, buttons on PC 500. No border lines – soft shadows only. Clean on phones: no sideways scrolling. */
.ap-sec{margin-top:6px}
.ap-h{display:flex;align-items:center;gap:12px;margin:0 0 16px}
.ap-n{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:13px;font-weight:600;box-shadow:0 6px 18px rgba(15,23,42,.14);letter-spacing:-.025em}
.ap-h h2{margin:0}
.ap-h p{margin:3px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}

/* Block 1: two big cards */
.ap-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ap-card{display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.08),0 4px 12px rgba(15,23,42,.04);transition:transform .2s ease,box-shadow .2s ease}
.ap-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(15,23,42,.13),0 6px 16px rgba(15,23,42,.06)}
.ap-ph{display:block;line-height:0}
.ap-ph img{width:100%;aspect-ratio:2/1;object-fit:cover;display:block}
.ap-b{display:flex;flex-direction:column;gap:8px;flex:1;padding:18px 20px 20px}
.ap-b h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.025em;color:var(--navy)}
.ap-b p{margin:0;font-size:13px;line-height:1.6;color:#2D3854}
.ap-sel{display:flex;flex-wrap:wrap;gap:4px;align-self:flex-start;background:var(--blue-soft,#EAF1FF);border-radius:999px;padding:5px 12px;font-size:12px!important;line-height:1.4!important;color:var(--navy)!important}
.ap-sel[hidden]{display:none}
.ap-sel span{color:var(--muted)}
.ap-sel b{font-weight:600;letter-spacing:-.025em}
/* Two buttons side by side: exactly the same width and height; a long label wraps to two lines and then BOTH buttons
   grow together (owner, 2026-11-05) */
.ap-btns{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;margin-top:auto;padding-top:8px}
.ap-btns .btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;height:auto!important;min-height:46px!important;padding:7px 12px!important;border-radius:10px!important;font-size:13px!important;font-weight:600!important;line-height:1.25!important;white-space:normal!important;text-align:center;animation:none!important}
.ap-btns .btn svg{width:15px;height:15px;flex:none}

/* Blocks 2 and 3: photo tiles – the whole tile is the link */
.ap-grid{display:grid;gap:16px}
.ap-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ap-g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ap-tile{display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:14px;overflow:hidden;color:var(--navy);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.ap-tile:hover{transform:translateY(-3px)}
.ap-tile img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ap-tb{display:flex;flex-direction:column;gap:3px;flex:1;padding:11px 13px 13px}
.ap-tb b{font-size:13px;font-weight:600;letter-spacing:-.025em;line-height:1.35;color:var(--navy)}
.ap-tb small{font-size:12px;line-height:1.45;color:var(--muted)}
.ap-tb em{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:6px;font-style:normal;font-size:12px;font-weight:600;letter-spacing:-.025em;color:var(--blue)}
.ap-tb em svg{width:13px;height:13px}
.ap-tile:hover .ap-tb b{color:var(--blue)}

@media (max-width:1000px){
  .ap-g5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .ap-two{grid-template-columns:1fr;gap:16px}
  .ap-ph img{aspect-ratio:21/9}
  .ap-b{padding:14px 15px 16px}
  .ap-btns .btn{padding:7px 8px!important}
  .ap-grid{gap:12px}
  .ap-g4,.ap-g5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ap-g5 .ap-tile:last-child{grid-column:1/-1}
  .ap-g5 .ap-tile:last-child img{aspect-ratio:32/9}
  .ap-tb{padding:9px 11px 11px}
}
/* font-cap: PC text 13px (auto, do not edit) */
@media (min-width:761px){.ap-btns .btn{font-size:13px!important;font-weight:500!important}}
