
:root {
  --hc-navy:#0d1426;
  --hc-navy-2:#07101f;
  --hc-gold:#c8a472;
  --hc-gold-light:#e7c98e;
  --hc-white:#fff;
}
.hcs *, .hcs *::before, .hcs *::after { box-sizing:border-box; }
.hcs {
  font-family:Inter,Arial,sans-serif;
  color:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.hcs a { text-decoration:none !important; }
.hcs-wrap { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.hcs-kicker {
  margin:0 0 16px;
  color:var(--hc-gold-light);
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:12px;
  font-weight:800;
}
.hcs-title {
  margin:0;
  font-size:clamp(42px,6vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:800;
}
.hcs-title strong { color:var(--hc-gold-light); }
.hcs-copy { max-width:620px; margin:22px 0 0; color:#eef1f6; font-size:18px; }
.hcs-btns { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.hcs .hcs-btn,
.hcs .hcs-btn:visited {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  font:700 16px/1 Inter,Arial,sans-serif !important;
  text-decoration:none !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
  box-shadow:none !important;
}
.hcs .hcs-btn:hover,
.hcs .hcs-btn:focus { transform:translateY(-2px) !important; text-decoration:none !important; }
.hcs .hcs-btn--gold,
.hcs .hcs-btn--gold:visited {
  background:linear-gradient(135deg,var(--hc-gold-light),var(--hc-gold)) !important;
  color:var(--hc-navy) !important;
  border:1px solid var(--hc-gold) !important;
}
.hcs .hcs-btn--gold:hover,
.hcs .hcs-btn--gold:focus {
  background:linear-gradient(135deg,#f0d8a3,#c8a472) !important;
  color:var(--hc-navy) !important;
  border-color:#efd79f !important;
  box-shadow:0 10px 28px rgba(200,164,114,.22) !important;
}
.hcs .hcs-btn--ghost,
.hcs .hcs-btn--ghost:visited {
  background:rgba(7,16,31,.76) !important;
  color:#fff !important;
  border:1px solid rgba(231,201,142,.85) !important;
}
.hcs .hcs-btn--ghost:hover,
.hcs .hcs-btn--ghost:focus {
  background:#101d31 !important;
  color:#fff !important;
  border-color:var(--hc-gold-light) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
}
.hcs-icon { width:20px; height:20px; display:inline-flex; }
.hcs-icon svg { width:100%; height:100%; fill:currentColor; }

/* HERO */
.hcs-hero {
  min-height:760px;
  position:relative;
  overflow:hidden;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.hcs-hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,13,26,.92) 0%,rgba(5,13,26,.73) 44%,rgba(5,13,26,.22) 72%,rgba(5,13,26,.34) 100%);
}
.hcs-hero > * { position:relative; z-index:1; }
.hcs-nav { height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.hcs-brand { display:flex; align-items:center; gap:18px; min-width:320px; }
.hcs-brand img { width:190px; height:auto; display:block; }
.hcs-brand-line { width:1px; height:46px; background:rgba(200,164,114,.35); }
.hcs-brand-copy { font-size:14px; line-height:1.28; color:#eef1f6; }
.hcs-menu { display:flex; gap:26px; align-items:center; }
.hcs .hcs-menu a:not(.hcs-btn) { color:#fff !important; font-size:14px !important; }
.hcs .hcs-menu a:not(.hcs-btn):hover { color:var(--hc-gold-light) !important; }
.hcs-hero-body { max-width:700px; padding:115px 0 118px; }
.hcs-hero-note {
  position:absolute; right:4.5%; bottom:75px;
  color:var(--hc-gold-light); font-size:22px; font-style:italic;
  line-height:1.25; text-align:right; transform:rotate(-3deg);
}

/* TRACKER */
.hcs-track { padding:42px 0 74px; background:linear-gradient(#0d1426,#091323); }
.hcs-card {
  background:rgba(9,19,35,.90);
  border:1px solid rgba(200,164,114,.22);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.hcs-tracker-shell { display:grid; grid-template-columns:340px 1fr; overflow:hidden; }
.hcs-tracker-info { padding:34px 32px; }
.hcs-live { display:flex; gap:10px; align-items:center; color:var(--hc-gold-light); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.hcs-live-dot { width:12px; height:12px; border-radius:50%; background:var(--hc-gold-light); box-shadow:0 0 18px var(--hc-gold-light); }
.hcs-tracker-info h2 { margin:14px 0 24px; font-size:31px; line-height:1.1; }
.hcs-status { display:flex; gap:14px; padding:17px 0; border-top:1px solid rgba(255,255,255,.11); }
.hcs-status:first-of-type { border-top:0; }
.hcs-status-ico { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; color:var(--hc-gold-light); background:rgba(200,164,114,.11); flex:0 0 auto; }
.hcs-status small { display:block; margin-bottom:2px; color:#c8d0dc; }
.hcs-status strong { font-size:16px; }
.hcs-progress { margin:9px 0 20px; }
.hcs-progress-head { display:flex; justify-content:space-between; margin-bottom:8px; font-size:13px; }
.hcs-bar { height:10px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.14); }
.hcs-bar span { display:block; width:68%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--hc-gold),var(--hc-gold-light)); }
.hcs-wave { margin-top:18px; padding:17px; border-radius:16px; background:rgba(255,255,255,.045); color:#e9edf4; font-size:14px; }
.hcs-wave strong { color:var(--hc-gold-light); }
.hcs-map { min-height:520px; position:relative; background:#0a1728; }
.hcs-map iframe { width:100%; height:100%; min-height:520px; border:0; display:block; }
.hcs-map-placeholder {
  min-height:520px; height:100%; display:grid; place-items:center; padding:30px;
  background:radial-gradient(circle at 65% 38%,rgba(200,164,114,.13),transparent 28%),#0b1a2d;
  color:#dbe2ec; text-align:center;
}
.hcs-map-placeholder b { display:block; margin-bottom:8px; color:#fff; font-size:22px; }

/* TIMETABLE */
.hcs-time { padding:76px 0; background:#f6f7f9; color:var(--hc-navy); }
.hcs-time .hcs-kicker { color:#9c7747; }
.hcs-time h2 { margin:0 0 12px; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.035em; }
.hcs-time-intro { max-width:690px; margin:0 0 34px; color:#536071; }
.hcs-days { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hcs-day { padding:25px; border:1px solid #e5e7eb; border-radius:20px; background:#fff; box-shadow:0 14px 40px rgba(13,20,38,.07); }
.hcs-day-date { color:#9c7747; font-size:12px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hcs-day h3 { margin:7px 0 8px; color:var(--hc-navy); font-size:21px; }
.hcs-day p { margin:0; color:#667085; font-size:14px; }
.hcs-day a, .hcs-day a:visited, .hcs-day a:hover { display:inline-flex; margin-top:18px; color:var(--hc-navy) !important; font-weight:750; }

/* SUPPORT */
.hcs-support {
  min-height:520px;
  position:relative;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.hcs-support::before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(7,16,31,.97) 0%,rgba(7,16,31,.88) 47%,rgba(7,16,31,.28) 74%,rgba(7,16,31,.32) 100%);
}
.hcs-support > * { position:relative; z-index:1; }
.hcs-support-grid { min-height:520px; display:grid; grid-template-columns:minmax(0,650px) 1fr; align-items:center; }
.hcs-support h2 { margin:0; font-size:clamp(36px,4.8vw,60px); line-height:1.02; letter-spacing:-.04em; }
.hcs-mini { display:flex; flex-wrap:wrap; gap:24px; margin-top:27px; color:#dfe5ee; font-size:13px; }

/* SCENIC */
.hcs-scenic {
  min-height:310px;
  display:flex;
  align-items:end;
  position:relative;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.hcs-scenic::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,31,.62),rgba(7,16,31,.14) 65%,rgba(7,16,31,.45)); }
.hcs-scenic > * { position:relative; z-index:1; }
.hcs-scenic-inner { width:100%; padding:0 0 46px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.hcs-scenic-quote { font-size:26px; font-style:italic; line-height:1.2; }
.hcs-scenic-mark { text-align:right; font-size:13px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }

/* FOOTER */
.hcs-foot { padding:34px 0 22px; background:#07101f; border-top:1px solid rgba(200,164,114,.48); }
.hcs-foot-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
.hcs-foot-brand { display:flex; align-items:center; gap:16px; }
.hcs-foot-brand img { width:174px; height:auto; }
.hcs-foot-center { padding:0 32px; border-left:1px solid rgba(200,164,114,.3); border-right:1px solid rgba(200,164,114,.3); color:#cbd3df; font-size:13px; text-align:center; }
.hcs-foot-charity { text-align:right; }
.hcs-foot-charity b { display:block; color:#fff; font-size:18px; }
.hcs-foot-charity span { color:#bfc8d5; font-size:12px; }
.hcs-copyline { margin-top:24px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); color:#8190a4; font-size:11px; text-align:center; }

@media(max-width:960px){
  .hcs-menu{display:none}
  .hcs-brand{min-width:auto}
  .hcs-hero{min-height:690px;background-position:64% center !important}
}
@media(max-width:860px){
  .hcs-tracker-shell{grid-template-columns:1fr}
  .hcs-map,.hcs-map-placeholder,.hcs-map iframe{min-height:430px}
  .hcs-days{grid-template-columns:1fr}
}
@media(max-width:767px){
  .hcs-wrap{width:min(100% - 26px,1180px)}
  .hcs-copy{font-size:16px}
  .hcs-btn{width:100%}
  .hcs-title{font-size:46px}
  .hcs-nav{height:80px}
  .hcs-brand img{width:154px}
  .hcs-brand-line,.hcs-brand-copy{display:none}
  .hcs-hero{min-height:700px;background-position:66% center !important}
  .hcs-hero-body{padding:95px 0 90px}
  .hcs-hero-note{display:none}
  .hcs-support{background-position:66% center !important}
  .hcs-support-grid{grid-template-columns:1fr;min-height:520px;align-items:end;padding-bottom:48px}
}
@media(max-width:720px){
  .hcs-foot-row{grid-template-columns:1fr;text-align:center}
  .hcs-foot-brand{justify-content:center}
  .hcs-foot-center{border:0;padding:0}
  .hcs-foot-charity{text-align:center}
}
@media(max-width:520px){
  .hcs-tracker-info{padding:28px 22px}
  .hcs-map,.hcs-map-placeholder,.hcs-map iframe{min-height:360px}
}
