
:root {
  --rhd-green: #2d8b3e;
  --rhd-lime: #83bc34;
  --rhd-dark: #153f2d;
  --rhd-ink: #173129;
  --rhd-gold: #efc84a;
  --rhd-cream: #fbfcf6;
  --rhd-soft: #eef7e9;
  --rhd-border: #dce9d7;
  --rhd-muted: #65736d;
  --shadow-sm: 0 12px 35px rgba(26, 65, 43, .10);
  --shadow-lg: 0 28px 80px rgba(19, 63, 45, .16);
  --radius: 1.3rem;
}
html { scroll-behavior: smooth; }
body { font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--rhd-ink); background: #fff; }
a { color: var(--rhd-green); text-decoration: none; }
a:hover { color: var(--rhd-dark); }
img { max-width: 100%; }
.skip-link { position:absolute; left:-9999px; top:10px; z-index:9999; background:#fff; color:#111; padding:.75rem 1rem; border-radius:.5rem; }
.skip-link:focus { left:10px; }
.topbar { background: var(--rhd-dark); color: rgba(255,255,255,.86); font-size:.86rem; }
.topbar a { color:#fff; }
.site-header { background: rgba(255,255,255,.93); backdrop-filter: blur(14px); border-bottom:1px solid rgba(21,63,45,.08); }
.navbar-brand img { width: 128px; height:auto; }
.navbar .nav-link { font-weight:700; color:#294438; padding:.7rem .9rem!important; }
.navbar .nav-link:hover,.navbar .nav-link.active { color: var(--rhd-green); }
.dropdown-menu { border:0; border-radius:1rem; box-shadow:var(--shadow-sm); padding:.65rem; }
.dropdown-item { border-radius:.65rem; font-weight:600; padding:.65rem .8rem; }
.btn { font-weight:800; border-radius:999px; padding:.78rem 1.2rem; }
.btn-rhd { color:#fff; background:linear-gradient(135deg,var(--rhd-green),var(--rhd-lime)); border:0; box-shadow:0 10px 28px rgba(45,139,62,.25); }
.btn-rhd:hover { color:#fff; transform:translateY(-1px); box-shadow:0 14px 34px rgba(45,139,62,.32); }
.btn-dark-rhd { background:var(--rhd-dark); color:#fff; border:0; }
.btn-dark-rhd:hover { background:#0e3021; color:#fff; }
.btn-outline-rhd { border:1.5px solid var(--rhd-green); color:var(--rhd-green); background:#fff; }
.btn-outline-rhd:hover { color:#fff; background:var(--rhd-green); }
.hero { position:relative; overflow:hidden; padding:5.8rem 0 4.8rem; background:radial-gradient(circle at 85% 12%, rgba(131,188,52,.2), transparent 26%), linear-gradient(180deg,#fbfff8 0%,#fff 100%); }
.hero:after { content:""; position:absolute; width:520px;height:520px;border-radius:50%;border:75px solid rgba(239,200,74,.09);right:-280px;bottom:-320px; }
.eyebrow { display:inline-flex; align-items:center; gap:.55rem; padding:.45rem .75rem; border-radius:999px; background:var(--rhd-soft); color:var(--rhd-dark); font-weight:800; font-size:.85rem; letter-spacing:.02em; }
.eyebrow:before { content:""; width:9px; height:9px; border-radius:50%; background:var(--rhd-lime); box-shadow:0 0 0 5px rgba(131,188,52,.16); }
.display-title { font-weight:900; letter-spacing:-.045em; font-size:clamp(2.4rem,4.8vw,4.35rem); line-height:1.05; color:var(--rhd-dark); }
.display-title .accent { color:var(--rhd-green); position:relative; }
.lead-copy { font-size:1.12rem; line-height:1.8; color:var(--rhd-muted); max-width:690px; }
.hero-art { width:100%; min-height:520px; max-height:620px; object-fit:cover; border-radius:2rem; box-shadow:var(--shadow-lg); }
.hero-visual { position:relative; }
.hero-mini-points { display:grid; gap:.85rem; max-width:620px; }
.hero-mini-point { display:flex; align-items:flex-start; gap:.8rem; padding:.85rem 1rem; border-radius:1rem; background:rgba(255,255,255,.78); border:1px solid rgba(45,139,62,.12); box-shadow:0 10px 22px rgba(21,63,45,.05); color:var(--rhd-muted); font-weight:700; }
.hero-mini-point i { font-size:1.1rem; color:var(--rhd-green); margin-top:.1rem; }
.hero-overlay-card { position:absolute; background:rgba(255,255,255,.97); border:1px solid rgba(45,139,62,.12); border-radius:1.2rem; box-shadow:0 18px 35px rgba(10,31,22,.14); }
.hero-overlay-primary { left:-28px; bottom:38px; max-width:255px; padding:1rem 1.1rem; }
.hero-overlay-secondary { right:-18px; bottom:-22px; max-width:280px; padding:.7rem; display:flex; align-items:center; gap:.8rem; }
.hero-overlay-secondary img { width:92px; height:92px; object-fit:cover; border-radius:.9rem; flex-shrink:0; }
.hero-overlay-label { color:var(--rhd-green); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:900; margin-bottom:.3rem; }
.hero-overlay-title { color:var(--rhd-dark); font-weight:900; letter-spacing:-.02em; font-size:1.05rem; line-height:1.2; margin-bottom:.35rem; }
.hero-overlay-title.small-title { font-size:.98rem; }
.hero-overlay-copy { color:var(--rhd-muted); font-size:.88rem; line-height:1.45; }
.feature-photo { width:100%; height:440px; object-fit:cover; border-radius:1.6rem; box-shadow:var(--shadow-sm); }
.photo-story { position:relative; overflow:hidden; border-radius:1.4rem; min-height:360px; box-shadow:var(--shadow-sm); }
.photo-story img { width:100%; height:360px; object-fit:cover; transition:transform .45s ease; }
.photo-story:hover img { transform:scale(1.035); }
.photo-story-caption { position:absolute; inset:auto 0 0; padding:3.5rem 1.35rem 1.25rem; color:#fff; background:linear-gradient(transparent,rgba(10,31,22,.9)); }
.photo-story-caption h3 { font-weight:900; }
.trust-row { display:flex; flex-wrap:wrap; gap:1.1rem; color:#50645a; font-weight:700; font-size:.92rem; }
.trust-row span { display:inline-flex; align-items:center; gap:.45rem; }
.trust-row i { color:var(--rhd-green); }
.section { padding:5rem 0; }
.section-soft { background:var(--rhd-cream); }
.section-dark { background:var(--rhd-dark); color:#fff; }
.section-title { font-weight:900; letter-spacing:-.035em; color:var(--rhd-dark); font-size:clamp(2rem,4vw,3.35rem); }
.section-dark .section-title { color:#fff; }
.section-intro { color:var(--rhd-muted); line-height:1.75; max-width:720px; }
.section-dark .section-intro { color:rgba(255,255,255,.72); }
.metrics-showcase { position:relative; z-index:2; }
.metrics-panel { background:linear-gradient(180deg,#ffffff 0%,#fcfdfb 100%); border:1px solid var(--rhd-border); border-radius:2rem; padding:2rem; box-shadow:0 14px 38px rgba(21,63,45,.08); }
.metrics-head { margin-bottom:1.25rem; }
.metric-card { position:relative; overflow:hidden; border:1px solid rgba(21,63,45,.08); border-radius:1.35rem; background:#fff; padding:1.35rem; height:100%; box-shadow:0 12px 28px rgba(21,63,45,.06); transition:.25s ease; }
.metric-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(21,63,45,.1); }
.metric-card:after { content:""; position:absolute; inset:auto -30px -45px auto; width:110px; height:110px; border-radius:50%; background:rgba(131,188,52,.09); }
.metric-card-featured { background:linear-gradient(145deg,#153f2d,#256b43); color:#fff; }
.metric-card-featured .metric-number,.metric-card-featured .metric-label,.metric-card-featured .metric-note,.metric-card-featured .metric-icon { color:#fff; }
.metric-card-featured:after { background:rgba(239,200,74,.18); }
.metric-card-dark { background:linear-gradient(145deg,#102c20,#1c4d35); color:#fff; }
.metric-card-dark .metric-number,.metric-card-dark .metric-label,.metric-card-dark .metric-note,.metric-card-dark .metric-icon { color:#fff; }
.metric-card-dark:after { background:rgba(239,200,74,.12); }
.metric-icon { width:50px; height:50px; border-radius:16px; display:grid; place-items:center; margin-bottom:1rem; background:var(--rhd-soft); color:var(--rhd-green); font-size:1.25rem; position:relative; z-index:1; }
.metric-card-featured .metric-icon,.metric-card-dark .metric-icon { background:rgba(255,255,255,.14); }
.metric-number { position:relative; z-index:1; font-size:2.35rem; font-weight:900; color:var(--rhd-dark); line-height:1; margin-bottom:.45rem; }
.metric-label { position:relative; z-index:1; color:var(--rhd-dark); font-weight:800; font-size:.98rem; margin-bottom:.35rem; }
.metric-note { position:relative; z-index:1; color:var(--rhd-muted); font-size:.88rem; line-height:1.45; }
.service-card,.destination-card,.resource-card,.value-card,.package-card { height:100%; border:1px solid var(--rhd-border); background:#fff; border-radius:var(--radius); padding:1.55rem; transition:.25s ease; }
.service-card:hover,.destination-card:hover,.resource-card:hover,.package-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-sm); border-color:rgba(45,139,62,.35); }
.icon-tile { width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--rhd-soft);color:var(--rhd-green);font-size:1.35rem; }
.card-title { color:var(--rhd-dark); font-weight:900; letter-spacing:-.02em; }
.card-copy { color:var(--rhd-muted); line-height:1.65; }
.link-arrow { display:inline-flex; align-items:center; gap:.45rem; font-weight:900; }
.process-step { position:relative; padding:1.5rem; border-left:3px solid #dcead5; }
.process-step:before { content:attr(data-step); position:absolute; left:-22px; top:20px; width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rhd-dark);color:#fff;font-weight:900;border:6px solid #fff; }
.quote-card { background:#fff; color:var(--rhd-ink); border-radius:1.4rem; padding:2rem; box-shadow:var(--shadow-sm); height:100%; }
.quote-mark { font-size:3rem; line-height:1; color:var(--rhd-lime); }
.avatar { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--rhd-soft);color:var(--rhd-dark);font-weight:900; }
.cta-panel { position:relative; overflow:hidden; border-radius:2rem; padding:3rem; background:linear-gradient(130deg,var(--rhd-dark),#256b43); color:#fff; box-shadow:var(--shadow-lg); }
.cta-panel:after { content:""; position:absolute; width:310px;height:310px;border-radius:50%; background:rgba(239,200,74,.12); right:-120px; top:-160px; }
.page-hero { padding:4.8rem 0 3.7rem; background:linear-gradient(145deg,#f5fbed,#fff8df); border-bottom:1px solid var(--rhd-border); }
.breadcrumb-item+.breadcrumb-item:before { color:#8aa195; }
.breadcrumb-item a { color:var(--rhd-green);font-weight:700; }
.feature-list { list-style:none; padding:0; margin:0; }
.feature-list li { position:relative; padding-left:1.8rem; margin:.75rem 0; color:var(--rhd-muted); }
.feature-list li:before { content:"✓"; position:absolute; left:0; color:var(--rhd-green); font-weight:900; }
.value-card { background:linear-gradient(180deg,#fff,#fbfdf9); }
.timeline { position:relative; padding-left:2rem; }
.timeline:before { content:""; position:absolute; left:.47rem; top:.5rem; bottom:.5rem; width:2px; background:#cfe2c7; }
.timeline-item { position:relative; margin-bottom:1.7rem; }
.timeline-item:before { content:""; position:absolute; left:-1.95rem; top:.35rem; width:15px;height:15px;border-radius:50%;background:var(--rhd-lime);border:4px solid #fff;box-shadow:0 0 0 2px var(--rhd-green); }
.destination-card { overflow:hidden; padding:0; }
.destination-cover { min-height:210px; padding:1.4rem; color:#fff; display:flex; align-items:flex-end; background-size:cover; background-position:center; position:relative; border-radius:1.4rem 1.4rem 0 0; overflow:hidden; }
.destination-cover:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,45,32,0.15) 0%, rgba(15,45,32,0.88) 100%); z-index:0; }
.destination-cover > * { position:relative; z-index:1; }
.destination-cover.uk { background-image: url('../img/uk-university-campus.jpg'); }
.destination-cover.au { background-image: url('../img/australia-university.jpg'); }
.destination-cover.eu { background-image: url('../img/europe-university.jpg'); }
.destination-cover.us { background-image: url('../img/usa-university.jpg'); }
.destination-cover.ca { background-image: url('../img/canada-university.jpg'); }
.destination-cover.asia { background-image: url('../img/pre-departure-travel.jpg'); }
.destination-body { padding:1.4rem; }
.filter-btn.active { background:var(--rhd-dark);color:#fff;border-color:var(--rhd-dark); }
.resource-card .badge { background:var(--rhd-soft)!important;color:var(--rhd-dark)!important; }
.package-card.featured { border:2px solid var(--rhd-green); transform:scale(1.025); box-shadow:var(--shadow-sm); }
.package-label { display:inline-block;background:var(--rhd-gold);color:#463c18;font-weight:900;padding:.35rem .7rem;border-radius:999px;font-size:.78rem; }
.form-control,.form-select { border-radius:.85rem; padding:.85rem 1rem; border-color:#d6e4d1; }
.form-control:focus,.form-select:focus { border-color:var(--rhd-green); box-shadow:0 0 0 .25rem rgba(45,139,62,.12); }
.form-check-input:checked { background-color:var(--rhd-green);border-color:var(--rhd-green); }
.form-panel { background:#fff;border:1px solid var(--rhd-border);border-radius:1.6rem;padding:2rem;box-shadow:var(--shadow-sm); }
.progress-thin { height:8px;border-radius:999px;background:#e5eee1; }
.progress-thin .progress-bar { background:linear-gradient(90deg,var(--rhd-green),var(--rhd-lime)); }
.application-step { display:none; }
.application-step.active { display:block; animation:fadeUp .35s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none} }
.contact-tile { border:1px solid var(--rhd-border); border-radius:1.2rem; padding:1.2rem; background:#fff; height:100%; }
.contact-tile i { font-size:1.4rem; color:var(--rhd-green); }
.accordion-item { border:1px solid var(--rhd-border)!important; border-radius:1rem!important; overflow:hidden; margin-bottom:.75rem; }
.accordion-button { font-weight:800; color:var(--rhd-dark); }
.accordion-button:not(.collapsed) { background:var(--rhd-soft);color:var(--rhd-dark);box-shadow:none; }
.footer { background:#0f2f22;color:rgba(255,255,255,.74);padding:4rem 0 1.5rem; }
.footer a { color:rgba(255,255,255,.76); }
.footer a:hover { color:#fff; }
.footer-title { color:#fff;font-weight:900;font-size:1rem; }
.footer-logo { background:#fff;padding:.55rem;border-radius:.8rem;width:125px; }
.social-link { width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff!important; }
.floating-whatsapp-wrap { position:fixed; right:20px; bottom:20px; z-index:1020; display:flex; align-items:center; gap:.75rem; }
.floating-whatsapp-tooltip { background:var(--rhd-dark); color:#fff; padding:.5rem .9rem; border-radius:999px; font-size:.82rem; font-weight:700; box-shadow:0 8px 24px rgba(0,0,0,.15); animation:pulseGlow 2.5s infinite; white-space:nowrap; }
.floating-whatsapp { width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:#25d366; color:#fff; font-size:1.55rem; box-shadow:0 14px 38px rgba(0,0,0,.22); transition:transform .3s ease; text-decoration:none!important; }
.floating-whatsapp:hover { transform:scale(1.1); color:#fff; }
@keyframes pulseGlow { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }

/* Video Story Cards */
.video-story-card { position:relative; border-radius:1.5rem; overflow:hidden; box-shadow:var(--shadow-md); cursor:pointer; }
.video-story-card img { width:100%; height:280px; object-fit:cover; transition:transform .4s ease; }
.video-story-card:hover img { transform:scale(1.05); }
.video-story-overlay { position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(15,47,34,.9) 100%); display:flex; flex-direction:column; justify-content:space-between; padding:1.25rem; color:#fff; }
.play-btn-overlay { width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.9); color:var(--rhd-green); display:grid; place-items:center; font-size:1.3rem; margin:auto; box-shadow:0 10px 25px rgba(0,0,0,.3); transition:transform .3s ease, background .3s ease; }
.video-story-card:hover .play-btn-overlay { transform:scale(1.15); background:#fff; color:var(--rhd-dark); }

/* Interactive Calculator & PDF Cards */
.calculator-panel { background:linear-gradient(135deg, #ffffff 0%, #f4f9f5 100%); color:var(--rhd-dark); border-radius:1.8rem; padding:2.5rem; border:1px solid #d4e5d8; box-shadow:var(--shadow-md); }
.calc-score-badge { display:inline-flex; align-items:center; justify-content:center; width:84px; height:84px; border-radius:50%; background:var(--rhd-dark); color:var(--rhd-lime); font-size:1.8rem; font-weight:900; box-shadow:0 0 0 8px rgba(15,47,34,.12); }
.pdf-resource-card { border:1px solid var(--rhd-border); border-radius:1.4rem; padding:1.4rem; background:#fff; transition:transform .3s ease, box-shadow .3s ease; height:100%; }
.pdf-resource-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--rhd-green); }
.pdf-icon { width:48px; height:48px; border-radius:1rem; background:rgba(220,53,69,.1); color:#dc3545; display:grid; place-items:center; font-size:1.4rem; }

/* News & Policy Hub Cards */
.news-card { border:1px solid var(--rhd-border); border-radius:1.4rem; overflow:hidden; background:#fff; transition:transform .3s ease; height:100%; display:flex; flex-direction:column; }
.news-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.news-card-body { padding:1.4rem; display:flex; flex-direction:column; flex-grow:1; }
.news-tag { display:inline-block; font-size:.75rem; font-weight:800; text-transform:uppercase; color:var(--rhd-green); letter-spacing:.05em; margin-bottom:.5rem; }

.notice { padding:1rem 1.15rem;border-left:4px solid var(--rhd-gold);background:#fff9e6;border-radius:.5rem;color:#6a5922; }
.sticky-side { position:sticky; top:120px; }
.table-rhd thead th { background:var(--rhd-dark);color:#fff;border:0; }
.table-rhd td,.table-rhd th { padding:.85rem; }
.toast-container { z-index:2000; }
@media (max-width:991.98px){ .hero{padding-top:3.8rem}.package-card.featured{transform:none}.sticky-side{position:static}.topbar .topbar-extra{display:none}.hero-overlay-primary{left:16px;bottom:110px;max-width:220px}.hero-overlay-secondary{right:16px;bottom:-20px;max-width:235px}.metrics-panel{padding:1.4rem}.floating-whatsapp-tooltip{display:none} }
@media (max-width:575.98px){ .section{padding:3.6rem 0}.cta-panel{padding:2rem 1.35rem}.display-title{font-size:2.85rem}.navbar-brand img{width:112px}.hero-art{margin-top:1rem;min-height:350px}.hero-mini-point{padding:.8rem .9rem}.hero-overlay-primary{left:14px;right:14px;bottom:125px;max-width:none}.hero-overlay-secondary{position:relative;right:auto;bottom:auto;left:auto;margin:-18px 14px 0;max-width:none}.hero-overlay-secondary img{width:82px;height:82px}.feature-photo{height:330px}.form-panel{padding:1.25rem}.metric-number{font-size:2rem}.metrics-panel{border-radius:1.4rem;padding:1.1rem} }
