:root {
  --navy: #2b0a0f;
  --blue: #d80621;
  --teal: #d80621;
  --gold: #a6192e;
  --cream: #fff5f5;
  --mist: #fce7e9;
  --paper: #ffffff;
  --ink: #000000;
  --muted: #353535;
  --line: #efd4d8;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(166, 25, 46, 0.14);
  --brand-blue: #123b98;
  --brand-yellow: #f2ca00;
}

body {
  background: #ffffff;
}

.review-bar {
  background: #123b98;
  color: #ffffff;
}

.site-header {
  height: 108px;
  background: #eaf1ff;
  border-bottom: 3px solid var(--brand-yellow);
}

.site-header .brand {
  gap: 0;
}

.site-header .brand img {
  width: 150px;
  height: 106px;
  border-radius: 18px;
}

.site-header .brand span {
  display: none;
}

.footer-brand .brand img {
  width: 170px;
  height: 126px;
  padding: 7px;
  border-radius: 20px;
  /*background: rgba(255, 255, 255, 0.96);*/
}

.footer-brand .brand span {
  display: none;
}

.brand small,
.desktop-nav > a:not(.button):hover,
.eyebrow,
.text-link span,
.map-card span,
.compass span,
.chooser-grid span,
.chooser-grid > a:hover h3,
.quote-mark,
.faq-list summary span,
.route-line,
.service-directory-card > span,
.service-directory-card b,
.detail-list span,
.contact-cards article > span,
.resource-grid article > span {
  color: var(--teal);
}

.button {
  background: #123b98;
  box-shadow: 0 13px 28px rgba(216, 6, 33, 0.24);
}

.button:hover {
  background: #123b98;
  box-shadow: 0 18px 34px rgba(166, 25, 46, 0.28);
}

.button-light,
.button-light:hover {
  background: #ffffff;
  color: #8b0d23 !important;
  box-shadow: none;
}

.button-outline {
  border-color: #d80621;
  background: #ffffff;
}

.hero {
  background: #ffffff;
}

.hero-glow {
  background: #d80621;
  box-shadow: 0 50px 90px rgba(166, 25, 46, 0.22);
}

.canada-flag-card {
  position: absolute;
  top: 14%;
  right: 14%;
  left: auto;
  bottom: auto;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 225px;
  padding: 0.72rem 1rem;
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: var(--shadow);
  transform: none;
}

.canada-flag {
  position: relative;
  display: grid;
  place-items: center;
  width: 78px;
  height: 48px;
  overflow: hidden;
  border: 1px solid #ecd6d9;
  background: #ffffff;
}

.canada-flag::before,
.canada-flag::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 18px;
  background: #d80621;
}

.canada-flag::before { left: 0; }
.canada-flag::after { right: 0; }
.canada-flag i {
  width: 31px;
  height: 35px;
  background: #d80621;
  clip-path: polygon(50% 0, 57% 18%, 70% 11%, 66% 30%, 84% 24%, 75% 43%, 95% 48%, 72% 58%, 78% 76%, 56% 70%, 54% 100%, 46% 100%, 44% 70%, 22% 76%, 28% 58%, 5% 48%, 25% 43%, 16% 24%, 34% 30%, 30% 11%, 43% 18%);
}
.canada-flag-small { width: 54px; height: 34px; flex: 0 0 auto; border-radius: 3px; }
.canada-flag-small::before, .canada-flag-small::after { width: 12px; }
.canada-flag-small i { width: 21px; height: 24px; }
.canada-flag-card small { display: block; color: #d80621; font-size: 0.56rem; font-weight: 900; letter-spacing: 0.12em; }
.canada-flag-card b { display: block; margin-top: 0.1rem; color: var(--navy); font: 500 1.55rem Georgia, serif; }

.compass::before,
.compass::after,
.route-line i {
  background: #e8b3bc;
}

.pathway-strip {
  background: #8b0d23;
}

.pathway-strip > a > span,
.pathway-strip > a > b,
.assessment-callout .eyebrow,
.assessment-orbit b,
.professional-section aside > span,
.cta-band .eyebrow,
.site-footer h2 {
  color: #ffffff;
}

.pathway-strip p {
  color: #f7dfe3;
}

.why-section,
.professional-section,
.content-split,
.service-intro,
.detail-layout,
.form-layout,
.resource-grid {
  background: #fffdfc;
}

.promise,
.visa-chooser,
.faq-preview,
.faq-page,
.contact-cards {
  background: var(--cream);
}

.chooser-grid,
.chooser-grid > a,
.faq-list,
.faq-list details {
  border-color: var(--line);
}

.assessment-callout {
  background: #d80621;
}

.assessment-callout p:not(.eyebrow) {
  color: #ffffff;
}

.assessment-orbit span {
  color: #ffffff;
}

.assessment-orbit .canada-flag i {
  position: static;
  border: 0;
  border-radius: 0;
}

.assessment-orbit b {
  bottom: 12px;
  color: #ffffff;
  font-size: 0.5rem;
  letter-spacing: 0.16em;
}

.numbers-band {
  background: #a6192e;
}

.numbers-band span {
  color: #ffffff;
}

.professional-card,
.service-directory-card {
  background: #fff7f7;
}

.professional-section {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  gap: 2rem;
  border-top: 1px solid #e1e6f2;
  border-bottom: 1px solid #e1e6f2;
  background: linear-gradient(90deg, rgba(18, 59, 152, 0.035), transparent 32%, rgba(242, 202, 0, 0.035)), #fffdfc;
}

.professional-card {
  position: relative;
  grid-template-columns: minmax(285px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.4rem);
  border-color: #d6def3;
  background: linear-gradient(135deg, rgba(16, 58, 150, 0.07), transparent 42%), #ffffff;
  box-shadow: 0 22px 60px rgba(17, 47, 113, 0.11);
}

.professional-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 7px;
  background: linear-gradient(90deg, #123b98 0 78%, #f2ca00 78% 100%);
}

.professional-visuals {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.professional-copy .eyebrow {
  color: #123b98;
}

.professional-copy h2 {
  max-width: 560px;
  font-size: clamp(2.35rem, 3.5vw, 3.65rem);
  line-height: 1.02;
}

.professional-copy > p:not(.eyebrow) {
  max-width: 620px;
  color: #53657f;
  font-size: 0.94rem;
}

.consultant-photo,
.profile-photo {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 7px solid #fff;
  border-radius: 72px 72px 24px 24px;
  box-shadow: 0 18px 42px rgba(18, 59, 152, 0.18);
}

.professional-visuals .consultant-photo { width: 165px; height: 220px; border-color: #ffffff; outline: 3px solid #f2ca00; outline-offset: 3px; }

.consultant-photo img,
.profile-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
}

.consultant-photo span {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  background: #123b98;
  border-bottom: 3px solid #f2ca00;
  color: #fff;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.iccrc-logo-card {
  display: grid;
  justify-items: center;
  gap: 0.55rem;
  padding: 0.8rem;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #ffffff;
  border-color: #d6def3;
  box-shadow: 0 18px 42px rgba(18, 59, 152, 0.12);
}

.iccrc-logo-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.iccrc-logo-card small {
  color: #123b98;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.credential-seal,
.service-monogram,
.profile-orb,
.testimonial-grid figcaption > span {
  background: #8b0d23;
}

.credential-seal::before {
  border-color: #ff8ca8;
}

.professional-section aside {
  position: relative;
  overflow: hidden;
  border-top: 7px solid #f2ca00;
  background: #123b98;
  box-shadow: 0 22px 60px rgba(17, 47, 113, 0.18);
}

.professional-section aside p {
  color: #dbe5ff;
}

.section-kicker {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: #ffffff;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
}

.contact-flag { margin-bottom: 0.9rem; }

.cta-band {
  background: #a6192e;
}

.site-footer {
  background: linear-gradient(115deg, #123b98, #072978);
  color: #f2dadd;
}

.footer-brand > p,
.site-footer > div > a:not(.brand) {
  color: #fff;
}

.copyright {
  color: #f2ca00;
}

.page-hero {
  padding: clamp(2.75rem, 3.8vw, 4rem) clamp(1.2rem, 10vw, 11rem);
  border-top: 5px solid var(--brand-yellow);
  background: radial-gradient(circle at 88% 8%, rgba(242,202,0,.16), transparent 23%), linear-gradient(135deg, #ecd7bf, #e6e0cd);
}
.page-hero h1 { max-width: 900px; font-size: clamp(2.65rem, 4.4vw, 4.6rem); }
.page-hero .route-line { margin-bottom: 1.5rem; color: var(--brand-blue); }
.page-hero .route-line i { background: var(--brand-yellow); }
.page-hero .page-lead { max-width: 720px; font-size: 1rem; }

.form-card input,
.form-card select,
.form-card textarea {
  border-color: #d9cae6;
  background: #fffdfd;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
  outline-color: rgba(216, 6, 33, 0.18);
  border-color: var(--teal);
}

.notice,
.profile-review aside {
  border-left-color: #d80621;
}

.verify-chip,
.form-alert {
  background: #fce7e9;
  color: #8b0d23;
}

/* Restored original-site sections */
.review-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
}
.review-contact { display: flex; justify-content: center; align-items: center; gap: 0.65rem; flex-wrap: wrap; }
.review-bar a { color: #ffffff; font-weight: 800; text-decoration: none; }
.review-contact i { width: 3px; height: 3px; border-radius: 50%; background: #ffffff; }
.header-socials { display: flex; align-items: center; gap: 0.35rem; padding-left: 0.75rem; border-left: 1px solid rgba(255,255,255,0.38); }
.header-socials a { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid rgba(255,255,255,0.45); border-radius: 50%; background: rgba(255,255,255,0.08); }
.header-socials a:hover { background: var(--brand-yellow); color: var(--brand-blue); }
.header-socials a:focus-visible { outline: 2px solid var(--brand-yellow); outline-offset: 2px; }
.header-socials svg { width: 14px; height: 14px; fill: currentColor; }
.header-socials a:nth-child(2) svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.header-socials a:nth-child(2) .social-dot { fill: currentColor; stroke: none; }
.desktop-nav > a:not(.button) { font-size: 1rem; font-weight: 800; }
.desktop-nav .button-small { font-size: 0.92rem; }
.testimonial-marquee {
  overflow: hidden;
  margin-top: 3rem;
  padding: 0.4rem 0 1.2rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.testimonial-track { display: flex; width: max-content; transform: translate3d(-33.333333%, 0, 0); animation: testimonials-scroll-right 30s linear -10s infinite both; will-change: transform; }
.testimonial-set { display: flex; flex: none; gap: 1.1rem; padding-right: 1.1rem; }
.testimonial-set figure { display: flex; flex: 0 0 clamp(290px, 31vw, 390px); flex-direction: column; min-height: 270px; margin: 0; padding: 1.8rem; border: 1px solid var(--line); border-radius: 22px; background: #ffffff; box-shadow: 0 12px 35px rgba(8,40,57,.06); }
.testimonial-set blockquote { margin: 1rem 0 1.7rem; color: #405d69; }
.testimonial-set figcaption { display: flex; align-items: center; gap: 0.7rem; margin-top: auto; }
.testimonial-set figcaption > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 800; }
.testimonial-set small { display: block; color: var(--muted); }
@keyframes testimonials-scroll-right { from { transform: translate3d(-33.333333%, 0, 0); } to { transform: translate3d(0, 0, 0); } }
.professional-section aside strong { display: block; margin: 0.25rem 0 1.25rem; color: #ffffff; font-size: 1rem; }
.professional-section aside .button { align-self: flex-start; margin-bottom: 1rem; background: #f2ca00; color: #102c6d !important; box-shadow: none; }
.professional-section aside small { color: #e7edff; line-height: 1.5; }
.consultation-section, .consultation-page, .contact-reviews, .specialty-section, .about-testimonials { background: #fffdfc; }
.consultation-showcase { display: grid; grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; max-width: 1220px; margin: 0 auto; }
.consultation-image { position: relative; min-height: 570px; margin: 0; overflow: hidden; border: 1px solid #e4c8cc; border-radius: 32px; background: #8f1428; box-shadow: 0 26px 65px rgba(96, 13, 31, 0.17); }
.consultation-image::before { content: ""; position: absolute; inset: 18px; z-index: 2; border: 1px solid rgba(255,255,255,0.55); border-radius: 22px; pointer-events: none; }
.consultation-image::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(180deg, transparent, rgba(54, 4, 15, 0.88)); pointer-events: none; }
.consultation-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.consultation-image figcaption { position: absolute; right: 2.2rem; bottom: 2.15rem; left: 2.2rem; z-index: 3; color: #fff; }
.consultation-image figcaption span { display: block; margin-bottom: 0.45rem; color: #ffd9de; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.16em; }
.consultation-image figcaption b { display: block; font: 500 2rem Georgia, serif; }
.consultation-image figcaption small { display: block; margin-top: 0.2rem; color: #fff4f5; font-size: 0.78rem; }
.consultation-copy .section-heading { max-width: 660px; }
.consultation-copy .consultation-grid { grid-template-columns: 1fr; justify-content: stretch; margin-top: 2rem; }
.consultation-copy .consultation-grid article { min-height: 315px; }
.consultation-detail-link { display: inline-block; margin-top: 1.8rem; }
.consultation-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr); gap: clamp(2.5rem, 4vw, 4rem); align-items: center; min-height: 540px; padding: clamp(2.75rem, 3.8vw, 3.75rem) clamp(1.2rem, 8vw, 9rem); background: radial-gradient(circle at 18% 10%, rgba(242,202,0,.16), transparent 24%), linear-gradient(135deg, #fffdf8, #f4f7ff); overflow: hidden; }
.consultation-hero-copy { max-width: 760px; }
.consultation-hero h1 { margin: 0 0 1.1rem; color: var(--ink); font: 500 clamp(2.8rem, 4.2vw, 4.6rem)/0.97 Georgia, serif; letter-spacing: -0.055em; }
.consultation-facts { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.2rem; }
.consultation-facts span { min-width: 130px; padding: 1rem 1.15rem; border: 1px solid #d7dff5; border-radius: 18px; background: rgba(255,255,255,.76); color: #52607f; font-size: 0.73rem; }
.consultation-facts b { display: block; color: #102c6d; font: 500 1.75rem Georgia, serif; }
.consultation-hero-image { position: relative; min-height: 440px; margin: 0; overflow: hidden; border: 8px solid #fff; border-radius: 42px 42px 20px 20px; background: #102c6d; box-shadow: 0 30px 80px rgba(16,44,109,.2); }
.consultation-hero-image::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(180deg, transparent, rgba(5,24,72,.88)); pointer-events: none; }
.consultation-hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.consultation-hero-image figcaption { position: absolute; right: 2rem; bottom: 2rem; left: 2rem; z-index: 2; color: #fff; }
.consultation-hero-image figcaption span { display: block; margin-bottom: 0.45rem; color: #f2ca00; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.16em; }
.consultation-hero-image figcaption b { display: block; font: 500 2rem Georgia, serif; }
.consultation-hero-image figcaption small { display: block; margin-top: 0.35rem; color: #e9efff; }
.consultation-plan { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.72fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.consultation-plan .consultation-grid { justify-content: start; margin-top: 2rem; }
.consultation-plan .consultation-grid article { width: min(100%, 520px); min-height: 330px; }
.consultation-prep { padding: clamp(2rem, 4vw, 3.25rem); border-radius: 30px; background: #102c6d; color: #fff; box-shadow: 0 24px 60px rgba(16,44,109,.18); }
.consultation-prep .eyebrow { color: #f2ca00; }
.consultation-prep h2 { margin: 0 0 1.5rem; font: 500 clamp(2.1rem, 3.8vw, 3.5rem)/1.02 Georgia, serif; }
.consultation-prep ul { margin: 0; padding: 0; list-style: none; }
.consultation-prep li { position: relative; padding: 1rem 0 1rem 2rem; border-top: 1px solid rgba(255,255,255,.18); color: #f4f6ff; }
.consultation-prep li::before { content: "✓"; position: absolute; left: 0; color: #f2ca00; font-weight: 900; }
.consultation-note { margin: 1.5rem 0 0; padding: 1rem; border-radius: 14px; background: rgba(255,255,255,.09); color: #dce5ff; font-size: 0.78rem; }
.consultation-grid { display: grid; grid-template-columns: minmax(0, 520px); justify-content: center; gap: 1rem; margin-top: 3rem; }
.consultation-grid article { position: relative; overflow: hidden; min-height: 360px; padding: 2rem; border: 1px solid var(--line); border-radius: 26px; background: #fff7f7; box-shadow: 0 18px 45px rgba(166, 25, 46, 0.09); }
.consultation-grid article > span, .service-process article > span, .consultation-steps article > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #d80621; color: #fff; font-size: 0.68rem; font-weight: 900; }
.consultation-grid article > p { margin: 1.6rem 0 0.35rem; color: var(--teal); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.consultation-grid h3 { margin: 0; font: 500 1.75rem Georgia, serif; }
.consultation-grid strong { display: block; margin: 1rem 0; color: var(--navy); font: 500 3.4rem Georgia, serif; }
.consultation-grid small { display: block; min-height: 54px; color: var(--muted); }
.consultation-grid .text-link { display: inline-block; margin-top: 1.5rem; }
.consultation-grid .text-link b { color: var(--teal); }
.contact-band { display: grid; grid-template-columns: 2fr 1fr 1.5fr auto; gap: 2rem; align-items: center; padding: 4rem clamp(1.2rem, 8vw, 9rem); background: #fff5f5; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-band h2 { margin: 0; font: 500 clamp(2rem, 3.2vw, 3.5rem)/1.04 Georgia, serif; }
.contact-band address { font-style: normal; }
.contact-band address span, .contact-band > div:not(:first-child) > span { display: block; margin-bottom: 0.45rem; color: var(--teal); font-size: 0.62rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.contact-band address b, .contact-band > div:not(:first-child) > a { display: block; overflow-wrap: anywhere; color: var(--ink); font-size: 0.84rem; text-decoration: none; }
.milestone-band { display: grid; grid-template-columns: repeat(5, 1fr); padding: 2.5rem clamp(1.2rem, 7vw, 8rem); background: #123b98; color: #fff; }
.milestone-band div { padding: 1rem; text-align: center; border-right: 1px solid rgba(255,255,255,0.28); }
.milestone-band div:last-child { border-right: 0; }
.milestone-band strong { display: block; font: 500 clamp(2rem, 4vw, 4rem) Georgia, serif; }
.milestone-band span { color: #fff7f8; font-size: 0.75rem; }
.specialty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; counter-reset: specialty; }
.specialty-grid article { counter-increment: specialty; min-height: 150px; padding: 1.6rem; border: 1px solid var(--line); border-radius: 20px; background: #fff7f7; color: var(--ink); font: 500 1.2rem/1.35 Georgia, serif; }
.specialty-grid article::before { content: counter(specialty, decimal-leading-zero); display: block; margin-bottom: 1rem; color: var(--teal); font: 900 0.66rem Arial, sans-serif; }
.source-note { margin-top: 1.4rem; color: var(--muted); font-size: 0.75rem; }
.pathway-highlights { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 clamp(1.2rem, 8vw, 9rem) clamp(5rem, 9vw, 8rem); background: #fffdfc; }
.pathway-highlights article { min-height: 300px; padding: 2rem; border: 1px solid var(--line); border-right: 0; background: #fff7f7; }
.pathway-highlights article:last-child { border-right: 1px solid var(--line); }
.pathway-highlights article > span { color: var(--teal); font-size: 0.65rem; font-weight: 900; letter-spacing: 0.12em; }
.pathway-highlights h2, .service-process h2, .consultation-steps h2 { font: 500 1.7rem Georgia, serif; }
.pathway-highlights p, .service-process p, .consultation-steps p { color: var(--muted); }
.service-process, .consultation-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 0 clamp(1.2rem, 8vw, 9rem) clamp(5rem, 9vw, 8rem); background: #fffdfc; }
.service-process article, .consultation-steps article { padding: 1.6rem; border: 1px solid var(--line); border-radius: 20px; background: #fff7f7; }
.consultation-steps { grid-template-columns: repeat(3, 1fr); padding-top: 1rem; }
.contact-email { display: block; overflow-wrap: anywhere; color: var(--navy); text-decoration: none; font-size: 0.88rem; font-weight: 800; margin: 0.5rem 0; }
.form-aside .button { margin: 1rem 0; }
.footer-contact p { color: #fff; font-size: 0.82rem; }
.footer-note { color: #ffffff; }
.copyright a { color: #f2ca00; font-weight: 800; text-decoration: none; }
.copyright a:hover { text-decoration: underline; }

/* Logo-blue and yellow accents repeated through the complete homepage. */
.hero .eyebrow,
.why-section .eyebrow,
.visa-chooser .eyebrow,
.testimonials-preview .eyebrow,
.consultation-section .eyebrow,
.contact-band .eyebrow,
.faq-preview .eyebrow { color: var(--brand-blue); }
.hero h1 em { color: var(--brand-blue); background: linear-gradient(transparent 72%, rgba(242,202,0,.72) 72%); }
.hero-glow { background: linear-gradient(145deg, var(--brand-blue) 0 78%, var(--brand-yellow) 78%); box-shadow: 0 50px 90px rgba(18,59,152,.24); }
.pathway-strip { border-top: 7px solid var(--brand-yellow); background: var(--brand-blue); }
.pathway-strip > a > span,
.pathway-strip > a > b { color: var(--brand-yellow); }
.pathway-strip p { color: #dce5ff; }
.value-grid article { position: relative; overflow: hidden; border-top: 4px solid var(--brand-blue); box-shadow: 0 14px 32px rgba(18,59,152,.06); }
.value-grid article:nth-child(2) { border-top-color: var(--brand-yellow); }
.value-grid article > span { background: var(--brand-blue); color: #fff; }
.value-grid article:nth-child(2) > span { background: var(--brand-yellow); color: var(--brand-blue); }
.promise { border-left-color: var(--brand-yellow); background: linear-gradient(90deg, rgba(242,202,0,.16), #fff); }
.visa-chooser { background: linear-gradient(125deg, rgba(242,202,0,.1), transparent 32%), #f5f7ff; }
.chooser-grid { border-top-color: #ccd6f0; }
.chooser-grid > a { border-bottom-color: #ccd6f0; }
.chooser-grid span,
.chooser-grid > a:hover h3 { color: var(--brand-blue); }
.chooser-grid b { color: #c9a400; }
.visa-chooser .button-outline { border-color: var(--brand-blue); color: var(--brand-blue) !important; box-shadow: 7px 7px 0 rgba(242,202,0,.55); }
.assessment-callout { border-top: 8px solid var(--brand-yellow); background: linear-gradient(120deg, #123b98, #071f58); }
.assessment-callout .eyebrow,
.assessment-orbit b { color: var(--brand-yellow); }
.assessment-callout .button-light { background: var(--brand-yellow); color: var(--brand-blue) !important; }
.assessment-orbit { border-color: rgba(242,202,0,.74); }
.testimonials-preview { background: linear-gradient(135deg, #fff 35%, #f3f6ff); }
.testimonial-set figure { border-top: 5px solid var(--brand-yellow); box-shadow: 0 16px 38px rgba(18,59,152,.09); }
.testimonial-set .quote-mark { color: var(--brand-blue); }
.testimonial-set figcaption > span { background: var(--brand-blue); }
.numbers-band { border-top: 7px solid var(--brand-yellow); background: linear-gradient(110deg, #123b98, #071f58); }
.numbers-band strong { color: var(--brand-yellow); }
.numbers-band span { color: #e5ebff; }
.consultation-section { background: radial-gradient(circle at 10% 15%, rgba(242,202,0,.13), transparent 22%), #f6f8ff; }
.consultation-image { border: 7px solid #fff; border-top-color: var(--brand-yellow); background: var(--brand-blue); box-shadow: 0 26px 65px rgba(18,59,152,.18); }
.consultation-image::after { background: linear-gradient(180deg, transparent, rgba(5,24,72,.9)); }
.consultation-image figcaption span { color: var(--brand-yellow); }
.consultation-grid article { border-color: #d6def3; background: #fff; box-shadow: 0 18px 45px rgba(18,59,152,.09); }
.consultation-grid article::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 6px; background: linear-gradient(90deg, var(--brand-blue) 0 78%, var(--brand-yellow) 78%); }
.consultation-grid article > span { background: var(--brand-blue); }
.consultation-grid article > p,
.consultation-grid .text-link b { color: var(--brand-blue); }
.contact-band { border-top: 7px solid var(--brand-yellow); background: linear-gradient(120deg, rgba(242,202,0,.14), transparent 30%), #f3f6ff; }
.contact-band address span,
.contact-band > div:not(:first-child) > span { color: var(--brand-blue); }
.contact-band .button { background: var(--brand-blue); box-shadow: 0 13px 28px rgba(18,59,152,.2); }
.faq-preview { background: linear-gradient(135deg, #f3f6ff, #fffdf7); }
.faq-list { border-top-color: #cbd6ef; }
.faq-list details { border-bottom-color: #cbd6ef; }
.faq-list summary span { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; background: var(--brand-yellow); color: var(--brand-blue); }
.cta-band { border-top: 7px solid var(--brand-yellow); background: linear-gradient(115deg, #e6e0cd, #f2ca00); }
.cta-band .eyebrow { color: #d80621; }
.cta-band .button-light { background: #123b98; color: #ffffff!important; }
.site-footer { border-top: 7px solid var(--brand-yellow); }
.site-footer h2 { color: var(--brand-yellow); }
.footer-socials { display: flex; gap: 0.65rem; margin-top: 1.2rem; }
.footer-socials a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(242, 202, 0, 0.5); border-radius: 50%; background: rgba(255,255,255,0.06); color: #ffffff; transition: transform 180ms ease, background 180ms ease, color 180ms ease; }
.footer-socials a:hover { transform: translateY(-3px); background: var(--brand-yellow); color: var(--brand-blue); }
.footer-socials a:focus-visible { outline: 3px solid var(--brand-yellow); outline-offset: 3px; }
.footer-socials svg { width: 20px; height: 20px; fill: currentColor; }
.footer-socials a:nth-child(2) svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.footer-socials a:nth-child(2) .social-dot { fill: currentColor; stroke: none; }

/* Compact inner-page rhythm: keep sections distinct without oversized blank bands. */
.section {
  padding-top: clamp(3.5rem, 5vw, 5rem);
  padding-bottom: clamp(3.5rem, 5vw, 5rem);
}
.content-split,
.service-intro,
.detail-layout,
.form-layout,
.faq-page {
  gap: clamp(2rem, 4vw, 4rem);
}
.service-intro {
  padding-bottom: clamp(2.25rem, 3vw, 3rem);
}
.service-process,
.consultation-steps,
.principles,
.service-directory,
.pathway-highlights {
  padding-bottom: clamp(3.25rem, 4.5vw, 4.5rem);
}
.contact-cards {
  padding-top: clamp(3.25rem, 4.5vw, 4.5rem);
  padding-bottom: clamp(3.25rem, 4.5vw, 4.5rem);
}
.contact-band,
.cta-band {
  padding-top: clamp(3.25rem, 4vw, 4rem);
  padding-bottom: clamp(3.25rem, 4vw, 4rem);
}
.site-footer {
  padding-top: clamp(3.25rem, 4vw, 4rem);
}
.thank-you {
  padding-top: clamp(5rem, 10vw, 8rem);
  padding-bottom: clamp(5rem, 10vw, 8rem);
}

/* Tighter homepage rhythm: preserve separation without oversized blank bands. */
.why-section,
.testimonials-preview,
.professional-section,
.consultation-section,
.faq-preview {
  padding-top: clamp(3.5rem, 5vw, 5rem);
  padding-bottom: clamp(3.5rem, 5vw, 5rem);
}
.why-section { padding-bottom: clamp(3.5rem, 5vw, 5rem); }
.visa-chooser {
  padding-top: clamp(3.5rem, 5vw, 5rem);
  padding-bottom: clamp(3.5rem, 5vw, 5rem);
}

/* Fluid safeguards shared by every route and viewport. */
img,
video,
svg { max-width: 100%; }
main,
main > *,
.site-header > *,
.site-footer > *,
.content-split > *,
.service-intro > *,
.detail-layout > *,
.form-layout > *,
.faq-page > *,
.consultation-showcase > *,
.consultation-plan > * { min-width: 0; }
h1,
h2,
h3,
p,
a,
address { overflow-wrap: anywhere; }

@media (max-width: 1180px) {
  .site-header { padding-right: 2rem; padding-left: 2rem; }
  .desktop-nav { display: none; }
  .mobile-menu { display: block; position: relative; }
  .mobile-menu summary { cursor: pointer; font-weight: 800; list-style: none; }
  .mobile-menu nav {
    position: absolute;
    top: 42px;
    right: 0;
    width: min(330px, calc(100vw - 2rem));
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--shadow);
  }
  .mobile-menu nav a {
    display: block;
    padding: 0.72rem;
    color: var(--ink);
    font-weight: 700;
    text-decoration: none;
  }
}
@media (max-width: 1120px) {
  .desktop-nav { gap: 0.9rem; }
  .contact-band { grid-template-columns: 1fr 1fr 1fr; }
  .contact-band > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 1000px) {
  .value-grid,
  .testimonial-grid,
  .resource-grid,
  .contact-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .professional-section { grid-template-columns: 1fr; }
  .professional-card { grid-template-columns: minmax(285px, 0.75fr) minmax(0, 1.25fr); }
  .consultation-showcase { grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr); gap: 2.5rem; }
  .consultation-image { min-height: 500px; }
  .consultation-hero { grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr); gap: 2.5rem; }
  .consultation-hero-image { min-height: 470px; }
  .consultation-plan { grid-template-columns: 1fr; }
  .consultation-prep { max-width: 720px; }
  .specialty-grid, .pathway-highlights, .service-process, .consultation-steps { grid-template-columns: repeat(2, 1fr); }
  .milestone-band { grid-template-columns: repeat(3, 1fr); }
  .pathway-highlights article:nth-child(2) { border-right: 1px solid var(--line); }
}
@media (max-width: 720px) {
  .site-header { height: 88px; padding-right: 1rem; padding-left: 1rem; }
  .site-header .brand img { width: 112px; height: 70px; }
  .canada-flag-card { top: 13%; right: 10%; left: auto; bottom: auto; min-width: 175px; padding: 0.55rem 0.7rem; gap: 0.55rem; }
  .canada-flag-card .canada-flag { width: 66px; height: 42px; }
  .canada-flag-card .canada-flag i { width: 25px; height: 29px; }
  .canada-flag-card b { font-size: 1.25rem; }
  .review-bar span, .review-bar i { display: none; }
  .review-bar a { font-size: 0.53rem; }
  .review-contact { flex: 1 1 100%; gap: 0.45rem; }
  .header-socials { padding-left: 0; border-left: 0; }
  .header-socials a { width: 25px; height: 25px; }
  .page-hero { padding: 2.75rem 1.2rem 3rem; }
  .page-hero h1 { font-size: clamp(2.5rem, 12vw, 3.6rem); }
  .value-grid,
  .testimonial-grid,
  .resource-grid,
  .contact-cards { grid-template-columns: 1fr; }
  .section {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
  .service-intro { padding-bottom: 2rem; }
  .service-process,
  .consultation-steps,
  .principles,
  .service-directory,
  .pathway-highlights {
    padding-bottom: 3rem;
  }
  .contact-cards,
  .contact-band,
  .cta-band {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .site-footer { padding-top: 3rem; }
  .thank-you {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
  .why-section,
  .visa-chooser,
  .testimonials-preview,
  .professional-section,
  .consultation-section,
  .faq-preview {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .testimonial-marquee { margin-top: 1.5rem; padding-top: 0.25rem; overflow: hidden; }
  .testimonial-track { animation-duration: 20s; animation-delay: -6.67s; animation-play-state: running; }
  .testimonial-set figure { flex-basis: min(84vw, 330px); min-height: 250px; }
  .consultation-showcase { grid-template-columns: 1fr; gap: 2.5rem; }
  .consultation-image { min-height: 460px; }
  .consultation-image figcaption { right: 1.7rem; bottom: 1.7rem; left: 1.7rem; }
  .consultation-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 3rem; padding-bottom: 3rem; }
  .consultation-hero h1 { font-size: clamp(3rem, 13vw, 4.8rem); }
  .consultation-hero-image { min-height: 420px; }
  .consultation-plan { gap: 2.5rem; }
  .consultation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consultation-facts span { min-width: 0; }
  .consultation-facts span:last-child { grid-column: 1 / -1; }
  .consultation-grid, .specialty-grid, .pathway-highlights, .service-process, .consultation-steps, .contact-band, .milestone-band { grid-template-columns: 1fr; }
  .contact-band > div:first-child { grid-column: auto; }
  .contact-band .button { width: max-content; }
  .milestone-band div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.28); }
  .milestone-band div:last-child { border-bottom: 0; }
  .pathway-highlights article, .pathway-highlights article:nth-child(2) { border-right: 1px solid var(--line); border-bottom: 0; }
  .pathway-highlights article:last-child { border-bottom: 1px solid var(--line); }
  .consultant-photo, .profile-photo { width: 100%; height: 100%; margin: auto; }
  .professional-card { grid-template-columns: 1fr; text-align: center; }
  .professional-visuals { flex-wrap: wrap; }
  .professional-copy h2 { margin-right: auto; margin-left: auto; }
  .iccrc-logo-card { width: 100%; margin: auto; }
  .cta-band .cta-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .cta-band .button,
  .cta-band .ghost-link { width: 100%; text-align: center; }
}
@media (max-width: 480px) {
  .review-bar { gap: 0.3rem; padding-right: 0.7rem; padding-left: 0.7rem; }
  .review-bar a { font-size: 0.5rem; overflow-wrap: anywhere; }
  .site-header .brand img { width: 115px; height: 85px; }
  .mobile-menu nav { width: calc(100vw - 1.4rem); }
  .hero { padding-right: 1rem; padding-left: 1rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button,
  .hero-actions .text-link { width: 100%; text-align: center; }
  .consultation-facts { grid-template-columns: 1fr; }
  .consultation-facts span:last-child { grid-column: auto; }
  .consultation-image { min-height: 400px; border-radius: 24px; }
  .consultation-hero-image { min-height: 370px; border-radius: 28px 28px 18px 18px; }
  .professional-card,
  .consultation-prep,
  .form-card,
  .form-aside,
  .service-aside { border-radius: 20px; }
  .testimonial-set figure { flex-basis: min(84vw, 330px); }
}
@media (prefers-reduced-motion: reduce) {
  .testimonial-track { animation-duration: 48s; animation-delay: -16s; }
}

/*custom -----------------------*/
.testimonial-grid blockquote { 
    text-align: justify;
}
.testimonial-set figure { 
        text-align: justify;
}
p {
    text-align: justify;
}

.page-hero .route-line { 
    display: none;
}

.service-intro33.section {
    /*padding-top: 0px; */
    background-color: #eeeeee;
}
.service-directory{
     background-color: #eeeeee;
}

.service-process33 {
    /*padding-bottom: 0px;*/
}
.consultation-hero { 
    background: radial-gradient(circle at 18% 10%, rgba(242, 202, 0, .16), transparent 24%), linear-gradient(135deg, #efe1c0, #cdcdcd); 
}
.specialty-section33{
    /*padding-top: 0px; */
    padding-bottom: 30px!important;
    background: #e6e0cd;
}
 .principles33 {
    /*padding-bottom: 0px; */
    background: #e6e0cd;
}
 .principles33 article{
    border: 1px solid #acacac;
}
.principles33 article:last-child {
    border-right: 1px solid #acacac;
}
.specialty-grid article { 
    font: 500 1rem / 1.35 Arial, Helvetica, sans-serif;
}
.aboutsecbtn33{
    margin-top: 43px;
}
.contact-band33{
    background: linear-gradient(120deg, rgba(242, 202, 0, .14), transparent 30%), #e6e0cd;
}
.profile-review { 
    background: #e6e6e6;
}
.site-footer .brand-inverse { 
    background-color: #ffffff;
    border-radius: 20px;
}
.cta-actions .ghost-link {
    color: #000000;
}

@media (max-width: 767px) {
.assessment-callout-mob33 p{
  text-align: center;  
}
.homeprofessional-card-mob33 p{
  text-align: center; 
}
.cta-band h2 { 
    padding-bottom: 30px;
}
.why-copy {
    padding-top: 0rem; 
    margin-top: -20px;
}
.faq-preview { 
    gap: 0rem; 
}
.cta-band { 
        text-align: center;
    }
.cta-band .eyebrow { 
    text-align: center;
}
.consultation-section .consultation-detail-link {
    display: block; 
    text-align: center;
}
.aboutdivpara33mob{ 
    margin-top: -40px;
}
.specialty-grid { 
    margin-top: 2rem; 
}
.service-intro {
    grid-template-columns: 1fr;
}
.service-intro>div:last-child { 
    margin-top: -40px;
}
 .service-intro33 {
        padding-bottom: 0rem;
 }
 .service-aside .text-link { 
    text-align: center;
}   
}


/*mob hambrger------*/
  .mobile-menu summary {
    list-style: none;
    cursor: pointer;
}

.mobile-menu summary::-webkit-details-marker {
    display: none;
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.hamburger span {
    display: block;
    width: 28px;
    height: 2px;
    background: #000;
    transition: 0.3s ease;
}


.mobile-menu[open] .hamburger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-menu[open] .hamburger span:nth-child(2) {
    opacity: 0;
}

.mobile-menu[open] .hamburger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/*-------------------*/
.form-layout33{
  background: #e6e6e6;  
}

.contact-cards { 
     background: #fff; 
}

.why-copy {
    padding-top: 0rem; 
}


@media (max-width: 1000px) {
    .site-footer>div:nth-child(4) {
        grid-column: 1;
    }
    .aboutdivpara33mob{ 
    margin-top: -40px;
}
}
