/* Shared editorial spreads, full photographs and accessible, user-controlled components. */
.hcc-page-visual { height: auto; }
.hcc-page-visual img { height: auto; object-fit: contain; filter: none; }
.hcc-page-visual::after { display: none; }
.hcc-team-editorial, .hcc-capabilities-editorial, .hcc-journal, .hcc-service-story { box-sizing: border-box; max-width: none !important; width: 100%; }
.hcc-page--our-team .hcc-page-content, .hcc-page--capabilities .hcc-page-content, .hcc-page--blog-the-independent-edge .hcc-page-content { max-width: 1440px; }
.hcc-outline-icon { color: #a57852; width: 42px; height: 42px; display: block; }
.hcc-team-editorial h2, .hcc-capabilities-editorial h2, .hcc-journal h2 { border: 0; padding: 0; margin: 0 0 24px; }
.hcc-team-lead, .hcc-capabilities-intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(32px,6vw,88px); }
.hcc-team-lead figure, .hcc-capabilities-intro figure, .hcc-person figure { margin: 0; }
.hcc-team-lead img, .hcc-capabilities-intro img { width: 100%; height: auto; display: block; }
.hcc-team-lead h2 { font-size: clamp(2rem,3.5vw,3.25rem); line-height: 1.12; }
.hcc-team-role { font-size: .82rem; line-height: 1.5 !important; color: #805a3d !important; margin: 12px 0 24px; }
.hcc-team-lead .hcc-intro { font-size: 1.05rem; }
.hcc-section-label { margin-block: 80px 40px; max-width: 720px; }
.hcc-section-label h2 { font-size: clamp(2rem,3vw,2.8rem); line-height: 1.15; }
.hcc-people-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 52px 56px; align-items: start; }
.hcc-person { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1fr); gap: 24px; align-items: start; border-top: 1px solid #c9c2b6; padding-top: 24px; }
.hcc-person img { display: block; width: 100%; height: auto; object-fit: contain; }
.hcc-person h3 { font-size: 1.45rem; line-height: 1.2; margin: 0 !important; }
.hcc-person .hcc-team-role { margin: 10px 0 20px; }
.hcc-bio { border-block: 1px solid #c9c2b6; }
.hcc-bio summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-size: .78rem; padding: 16px 0; list-style: none; }
.hcc-bio summary::-webkit-details-marker { display: none; }
.hcc-bio summary span { font-size: 1.3rem; color: #805a3d; }
.hcc-bio[open] summary span { transform: rotate(45deg); }
.hcc-bio > div { padding-bottom: 16px; font-size: .95rem; overflow-wrap: anywhere; }
.hcc-person:has(details[open]) { grid-column: 1/-1; grid-template-columns: minmax(180px,240px) minmax(0,1fr); max-width: 1040px; }
.hcc-bio p { margin-top: 0; }
.hcc-capabilities-intro { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.hcc-capabilities-intro h2 { font-size: clamp(2.2rem,4vw,3.8rem); line-height: 1.08; }
.hcc-method-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; margin-block: 64px 88px; }
.hcc-method-grid > section { padding-top: 24px; border-top: 1px solid #c9c2b6; }
.hcc-method-grid h3 { font-size: 1.7rem; margin: 16px 0; }
.hcc-method-grid p { font-size: .95rem; }
.hcc-method-grid h3 + p { color: #101d32; font-weight: 600; }
.hcc-method-grid .hcc-eyebrow { margin-top: 24px; }
.hcc-capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 40px; }
.hcc-capability-grid article { padding: 32px 0; border-top: 1px solid #c9c2b6; display: flex; flex-direction: column; align-items: flex-start; }
.hcc-capability-grid h3 { font-size: 1.5rem; line-height: 1.25; margin: 24px 0 8px; }
.hcc-capability-grid p { font-size: .95rem; }
.hcc-capability-grid .hcc-link { margin-top: auto; }
.hcc-story-section { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 56px; padding: 48px 0; border-top: 1px solid #c9c2b6; }
.hcc-story-section h2 { border: 0; padding: 0; margin: 0; font-size: clamp(1.8rem,3vw,2.6rem); }
.hcc-story-body > :first-child { margin-top: 0; }
.hcc-story-body ul { columns: 1 !important; }
.hcc-story-opening .hcc-page-visual { margin-inline: 0 !important; width: 100%; }
.hcc-story-opening > p { max-width: 780px; margin: 24px 0 48px; font-size: 1.1rem; }
.hcc-journal-intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: 48px; margin-bottom: 48px; }
.hcc-journal-intro p { margin: 0; }
.hcc-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 56px 32px; }
.hcc-journal-card { min-width: 0; }
.hcc-journal-card--lead { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 56px; border-block: 1px solid #c9c2b6; padding-block: 32px; margin-bottom: 24px; }
.hcc-journal-image { display: flex; align-items: center; background: #e9e5dd; margin-bottom: 24px; aspect-ratio: 16/10; }
.hcc-journal-image img { width: 100%; height: 100%; object-fit: contain; display: block; }
.hcc-journal-card--lead .hcc-journal-image { margin: 0; aspect-ratio: auto; }
.hcc-journal-card--lead .hcc-journal-image img { height: auto; }
.hcc-journal-card h2 { font-size: 1.6rem; line-height: 1.2; margin: 16px 0; }
.hcc-journal-card--lead h2 { font-size: clamp(1.8rem,3vw,2.7rem); }
.hcc-journal-card h2 a { color: inherit; text-decoration: none; }
.hcc-journal-card p { font-size: .95rem; }
.hcc-article-date { color: #6c716f; font-size: .75rem !important; }
.hcc-article { color: #101d32; }
.hcc-article-header { padding: clamp(40px,6vw,88px) max(24px,calc((100vw - 1344px)/2)); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 56px; align-items: center; border-bottom: 1px solid #c9c2b6; }
.hcc-article-heading > .hcc-eyebrow:first-child { display: inline-block; margin-bottom: 36px; text-decoration: none; }
.hcc-article h1 { font-size: clamp(2rem,3.4vw,3.6rem); line-height: 1.12; letter-spacing: -.035em; margin: 20px 0 28px; }
.hcc-article-header figure { margin: 0; }
.hcc-article-header img { width: 100%; height: auto; display: block; }
.hcc-article-byline { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .75rem; color: #536071; }
.hcc-article-layout { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.7fr); max-width: 1240px; box-sizing: border-box; padding: 64px 48px; margin: auto; gap: 64px; }
.hcc-article-aside { align-self: start; border-top: 1px solid #c9c2b6; padding-top: 16px; }
.hcc-article-aside nav { display: grid; gap: 16px; }
.hcc-article-aside nav a { text-decoration: none; color: #536071; font-size: .85rem; line-height: 1.5; }
.hcc-article-aside > .hcc-link { margin-top: 32px; }
.hcc-article-body { font-size: 1.05rem; line-height: 1.8; min-width: 0; }
.hcc-article-body > :first-child { margin-top: 0; }
.hcc-article-body h2, .hcc-article-body h3 { font-size: clamp(1.5rem,2.5vw,2.2rem); line-height: 1.25; margin: 44px 0 20px; scroll-margin-top: 32px; }
.hcc-article-body p { margin-block: 0 24px; }
.hcc-article-body ul, .hcc-article-body ol { padding-left: 24px; margin-bottom: 24px; }
.hcc-article-body li { margin-block: 12px; }
.hcc-article-body figure { margin: 32px 0; }
.hcc-article-body img { width: 100%; height: auto; display: block; }
.hcc-article-body blockquote { border-left: 2px solid #a57852; margin: 40px 0; padding: 8px 0 8px 24px; font-size: 1.3rem; }
.hcc-article-footer { padding: 56px max(24px,calc((100vw - 1240px)/2)); background: #eee8dc; }
.hcc-article-footer h2 { font-size: 2rem; }
.hcc-next-articles { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.hcc-next-articles a { display: grid; grid-template-columns: 140px 1fr; gap: 24px; align-items: center; text-decoration: none; font-size: 1.1rem; }
.hcc-next-articles img { width: 100%; height: auto; }
.hcc-logo-section { background: #fff; padding: 56px max(24px,calc((100vw - 1344px)/2)); border-top: 1px solid #dedbd4; }
.hcc-logo-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.hcc-logo-heading h2 { font-size: clamp(1.65rem,2.5vw,2.35rem); line-height: 1.2; margin: 12px 0; }
.hcc-logo-heading p:not(.hcc-eyebrow) { color: #536071; font-size: .9rem; }
.hcc-carousel-controls { display: flex; gap: 8px; flex-shrink: 0; }
.hcc-carousel-controls button { background: transparent; border: 1px solid #c9c2b6; width: 44px; height: 44px; color: #101d32; cursor: pointer; font-size: 1.1rem; }
.hcc-carousel-controls button:disabled { opacity: .35; cursor: default; }
.hcc-logo-track { display: flex; gap: 32px; list-style: none; margin: 32px 0 0; padding: 16px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.hcc-logo-track li { flex: 0 0 180px; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; }
.hcc-logo-track img { width: 180px; height: 100px; object-fit: contain; }
/* The services panel spans the viewport; its images retain their complete frames. */
.hcc-main-bar { position: static; }
.hcc-mega { grid-template-columns: .9fr 1fr 1fr 1fr; gap: clamp(24px,3vw,48px); padding: 40px max(32px,calc((100vw - 1440px)/2)); max-height: calc(100svh - 122px); overflow: auto; }
.hcc-mega h2 { color: #f7f3eb; font-size: 1.9rem; line-height: 1.12; }
.hcc-mega .hcc-mega-intro .hcc-link { margin-top: 20px; display: inline-block; height: auto; white-space: normal; line-height: 1.5; }
.hcc-mega a.hcc-mega-feature { display: block; height: auto; padding: 0; white-space: normal; text-transform: none; letter-spacing: 0; }
.hcc-mega-feature img { display: block; width: 100%; height: 180px; object-fit: contain; background: #0a1220; margin-bottom: 20px; }
.hcc-mega-feature span { display: block; font-size: 1.25rem; line-height: 1.3; }
.hcc-mega-feature small { display: block; color: #b8c0cc; font-size: .8rem; line-height: 1.6; margin-top: 12px; }
.hcc-mega-links .hcc-eyebrow { margin-bottom: 16px; }
.hcc-mega-links a { height: auto; min-height: 44px; white-space: normal; line-height: 1.4; }
@media (max-width: 1000px) {
 .hcc-method-grid, .hcc-capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .hcc-people-grid { grid-template-columns: 1fr; }
 .hcc-person { grid-template-columns: 200px 1fr; }
 .hcc-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .hcc-article-layout { padding-inline: 24px; gap: 32px; }
 .hcc-article-header { gap: 32px; }
 .hcc-team-lead { align-items: start; }
}
@media (max-width: 700px) {
 .hcc-team-lead, .hcc-capabilities-intro, .hcc-journal-intro, .hcc-journal-card--lead, .hcc-article-header, .hcc-article-layout, .hcc-story-section { grid-template-columns: 1fr; gap: 28px; }
 .hcc-team-lead figure { max-width: 480px; }
 .hcc-person, .hcc-person:has(details[open]) { grid-template-columns: 108px minmax(0,1fr); gap: 20px; }
 .hcc-person:has(details[open]) .hcc-person-copy { display: contents; }
 .hcc-person:has(details[open]) .hcc-person-copy h3 { grid-column: 2; grid-row: 1; }
 .hcc-person:has(details[open]) .hcc-team-role { grid-column: 1/-1; margin: 0; }
 .hcc-person:has(details[open]) .hcc-bio { grid-column: 1/-1; }
 .hcc-person h3 { font-size: 1.25rem; }
 .hcc-method-grid { gap: 20px; }
 .hcc-method-grid p { font-size: .9rem; }
 .hcc-capability-grid, .hcc-journal-grid, .hcc-next-articles { grid-template-columns: 1fr; }
 .hcc-journal-card--lead { grid-column: auto; }
 .hcc-article-heading > .hcc-eyebrow:first-child { margin-bottom: 20px; }
 .hcc-article-header h1 { font-size: 2.2rem; }
 .hcc-article-aside nav { display: none; }
 .hcc-article-aside > .hcc-link { margin-top: 0; }
 .hcc-article-layout { padding-block: 32px; }
 .hcc-article-body { font-size: 1rem; }
 .hcc-next-articles a { grid-template-columns: 100px 1fr; }
 .hcc-logo-heading { align-items: start; }
 .hcc-logo-heading h2 { font-size: 1.6rem; }
 .hcc-logo-track { gap: 24px; }
 .hcc-logo-track li { flex-basis: 140px; }
 .hcc-logo-track img { width: 140px; height: 85px; }
 .hcc-section-label { margin-top: 56px; }
}

.hcc-article-body .hcc-article-lead { font-size: clamp(1.2rem,2vw,1.5rem); line-height: 1.6; color: #101d32; }
/* Compact inner pages and richer focused service layouts. */
.hcc-page-hero { padding-block: clamp(36px,4vw,56px); }
.hcc-page-hero h1 { font-size: clamp(2.2rem,3.6vw,3.25rem); line-height: 1.08; margin-top: 16px; }
.hcc-page-content { padding-block: clamp(32px,4vw,56px); }
.hcc-page-content h2 { margin-top: 40px; }
.hcc-story-section { padding-block: 32px; gap: 40px; }
.hcc-section-label { margin-block: 48px 28px; }
.hcc-team-lead, .hcc-capabilities-intro { gap: clamp(28px,4vw,56px); }
.hcc-method-grid { margin-block: 40px 56px; }
.hcc-people-grid { gap: 32px 40px; }
.hcc-journal-grid { gap: 40px 28px; }
.hcc-logo-section { padding-block: 36px; }
.hcc-logo-track.is-auto { scroll-snap-type: none; scroll-behavior: auto; }
.hcc-carousel-controls .hcc-carousel-pause { width: auto; min-width: 64px; padding-inline: 12px; font-size: .75rem; }
.hcc-focused-main .wp-block-post-content { margin: 0; }
.hcc-focused-page { color: #101d32; }
.hcc-focus-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); align-items: center; gap: clamp(28px,4vw,64px); padding: 40px max(24px,calc((100vw - 1344px)/2)); background: #eee8dc; }
.hcc-focus-hero figure { margin: 0; }
.hcc-focus-hero img { width: 100%; height: auto; display: block; }
.hcc-focus-copy .hcc-breadcrumbs { color: #536071; font-size: .6rem; margin-bottom: 28px; }
.hcc-focus-copy .hcc-eyebrow { color: #805a3d; }
.hcc-focus-copy h1 { font-size: clamp(2.2rem,3.6vw,3.6rem); line-height: 1.08; letter-spacing: -.03em; margin: 16px 0 24px; }
.hcc-focus-intro { font-size: 1.03rem; color: #536071; line-height: 1.75; margin-bottom: 28px; }
.hcc-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; background: #183b66; color: #fff; font-size: .78rem; line-height: 1.5; letter-spacing: .04em; text-decoration: none; padding: 16px 22px; border: 1px solid #183b66; }
.hcc-action:hover, .hcc-action:focus-visible { background: #101d32; color: #fff; }
.hcc-focus-section, .hcc-focus-contact { padding: 48px max(24px,calc((100vw - 1344px)/2)); }
.hcc-focus-heading { display: grid; grid-template-columns: .6fr 1fr 1fr; align-items: start; gap: 24px; margin-bottom: 28px; }
.hcc-focus-heading h2, .hcc-focus-band h2, .hcc-focus-contact h2 { font-size: clamp(1.8rem,2.7vw,2.6rem); line-height: 1.15; margin: 0 0 20px; }
.hcc-focus-heading p { margin: 0; color: #536071; line-height: 1.7; }
.hcc-focus-heading > .hcc-eyebrow { color: #805a3d; }
.hcc-focus-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.hcc-focus-cards article { border: 1px solid #d9d1c5; padding: 28px; background: #fcfaf6; }
.hcc-focus-cards h3 { font-size: 1.4rem; line-height: 1.25; margin: 24px 0 12px; }
.hcc-focus-cards p { color: #536071; font-size: .95rem; line-height: 1.7; margin: 0; }
.hcc-focus-cards--four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.hcc-focus-band { background: #183b66; color: #f7f3eb; padding: 48px max(24px,calc((100vw - 1240px)/2)); display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.hcc-focus-band h2 { color: inherit; }
.hcc-focus-band p { color: #d2d9e1; line-height: 1.75; }
.hcc-focus-band .hcc-link { color: #f7f3eb; }
.hcc-focus-band .hcc-action { background: #f7f3eb; color: #101d32; margin-top: 16px; }
.hcc-routine > div { display: grid; grid-template-columns: 40px 1fr; gap: 20px; padding-block: 16px; border-top: 1px solid #536071; }
.hcc-routine > div > span { color: #d7b99f; font-size: .9rem; padding-top: 4px; }
.hcc-routine p { margin: 0; font-size: .94rem; }
.hcc-routine strong { display: block; color: #fff; margin-bottom: 4px; font-weight: 400; font-size: 1.15rem; }
.hcc-tutor-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; }
.hcc-tutor-strip article { border-top: 1px solid #c9c2b6; padding-top: 20px; }
.hcc-tutor-strip img { width: 100%; height: 220px; object-fit: contain; object-position: left center; display: block; }
.hcc-tutor-strip h3 { font-size: 1.2rem; margin: 16px 0 8px; }
.hcc-tutor-strip p { font-size: .85rem; color: #536071; margin: 0; }
.hcc-focus-faq details { border-top: 1px solid #536071; padding-block: 18px; }
.hcc-focus-faq summary { cursor: pointer; font-size: 1.15rem; }
.hcc-focus-faq p { font-size: .95rem; margin-bottom: 0; }
.hcc-focus-faq a { color: #fff; overflow-wrap: anywhere; }
.hcc-focus-contact { display: grid; grid-template-columns: .8fr 1.5fr; gap: 64px; }
.hcc-focus-contact > div > p { color: #536071; }
.hcc-contact-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.hcc-contact-panel > div { border-top: 1px solid #c9c2b6; padding-top: 16px; min-width: 0; }
.hcc-contact-panel a { overflow-wrap: anywhere; text-decoration: none; }
.hcc-contact-panel .hcc-eyebrow { margin: 0 0 12px; }
.hcc-contact-panel address, .hcc-footer-contact address { font-style: normal; line-height: 1.8; }
.hcc-social-links { display: flex; gap: 10px; margin-top: 16px; }
.hcc-social-links a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid currentColor; color: inherit; text-decoration: none; }
.hcc-social-links svg { width: 19px; height: 19px; }
.hcc-site-footer { padding-top: 0; }
.hcc-footer-grid { max-width: 1344px; grid-template-columns: 1.1fr 1.1fr .85fr 1fr; gap: 32px; padding-block: 48px; }
.hcc-footer-about .hcc-wordmark { font-size: .95rem; }
.hcc-footer-contact a { display: block; font-size: .85rem; margin-top: 12px; overflow-wrap: anywhere; }
.hcc-footer-contact address { font-size: .9rem; color: #b8c0cc; }
.hcc-footer-newsletter p { font-size: .9rem; color: #b8c0cc; }
.hcc-footer-newsletter .hcc-action { background: #f7f3eb; color: #101d32; margin-top: 8px; }
.hcc-footer-newsletter .hcc-footer-note { font-size: .72rem; }
@media(max-width:1000px) {
 .hcc-focus-cards, .hcc-focus-cards--four, .hcc-tutor-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .hcc-focus-heading { grid-template-columns: 1fr 1fr; }
 .hcc-focus-heading > .hcc-eyebrow { grid-column: 1/-1; }
 .hcc-footer-grid { grid-template-columns: 1fr 1fr; }
 .hcc-focus-contact { grid-template-columns: 1fr; gap: 24px; }
}
@media(max-width:700px) {
 .hcc-focus-hero, .hcc-focus-band, .hcc-focus-heading { grid-template-columns: 1fr; gap: 24px; }
 .hcc-focus-hero { padding-block: 28px; }
 .hcc-focus-copy h1 { font-size: 2.35rem; }
 .hcc-focus-copy .hcc-breadcrumbs { margin-bottom: 20px; }
 .hcc-focus-section, .hcc-focus-band, .hcc-focus-contact { padding-block: 32px; }
 .hcc-focus-cards, .hcc-focus-cards--four { grid-template-columns: 1fr; gap: 16px; }
 .hcc-focus-cards article { padding: 22px; }
 .hcc-contact-panel { grid-template-columns: 1fr; gap: 20px; }
 .hcc-tutor-strip img { height: 180px; }
 .hcc-tutor-strip { gap: 20px; }
 .hcc-footer-grid { grid-template-columns: 1fr; padding-block: 32px; }
 .hcc-logo-heading { flex-wrap: wrap; }
 .hcc-carousel-controls { align-self: end; }
 .hcc-logo-heading h2 { margin-top: 8px; }
}

/* Consistent complete portraits, including leadership and expanded biographies. */
.hcc-team-lead, .hcc-person, .hcc-person:has(details[open]) { grid-template-columns: 200px minmax(0,1fr); }
.hcc-team-lead img, .hcc-person img { width: 200px; height: 250px; object-fit: contain; object-position: center; background: #eee8dc; }
@media(max-width:700px) {
 .hcc-team-lead { grid-template-columns: 1fr; }
 .hcc-person, .hcc-person:has(details[open]) { grid-template-columns: 108px minmax(0,1fr); }
 .hcc-team-lead img, .hcc-person img { width: 108px; height: 135px; }
}

.hcc-home-icon { display:block; width:64px; height:64px; margin:20px 0 24px; fill:none; stroke:#805a3d; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.hcc-home-icon.is-trace-ready path { stroke-dasharray:1; stroke-dashoffset:1; }
.hcc-home-icon.is-drawn path { stroke-dashoffset:0; transition:stroke-dashoffset 2.4s ease; transition-delay:calc(var(--stroke)*220ms); }
.hcc-footer-contact a.hcc-link { display:inline-flex; width:fit-content; }
body.hcc-booking-open { overflow:hidden; }
.hcc-booking-dialog { box-sizing:border-box; width:min(1100px,calc(100vw - 40px)); max-width:none; height:min(850px,calc(100dvh - 40px)); max-height:none; padding:0; border:0; background:#fff; color:#101d32; box-shadow:0 24px 90px #0005; }
.hcc-booking-dialog[open] { display:flex; flex-direction:column; }
.hcc-booking-dialog::backdrop { background:rgba(10,18,32,.72); }
.hcc-booking-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 28px; border-bottom:1px solid #dedbd4; }
.hcc-booking-header .hcc-eyebrow { margin:0 0 6px; }
.hcc-booking-header h2 { margin:0; font:400 1.6rem/1.2 Arial,sans-serif; }
.hcc-booking-header button { flex:0 0 44px; height:44px; padding:0; border:1px solid #c9c2b6; background:transparent; color:#101d32; font-size:28px; cursor:pointer; }
.hcc-booking-dialog iframe { flex:1; min-height:0; width:100%; border:0; background:#fff; }
.hcc-booking-fallback { margin:0; padding:12px 24px; border-top:1px solid #dedbd4; font:400 .75rem/1.5 Arial,sans-serif; }
@media(max-width:600px) {
 .hcc-booking-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); }
 .hcc-booking-header { padding:16px; gap:12px; }
 .hcc-booking-header h2 { font-size:1.2rem; }
 .hcc-booking-header .hcc-eyebrow { font-size:.55rem; }
 .hcc-booking-fallback { padding:10px 16px; }
}
@media(prefers-reduced-motion:reduce) {
 .hcc-home-icon.is-trace-ready path, .hcc-home-icon.is-drawn path { stroke-dashoffset:0; transition:none; }
}

/* One outline icon language for all native content sections. */
.hcc-outline-icon { width:64px; height:64px; margin:0 0 24px; stroke:#805a3d; }
.hcc-stat.is-reveal-ready strong { -webkit-text-stroke:.8px currentColor; color:transparent; -webkit-text-stroke-color:#183b66; clip-path:inset(0 100% 0 0); transform:translateY(12px); }
.hcc-stat.is-revealed strong { clip-path:inset(0); color:#183b66; transform:translateY(0); transition:clip-path .9s ease,transform .9s ease,color .6s ease; transition-delay:calc(var(--stat)*140ms),calc(var(--stat)*140ms),calc(650ms + var(--stat)*140ms); }
.hcc-focus-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-right:2px; }
.hcc-focus-faq summary::-webkit-details-marker { display:none; }
.hcc-focus-faq summary::after { content:''; flex:0 0 9px; height:9px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; margin:0 5px 5px 0; }
.hcc-focus-faq details[open] summary::after { transform:rotate(225deg); margin-top:8px; }
.hcc-person img { width:200px; height:200px; border-radius:50%; object-fit:cover; object-position:50% 25%; }
.hcc-team-lead { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
.hcc-team-lead figure { width:100%; max-width:440px; }
.hcc-team-lead img { width:100%; height:auto; border-radius:0; object-fit:contain; background:transparent; }
.hcc-tutor-strip img { width:180px; height:180px; max-width:100%; border-radius:50%; object-fit:cover; object-position:50% 25%; }
.hcc-newsletter-frame { display:block; width:100%; height:360px; border:0; background:#fff; margin-top:16px; }
.hcc-story-hero { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; padding:56px max(24px,calc((100vw - 1344px)/2)); background:#101d32; color:#fff; }
.hcc-story-hero h1 { color:#fff; font:400 clamp(2.5rem,4.5vw,4.7rem)/1.06 Arial,sans-serif; letter-spacing:-.04em; margin:22px 0; }
.hcc-story-hero .hcc-eyebrow { color:#d7b99f; }
.hcc-story-hero p:not(.hcc-eyebrow) { font-size:1.1rem; color:#d2d9e1; line-height:1.75; }
.hcc-story-hero figure { margin:0; }
.hcc-story-hero img { display:block; width:100%; height:auto; }
.hcc-story-hero .hcc-action { background:#f7f3eb; color:#101d32; margin-top:16px; }
.hcc-story-kicker { display:grid; grid-template-columns:.65fr 1.5fr; gap:64px; padding:56px max(24px,calc((100vw - 1240px)/2)); background:#eee8dc; }
.hcc-story-kicker h2 { font:400 clamp(2rem,3.3vw,3.1rem)/1.15 Arial,sans-serif; margin:0 0 24px; letter-spacing:-.025em; }
.hcc-story-kicker p { color:#536071; line-height:1.8; }
.hcc-story-leader { display:grid; grid-template-columns:.75fr 1.25fr; gap:64px; align-items:center; padding:56px max(24px,calc((100vw - 1240px)/2)); }
.hcc-story-leader img { width:100%; height:auto; display:block; }
.hcc-story-leader h2 { font-size:clamp(2rem,3vw,3rem); line-height:1.15; margin:16px 0 24px; }
.hcc-story-leader p { color:#536071; }
.hcc-story-quote { padding:56px max(24px,calc((100vw - 1100px)/2)); background:#183b66; color:#fff; margin:0; }
.hcc-story-quote blockquote { margin:0; font-size:clamp(1.5rem,2.5vw,2.2rem); line-height:1.5; }
.hcc-story-quote figcaption { color:#d7b99f; font-size:.8rem; margin-top:24px; }
.hcc-legacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.hcc-legacy-grid article { padding:32px; border:1px solid #d9d1c5; background:#fcfaf6; }
.hcc-legacy-grid h3 { font-size:1.6rem; line-height:1.25; margin:24px 0 16px; }
.hcc-award-band { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:64px; background:#183b66; color:#fff; padding:48px max(24px,calc((100vw - 1240px)/2)); }
.hcc-award-band strong { display:block; color:#d7b99f; font-size:clamp(5rem,10vw,9rem); font-weight:400; line-height:1; }
.hcc-award-band h2 { color:#fff; font-size:2.5rem; line-height:1.15; }
.hcc-award-band p { color:#d2d9e1; }
@media(max-width:700px) {
 .hcc-person img { width:108px; height:108px; }
 .hcc-team-lead { grid-template-columns:1fr; }
 .hcc-team-lead figure { max-width:none; }
 .hcc-team-lead img { width:100%; height:auto; }
 .hcc-tutor-strip img { width:140px; height:140px; }
 .hcc-story-hero,.hcc-story-kicker,.hcc-story-leader,.hcc-award-band,.hcc-legacy-grid { grid-template-columns:1fr; gap:28px; }
 .hcc-story-hero,.hcc-story-kicker,.hcc-story-leader,.hcc-story-quote { padding-block:36px; }
 .hcc-story-hero h1 { font-size:2.55rem; }
 .hcc-story-leader img { max-width:440px; }
 .hcc-newsletter-frame { height:350px; }
}
@media(prefers-reduced-motion:reduce) {
 .hcc-stat.is-reveal-ready strong { clip-path:none; transform:none; color:#183b66; transition:none; }
 .hcc-focus-faq summary::after { transition:none; }
}

/* Give the provider's signup form enough width for its complete header and fields. */
.hcc-footer-grid { grid-template-columns:1.2fr 1.2fr 1fr; }
.hcc-footer-newsletter { grid-column:1/-1; display:grid; grid-template-columns:1fr minmax(0,520px); align-items:center; gap:48px; padding-top:32px; border-top:1px solid #354153; }
.hcc-footer-newsletter h2 { font:400 1.8rem/1.2 Arial,sans-serif; text-transform:none; letter-spacing:0; color:#f7f3eb; }
.hcc-footer-newsletter p { max-width:380px; }
.hcc-newsletter-frame { margin:0; height:370px; max-width:400px; justify-self:end; }
@media(max-width:700px) {
 .hcc-footer-grid { grid-template-columns:1fr; }
 .hcc-footer-newsletter { grid-template-columns:1fr; gap:24px; }
 .hcc-newsletter-frame { height:350px; }
}

/* GoDaddy plain embed, integrated into the footer. */
.hcc-footer-newsletter { grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:40px; padding-block:32px 8px; }
.hcc-newsletter-form { width:100%; margin:0; }
.hcc-newsletter-form label { display:block; font-size:.85rem; color:#f7f3eb; margin-bottom:10px; }
.hcc-newsletter-fields { display:flex; border-bottom:1px solid #8995a5; gap:16px; padding-bottom:12px; align-items:center; }
.hcc-newsletter-fields input { min-width:0; width:100%; flex:1; border:0; border-radius:0; padding:12px 0; background:transparent; color:#fff; font:16px Arial,sans-serif; box-shadow:none; }
.hcc-newsletter-fields input::placeholder { color:#b8c0cc; opacity:1; }
.hcc-newsletter-fields button { flex:none; border:0; border-radius:0; padding:12px 0 12px 12px; background:transparent; color:#f7f3eb; font:16px Arial,sans-serif; cursor:pointer; }
.hcc-newsletter-fields button span { padding-left:12px; color:#c98555; }
.hcc-newsletter-fields button:hover { color:#c98555; }
.hcc-newsletter-fields :is(input,button):focus-visible { outline:2px solid #c98555; outline-offset:4px; }
.hcc-newsletter-fields button:disabled { opacity:.7; cursor:default; }
.hcc-newsletter-form .hcc-newsletter-status { min-height:1.5em; max-width:none; margin:12px 0 0; font-size:.8rem; }
.hcc-newsletter-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:781px) { .hcc-footer-newsletter { grid-template-columns:1fr; gap:24px; } .hcc-newsletter-fields { gap:8px; } .hcc-newsletter-fields button { font-size:14px; } }

/* Native hidden markup also protects provider fields before CSS loads. */
.hcc-newsletter-trap[hidden] { display:none!important; }
.hcc-newsletter-fields { gap:8px; padding:6px; border:1px solid #536071; border-radius:12px; background:#101d32; }
.hcc-newsletter-fields input { padding:12px 10px; background:transparent; }
.hcc-newsletter-fields button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 18px; min-height:48px; border-radius:8px; background:#f7f3eb; color:#101d32; font:600 14px/1 Arial,sans-serif; transition:background .2s ease,color .2s ease; }
.hcc-newsletter-fields button:hover { background:#c98555; color:#101d32; }
.hcc-newsletter-fields button svg { flex:none; }
.hcc-newsletter-form .hcc-newsletter-status:empty { min-height:0; margin:0; }
@media(max-width:400px) { .hcc-newsletter-fields button { padding:14px 12px; gap:8px; } }
@media(prefers-reduced-motion:reduce) { .hcc-newsletter-fields button { transition:none; } }
/* Anchor header controls to the navigation row, keeping the mega-menu full width. */
.hcc-main-bar { position: relative; }
.hcc-main-bar .hcc-mega { left:50%; margin-left:-50vw; width:100vw; }
