/* Second Professional Blue layout: shared controls and form primitives live in style.css. */
.site-header{max-width:1240px;padding-top:22px;padding-bottom:22px}.section-wrap,footer{max-width:1240px}.site-header .brand{font-size:1.9rem}.site-header .nav-cta{border-radius:30px;padding:11px 19px}.site-header nav{gap:30px}
.hero{display:block;padding-top:70px;position:relative}.hero-copy{text-align:center;max-width:940px;margin:auto}.hero-kicker .keep-together{white-space:nowrap}.hero-kicker{display:inline-block;border:1px solid #dce7fc;border-radius:30px;padding:8px 18px;background:#f5f8ff;font-size:.75rem;letter-spacing:.1em}.hero h1{font-size:clamp(3.4rem,6.9vw,5.9rem);line-height:1.04;letter-spacing:-.055em;margin:29px 0 25px;font-weight:700}.hero-description{max-width:650px;margin:auto;font-size:1.125rem;line-height:1.8}.hero-actions{justify-content:center;gap:14px;margin-top:29px}.hero .button{border-radius:30px;padding:15px 23px}.hero .button.secondary{border-color:#c6d6ed}.hero-byline{margin-top:24px;font-size:.8125rem}.hero-byline strong{font-weight:600}
.entry-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:53px}.entry-path{display:block;border-radius:16px;padding:29px 34px;transition:transform .18s,box-shadow .18s}.entry-path:hover{transform:translateY(-3px);box-shadow:0 10px 28px #10233f12}.consulting-path{background:var(--ink);color:white;border:1px solid var(--ink)}.learning-path{background:var(--surface);border:1px solid #dce7fb}.path-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;font-weight:600;letter-spacing:.09em}.path-top>span:last-child{font-size:24px;line-height:1;font-weight:400}.consulting-path .path-top{color:#b6ceff}.learning-path .path-top{color:var(--blue)}.entry-path h2{font-size:1.85rem;font-weight:600;line-height:1.2;letter-spacing:-.03em;margin:19px 0 12px}.entry-path p{font-size:.9375rem;line-height:1.8;margin:0;color:var(--muted)}.consulting-path p{color:#c9d6e9}.path-link{display:flex;align-items:center;gap:15px;font-size:.875rem;font-weight:600;margin-top:23px}.consulting-path .path-link{color:white}.learning-path .path-link{color:var(--blue)}.capabilities-strip{margin-top:35px;border-top:0;font-size:.875rem;padding:0 0 30px;gap:20px}.strip-caption{font-size:.75rem}
.expertise{padding-top:76px;padding-bottom:64px}.section-heading{margin-bottom:32px;align-items:flex-end}.section-heading h2,.learning-header h2{font-size:clamp(2.4rem,4.2vw,3.4rem);line-height:1.1;letter-spacing:-.045em;font-weight:600;margin:18px 0 0}.section-heading>p{max-width:340px;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{border:1px solid var(--line);border-radius:12px;padding:25px;display:flex;flex-direction:column;background:white}.service-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}.service-card .service-number{margin:0;font-size:.875rem;color:var(--blue);font-weight:600}.service-category{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.service-card h3{font-size:1.4rem;line-height:1.28;letter-spacing:-.025em;font-weight:600;margin:24px 0 15px}.service-card>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0 0 22px}.service-card .tags{margin-top:auto;gap:6px}.service-card .tags span{font-size:.75rem;padding:5px 8px;background:#f8faff}.service-card .text-button{border-top:1px solid var(--line);padding-top:20px;margin-top:23px;justify-content:space-between;width:100%;font-size:.875rem}.review-offer{margin:25px 0 0;grid-template-columns:.95fr 1fr;gap:55px;padding:33px 36px;border:0;border-radius:12px;background:var(--surface)}.review-intro h3{font-size:1.875rem}.review-intro .eyebrow{font-size:.75rem}.review-intro>p:not(.eyebrow){margin:16px 0 8px}.review-deliverables>div{padding:13px 0}.review-deliverables>div:first-child{padding-top:0}.review-deliverables strong{font-size:.9375rem}.review-deliverables small{font-size:.875rem}
.training-panel{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;margin-top:76px;padding:66px 0 0;grid-template-columns:.85fr 1.15fr;gap:34px 38px;align-items:start}.learning-header{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:9px}.learning-header>p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:360px;margin:0}.training-intro{background:var(--ink);border-radius:14px;padding:32px;color:white}.training-intro>.eyebrow{color:#adc9ff}.training-intro h3{font-size:2.3rem;line-height:1.12;letter-spacing:-.035em;margin:22px 0}.training-intro>p:not(.eyebrow):not(.training-note){color:#c9d6e9;font-size:1rem;line-height:1.85}.training-format{margin:22px 0}.training-format span{background:#1d3556;color:#d9e7ff;border-color:#3b5274;font-size:.75rem}.learning-start{border-left-color:#679bf6;margin-bottom:25px;padding-left:14px;gap:10px}.learning-start>span{display:none}.learning-start p{color:#c9d6e9;font-size:.875rem}.learning-start strong{color:white}.training-links{flex-direction:column;align-items:flex-start;gap:16px}.training-button{background:var(--blue);color:white;width:100%;justify-content:space-between;border-color:#6d9df7}.training-button:hover{background:#1d4ed8}.course-link{color:#c3d8ff;border-color:#7c9bc9}.course-link:hover{color:white;border-color:white}.training-intro .training-note{font-size:.8125rem;color:#c9d6e9;margin-top:19px}.team-training{margin-top:25px;padding-top:22px;border-top:1px solid #344c6f}.team-training p{color:#c9d6e9}.team-training strong{color:white}.team-training .text-button{color:#c3d8ff;margin-top:6px}.training-intro :is(a,button):focus-visible{outline-color:#b6d0ff}.training-curriculum{padding:12px 0 0}.training-curriculum>.eyebrow{margin:0 0 22px}.course-module{border:1px solid var(--line);border-radius:10px;margin-bottom:12px;background:white}.course-module summary{padding:19px;grid-template-columns:28px 1fr 20px;gap:13px;font-size:.9375rem;font-weight:600}.course-module[open]{background:#f6f9ff;border-color:#bed2f9}.module-number{color:var(--blue);font-size:.75rem;margin-top:4px}.module-content{padding:0 21px 22px 60px;font-size:1rem;line-height:1.8}.module-note{margin-top:20px}.training-practical{grid-template-columns:.85fr 1.15fr;gap:38px;border:0;border-radius:12px;background:#f5f8ff;padding:30px;align-items:start}.practical-intro h4{font-size:1.75rem}.practical-intro>p:last-child{max-width:320px}.training-question summary{font-size:.9375rem;font-weight:500}.training-question:first-child summary{padding-top:0}.training-question p{font-size:.9375rem}.learner-portal{background:white;border:1px solid var(--line);border-radius:10px;padding:23px 28px;flex-direction:row;align-items:center}.learner-portal p{max-width:510px}.learner-portal>a{max-width:280px;flex-shrink:1}
.about-panel{grid-template-columns:.9fr 1.1fr;background:white;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:31px 0;margin-top:55px;gap:35px}.monogram{width:72px;height:72px;border-radius:50%;font-size:1.3rem;background:var(--surface);color:var(--blue)}.about-name .eyebrow{font-size:.75rem;letter-spacing:.075em}.about-copy .about-note{color:var(--blue)}
.contact{background:#eff5ff;color:var(--ink)}.contact-inner{grid-template-columns:.8fr 1.2fr;gap:72px;padding-top:65px;padding-bottom:65px;align-items:start}.contact .eyebrow{color:var(--blue)}.contact h2{font-size:clamp(2.75rem,4.5vw,3.7rem);line-height:1.1;letter-spacing:-.045em;margin:22px 0}.contact .heading-accent{color:var(--blue)}.contact-copy>p:not(.eyebrow){color:var(--muted)}.contact-steps{gap:16px}.contact-steps>span{color:var(--blue)}.contact-steps b{color:var(--ink);font-size:.9375rem}.contact-location{color:var(--muted);margin-top:34px}.contact-email{color:var(--blue);border-color:#b2c9f6;gap:16px}.contact-email:hover{color:var(--hover)}.contact-copy .timezone-note{color:var(--muted)}.enquiry-card{border:1px solid #dce6f6;box-shadow:0 10px 40px #10233f05;border-radius:14px;padding:32px}.form-heading h3{font-size:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:15px}.field label{font-size:.875rem}.form-submit{border-radius:6px}.footer-inner{gap:25px}footer{padding-top:32px}.footer-bottom{font-size:.75rem}
@media(max-width:1100px){.hero{padding-top:57px}.hero h1{font-size:clamp(3.4rem,7vw,5rem)}.entry-path{padding:26px 29px}.entry-path h2{font-size:1.7rem}.service-card{padding:22px}.service-card h3{font-size:1.3rem}.service-card .text-button{gap:10px}.review-offer{gap:36px;padding:30px}.training-panel{grid-template-columns:.9fr 1.1fr;gap:30px}.training-intro{padding:26px}.training-practical{gap:30px}.contact-inner{gap:40px}.enquiry-card{padding:27px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:900px){.site-header nav{gap:22px}.hero h1{font-size:clamp(3.3rem,7.4vw,4.5rem)}.hero-byline span{margin:0}.capabilities-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:15px 23px;margin-top:29px}.strip-caption{width:100%;text-align:center}.section-heading h2,.learning-header h2{font-size:2.8rem}.service-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:1fr 1.2fr;gap:0 28px;padding:26px}.service-card-top{grid-column:1/-1;padding-bottom:15px}.service-card h3{font-size:1.5rem;margin:21px 0 15px}.service-card>p{margin:20px 0 15px}.service-card .tags{margin-top:0;align-self:start}.service-card .text-button{grid-column:2;margin:0;padding:10px 0;border:0}.learning-header{display:block}.learning-header>p{max-width:600px;margin-top:22px}.training-panel{grid-template-columns:1fr 1fr;gap:27px}.training-intro h3{font-size:2.1rem}.training-curriculum{padding-top:0}.course-module summary{padding:17px 15px;grid-template-columns:20px 1fr 17px;gap:10px}.module-content{padding:0 16px 19px;font-size:.9375rem}.training-practical{grid-template-columns:1fr;gap:25px}.practical-intro>p:last-child{max-width:500px}.learner-portal{align-items:flex-start;flex-direction:column;gap:17px}.about-panel{grid-template-columns:1fr;gap:24px}.contact-inner{grid-template-columns:1fr 1fr;gap:30px}.contact h2{font-size:2.85rem}.footer-inner{flex-wrap:wrap}}
@media(max-width:680px){.site-header{padding-top:22px;padding-bottom:18px;gap:18px}.site-header nav{gap:18px}.site-header .nav-cta{border-radius:24px;padding:10px 13px}.hero{padding-top:36px}.hero-kicker{font-size:.75rem;padding:7px 11px;letter-spacing:.045em;max-width:100%}.hero h1{font-size:clamp(2.8rem,10.9vw,4rem);letter-spacing:-.052em;line-height:1.06;margin:25px 0 23px}.hero-description{font-size:1rem;line-height:1.85}.hero-actions{flex-direction:column;align-items:stretch;max-width:300px;margin:27px auto 0;gap:12px}.hero .button{padding:14px 20px;justify-content:space-between}.hero-byline{font-size:.8125rem;max-width:270px;margin:23px auto 0}.entry-paths{grid-template-columns:1fr;gap:14px;margin-top:34px}.entry-path{padding:24px 25px;border-radius:13px}.entry-path h2{font-size:1.8rem;margin:18px 0 12px}.entry-path h2 br{display:none}.entry-path p{font-size:1rem}.path-link{margin-top:20px}.capabilities-strip{display:grid;grid-template-columns:1fr 1fr;justify-content:initial;gap:16px;text-align:left;padding-bottom:25px;margin-top:28px}.strip-caption{grid-column:1/-1;text-align:left}.expertise{padding-top:50px;padding-bottom:44px}.section-heading{margin-bottom:25px}.section-heading h2,.learning-header h2{font-size:2.4rem}.section-heading>p{max-width:none;margin-top:20px}.service-card{display:flex;gap:0;padding:25px}.service-card-top{width:100%}.service-card h3{font-size:1.5rem;margin:21px 0 14px}.service-card>p{margin:0 0 20px}.service-card .tags{margin-top:0}.service-card .text-button{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.review-offer{grid-template-columns:1fr;padding:27px 24px;gap:25px;margin-top:20px}.review-intro h3{font-size:1.875rem}.training-panel{grid-template-columns:1fr;margin-top:50px;padding-top:46px;gap:26px}.learning-header{margin-bottom:0}.learning-header>p{margin-top:20px}.training-intro{padding:28px 25px}.training-intro h3{font-size:2.3rem}.training-format{gap:8px}.training-links{flex-direction:column;align-items:stretch}.course-link{align-self:flex-start}.training-curriculum{padding-top:5px}.training-curriculum>.eyebrow{margin-bottom:17px}.course-module summary{grid-template-columns:23px 1fr 18px;padding:19px 17px;font-size:.9375rem;gap:10px}.module-content{padding:0 18px 23px;font-size:1rem}.training-practical{padding:26px 24px;gap:25px}.training-question:first-child summary{padding-top:0}.learner-portal{padding:22px 24px}.about-panel{margin-top:35px;padding:28px 0;gap:20px}.about-name{flex-wrap:nowrap;gap:17px}.monogram{width:56px;height:56px;font-size:1.1rem}.about-name .eyebrow{font-size:.75rem;letter-spacing:.035em}.about-name h3{font-size:1.25rem}.about-name p:last-child{font-size:.875rem}.contact-inner{grid-template-columns:1fr;gap:30px;padding-top:46px;padding-bottom:42px}.contact h2{font-size:2.85rem}.contact-copy>p:not(.eyebrow){max-width:450px}.contact-steps{margin-top:25px}.contact-location{margin-top:29px}.contact-email{font-size:1.0625rem}.enquiry-card{padding:26px 22px}.form-heading h3{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{gap:18px}.footer-inner>div{gap:17px}.footer-bottom{flex-direction:column;gap:10px}}
@media(max-width:360px){.site-header nav{gap:12px}.site-header .nav-cta{gap:8px;padding:10px}.hero h1{font-size:2.7rem}.hero-kicker{font-size:.75rem}.entry-path{padding:23px 21px}.entry-path h2{font-size:1.65rem}.service-card{padding:23px 21px}.training-intro{padding:26px 22px}.training-practical,.learner-portal{padding:24px 21px}.about-name{flex-wrap:wrap}.contact-email{gap:12px}}
@media(prefers-reduced-motion:reduce){.entry-path{transition:none}.entry-path:hover{transform:none}}

/* Home navigation and the floating return-to-top control. */
.site-header nav { flex-wrap: wrap; row-gap: 8px; }
.back-to-top {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 10;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 84px;
  min-height: 48px;
  padding: 10px 17px;
  border: 1px solid #ffffff70;
  border-radius: 28px;
  background: var(--blue);
  color: white;
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: 0 4px 18px #10233f26;
}
.back-to-top > span[aria-hidden] { font-size: 1.4rem; line-height: 1; }
.back-to-top:hover { background: var(--hover); }
.back-to-top[hidden] { display: none; }
.modal-open .back-to-top { visibility: hidden; pointer-events: none; }
@media (max-width: 900px) {
  .site-header { flex-wrap: wrap; }
  .site-header nav { gap: 8px 20px; }
}
@media (max-width: 680px) {
  .site-header nav {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, auto);
    justify-content: space-between;
    gap: 8px 12px;
  }
  .site-header .nav-cta { grid-column: 1 / -1; justify-content: center; margin-top: 4px; }
  .back-to-top {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

/* Student feedback: genuine learner stories are added after permission to publish. */
.student-feedback {
  margin-top: 64px;
  padding: 42px;
  border: 1px solid #ccdcfb;
  border-radius: 16px;
  background: #f3f7ff;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 42px;
  align-items: start;
}
.feedback-heading h2 {
  font-size: clamp(2rem, 3.1vw, 2.65rem);
  line-height: 1.14;
  letter-spacing: -.04em;
  font-weight: 600;
  margin: 19px 0 20px;
}
.feedback-heading > p:last-child {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
  margin: 0;
}
.feedback-invitation {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  background: white;
}
.feedback-status {
  margin: 0 0 19px;
  font-size: .875rem;
  font-weight: 500;
  color: var(--blue);
}
.feedback-invitation h3 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.025em;
  margin: 0 0 15px;
}
.feedback-invitation > p:not(.feedback-status) {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.85;
}
.feedback-share { margin-top: 23px; }
.feedback-invitation > p.feedback-note {
  font-size: .875rem;
  line-height: 1.8;
  margin-top: 18px;
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .student-feedback { grid-template-columns: 1fr; gap: 28px; padding: 32px; }
}
@media (max-width: 680px) {
  .student-feedback { padding: 26px 20px; margin-top: 42px; gap: 25px; }
  .feedback-heading h2 { font-size: 2rem; }
  .feedback-heading > p:last-child br { display: none; }
  .feedback-invitation { padding: 23px 20px; }
  .feedback-share { width: 100%; gap: 12px; justify-content: space-between; }
}

/* Cambrila brand update: persistent navigation, feedback cards and footer. */
:root { --header-height: 80px; }
html { scroll-padding-top: calc(var(--header-height) + 20px); }
.skip-link { z-index: 100; }
.site-header-shell { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 3px 16px #10233f08; }
.site-header { width: 100%; min-height: 76px; padding-top: 14px; padding-bottom: 14px; border: 0; flex-wrap: nowrap; }
.site-header nav { display: flex; flex-wrap: nowrap; width: auto; gap: 22px; }
.site-header nav > a { white-space: nowrap; }
.site-header .brand { flex-shrink: 0; }
.menu-toggle { display: none; align-items: center; gap: 12px; min-height: 44px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 7px; background: white; color: var(--ink); font-size: .875rem; font-weight: 600; }
.menu-toggle > span[aria-hidden] { font-size: 20px; line-height: 1; }
.contact-addresses { display: grid; gap: 10px; margin-top: 28px; }
.contact-addresses a { display: block; padding: 12px 16px; border: 1px solid #c6d9fc; border-radius: 8px; background: #ffffffb3; }
.contact-addresses a:hover { border-color: var(--blue); background: white; }
.contact-addresses span { display: block; color: var(--muted); font-size: .875rem; }
.contact-addresses strong { display: block; font-size: 1rem; color: var(--blue); font-weight: 600; overflow-wrap: anywhere; }
.student-feedback { grid-template-columns: 1fr; gap: 28px; }
.feedback-heading > p:last-child { max-width: 620px; }
.feedback-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 20px; }
.testimonial-card { min-width: 0; background: white; padding: 28px; border: 1px solid #cbdcf9; border-radius: 12px; display: flex; flex-direction: column; }
.testimonial-placeholder { border-style: dashed; }
.testimonial-label { color: var(--blue); font-size: .875rem; font-weight: 600; margin: 0 0 18px; }
.testimonial-comment { font-size: 1.0625rem; line-height: 1.8; color: var(--ink); margin: 0 0 25px; max-width: 70ch; white-space: pre-line; overflow-wrap: anywhere; }
.testimonial-person { display: flex; align-items: center; gap: 13px; margin-top: auto; }
.testimonial-initial { width: 42px; height: 42px; border-radius: 50%; background: #eaf1ff; color: var(--blue); display: grid; place-items: center; flex-shrink: 0; font-weight: 600; }
.testimonial-person h3 { margin: 0; font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.testimonial-person p { margin: 2px 0 0; color: var(--muted); font-size: .875rem; overflow-wrap: anywhere; }
.feedback-invitation { background: transparent; border: 0; border-top: 1px solid #ccdcfb; border-radius: 0; padding: 26px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: start; }
.feedback-invitation h3 { margin-top: 0; }
.feedback-invitation p { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.8; max-width: 620px; }
.feedback-invitation .feedback-share { margin-top: 0; }
.feedback-invitation .feedback-note { font-size: .875rem; margin-top: 13px; max-width: 280px; overflow-wrap: anywhere; }
.site-footer { padding-top: 46px; padding-bottom: 25px; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .8fr 1fr 1.15fr; gap: 32px; }
.footer-brand > p { font-size: .9375rem; line-height: 1.8; color: var(--muted); margin: 18px 0 0; }
.footer-grid h2 { font-size: .9375rem; line-height: 1.5; font-weight: 600; margin: 4px 0 17px; }
.footer-grid nav, .footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.footer-grid nav a, .footer-grid nav button, .footer-contact a { padding: 4px 0; font-size: .875rem; line-height: 1.6; color: var(--muted); }
.footer-grid nav button { border: 0; background: transparent; text-align: left; }
.footer-grid nav a:hover, .footer-grid nav button:hover, .footer-contact a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.footer-contact a { margin-bottom: 8px; overflow-wrap: anywhere; max-width: 100%; }
.footer-contact span { display: block; font-size: .8125rem; font-weight: 500; color: var(--ink); }
.site-footer .footer-bottom { margin-top: 32px; gap: 18px; }
.terms-dialog .close-dialog { position: sticky; top: 0; float: right; }
.terms-dialog section { margin-top: 25px; }
.terms-dialog h3 { font-size: 1.0625rem; line-height: 1.5; margin: 0 0 10px; }
.terms-dialog section p { font-size: 1rem; line-height: 1.85; }
.terms-dialog a { color: var(--blue); text-decoration: underline; overflow-wrap: anywhere; }
.terms-dialog .terms-date { font-size: .875rem; color: var(--muted); }
@media (max-width: 1100px) { .site-header nav { gap: 17px; } .footer-grid { gap: 25px; } }
@media (max-width: 1000px) {
  .site-header { flex-wrap: wrap; justify-content: space-between; min-height: 70px; padding-top: 10px; padding-bottom: 10px; gap: 0 20px; }
  .menu-toggle { display: inline-flex; }
  .site-header #primary-navigation { display: none; }
  .site-header.menu-open #primary-navigation { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; padding-top: 14px; padding-bottom: 9px; }
  .site-header nav > a:not(.nav-cta) { padding: 9px 0; }
  .site-header .nav-cta { grid-column: 1 / -1; justify-content: center; margin-top: 6px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 35px; }
  .feedback-invitation { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 680px) {
  .site-header { min-height: 68px; padding-top: 9px; padding-bottom: 9px; }
  .site-header .brand { font-size: 1.75rem; }
  .site-header nav > a { font-size: .875rem; }
  .student-feedback { padding: 26px 20px; }
  .testimonial-card { padding: 23px 20px; }
  .testimonial-comment { font-size: 1rem; }
  .feedback-invitation { padding-top: 23px; }
  .feedback-invitation h3 { font-size: 1.25rem; }
  .feedback-invitation .feedback-share { width: auto; }
  .site-footer { padding-top: 35px; }
  .footer-grid { gap: 27px 20px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-grid nav a, .footer-grid nav button { min-height: 40px; display: inline-flex; align-items: center; }
}

/* Search landing pages use the same Cambrila visual language. */
.service-detail-link { margin: 4px 0 32px; }
.it-services-panel { padding-top: 42px; margin-top: 42px; border-top: 1px solid var(--line); }
.other-it-enquiry { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 25px 28px; margin-top: 20px; background: var(--surface); border-radius: 12px; }
.other-it-enquiry h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.4; margin: 0 0 10px; }
.other-it-enquiry p { color: var(--muted); font-size: 1rem; line-height: 1.8; max-width: 710px; margin: 0; }
.other-it-enquiry .button { flex-shrink: 0; }
@media (max-width: 900px) { .other-it-enquiry { flex-direction: column; align-items: flex-start; gap: 20px; } }
@media (max-width: 680px) { .it-services-panel { padding-top: 32px; margin-top: 32px; } .other-it-enquiry { padding: 25px; } }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 28px; color: var(--muted); font-size: .875rem; }
.breadcrumbs a { color: var(--blue); }
.landing-hero { display: grid; grid-template-columns: 1.35fr .8fr; gap: 64px; align-items: center; padding-top: 64px; padding-bottom: 70px; }
.landing-hero h1 { font-size: clamp(2.5rem, 4.2vw, 3.6rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.12; margin: 22px 0; }
.landing-intro { color: var(--muted); font-size: 1.125rem; line-height: 1.85; max-width: 650px; }
.landing-note { color: var(--muted); font-size: .875rem; line-height: 1.8; margin: 24px 0 0; max-width: 570px; }
.landing-summary { background: #f3f7ff; border: 1px solid #ccdcfb; border-radius: 18px; padding: 32px; }
.landing-summary dl { margin: 8px 0 20px; }
.landing-summary dl > div { padding: 18px 0; border-bottom: 1px solid #ccdcfb; }
.landing-summary dt { font-size: .875rem; color: var(--muted); margin-bottom: 6px; }
.landing-summary dd { font-size: 1rem; line-height: 1.7; font-weight: 500; margin: 0; }
.landing-summary > p:not(.eyebrow) { font-size: .875rem; line-height: 1.8; color: var(--muted); }
.landing-section { padding-top: 54px; padding-bottom: 58px; border-top: 1px solid var(--line); }
.landing-section h2 { font-size: clamp(2rem, 3vw, 2.7rem); line-height: 1.2; font-weight: 600; letter-spacing: -.035em; margin: 20px 0; }
.landing-section p { font-size: 1rem; line-height: 1.85; color: var(--muted); }
.landing-section > p:not(.eyebrow) { max-width: 800px; }
.landing-section .eyebrow { font-size: .875rem; color: var(--blue); }
.landing-section a:not(.button), .landing-faq a { color: var(--blue); text-decoration: underline; text-underline-offset: 4px; }
.curriculum-list { margin-top: 32px; }
.curriculum-list article { display: grid; grid-template-columns: 60px 1fr; padding: 25px 0; gap: 22px; border-top: 1px solid var(--line); }
.curriculum-list article > span { color: var(--blue); font-size: 1rem; padding-top: 3px; }
.curriculum-list h3, .landing-cards h3, .review-sequence h3 { font-size: 1.25rem; line-height: 1.45; font-weight: 600; margin: 0 0 12px; }
.curriculum-list p { max-width: 850px; margin: 0; }
.landing-split { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.landing-faq details { border-bottom: 1px solid var(--line); }
.landing-faq summary { cursor: pointer; font-weight: 600; font-size: 1rem; line-height: 1.7; padding: 20px 25px 20px 0; }
.landing-faq summary:hover { color: var(--blue); }
.landing-faq details p { margin-top: 0; }
.landing-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 35px; }
.landing-cards article { padding: 30px; border: 1px solid var(--line); border-radius: 12px; background: #f8faff; }
.landing-cards p { margin-bottom: 0; }
.review-sequence { padding-left: 24px; margin: 0; }
.review-sequence li { padding: 20px 0 20px 12px; border-bottom: 1px solid var(--line); }
.review-sequence li:first-child { padding-top: 0; }
.review-sequence li::marker { color: var(--blue); }
.review-sequence p { margin-bottom: 0; }
.landing-section p.related-link { border-top: 1px solid var(--line); padding-top: 30px; margin-top: 36px; }
@media (max-width: 900px) {
  .landing-hero { grid-template-columns: 1fr; gap: 34px; padding-top: 44px; padding-bottom: 44px; }
  .landing-summary { max-width: 650px; }
  .landing-split { gap: 36px; }
  .landing-cards { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 680px) {
  .landing-hero h1 { font-size: clamp(2.1rem, 8.5vw, 3rem); }
  .landing-intro { font-size: 1rem; }
  .landing-summary { padding: 25px; }
  .landing-section { padding-top: 36px; padding-bottom: 38px; }
  .landing-split { grid-template-columns: 1fr; gap: 26px; }
  .curriculum-list article { grid-template-columns: 26px 1fr; gap: 12px; }
  .landing-cards article { padding: 25px; }
}

/* Shared logo and wordmark for the header, footer and fallback page. */
.brand { align-items: center; gap: 11px; white-space: nowrap; }
.brand-logo { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
.footer-brand .brand { font-size: 1.75rem; }
.footer-brand .brand-logo { width: 36px; height: 36px; flex-basis: 36px; }
.about-brand-mark { display: block; width: 66px; height: 66px; flex: 0 0 66px; }
@media (max-width: 680px) {
 .brand { gap: 9px; }
 .brand-logo { width: 34px; height: 34px; flex-basis: 34px; }
}
