:root {
    --home-deep: hsl(222 58% 13%);
    --home-navy: hsl(220 52% 28%);
    --home-blue: hsl(217 50% 40%);
    --home-green: hsl(152 38% 42%);
    --home-green-dark: hsl(152 45% 26%);
    --home-green-light: hsl(152 45% 72%);
    --home-red: hsl(355 62% 54%);
    --home-coral: hsl(2 65% 62%);
    --home-mint: hsl(220 40% 94%);
    --home-sand: hsl(216 30% 97%);
    --home-ink: hsl(222 40% 14%);
    --home-muted: hsl(218 14% 40%);
    --home-line: hsl(216 25% 88%);
    --home-radius: 24px;
    --home-shadow: 0 22px 60px hsl(222 58% 13% / .14);
    --home-font-text: "SF Pro Text", "SF Pro Icons", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --home-font-display: "SF Pro Display", "SF Pro Icons", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html { scroll-padding-top: 90px; }

.fm-site.page-home {
    margin: 0;
    overflow-x: clip;
    color: var(--home-ink);
    background: var(--home-sand);
    font-family: var(--home-font-text);
    line-height: 1.6;
}

.page-home *, .page-home *::before, .page-home *::after { box-sizing: border-box; }
.page-home button, .page-home input, .page-home select, .page-home textarea { font-family: inherit; }
.page-home a { color: inherit; text-decoration: none; }
.page-home h1, .page-home h2, .page-home h3, .page-home p { margin-top: 0; }
.page-home h1, .page-home h2, .page-home h3, .page-home h4, .page-home h5, .page-home h6, .page-home .display, .page-home .section-title { font-family: var(--home-font-display); }
.page-home h1, .page-home h2 { font-weight: 600; letter-spacing: -.035em; }
.page-home .container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.page-home .section { position: relative; padding: 100px 0; }
.page-home .section h2, .page-home .contact h2 {
    color: var(--home-deep);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
}

.page-home .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 0 0 16px;
    padding: 6px 14px;
    border-radius: 999px;
    color: var(--home-navy);
    background: var(--home-mint);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.page-home .eyebrow::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--home-red);
    content: "";
}

.page-home .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 12px 23px;
    border: 1.5px solid transparent;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 800;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.page-home .btn:hover { transform: translateY(-3px); }
.page-home .btn.primary { color: #fff; background: linear-gradient(135deg, var(--home-red), var(--home-coral)); box-shadow: 0 10px 26px hsl(355 62% 54% / .34); }
.page-home .btn.outline { color: var(--home-navy); background: #fff; border-color: var(--home-line); }
.page-home .btn.outline:hover { border-color: var(--home-green); }

/* Hero */
.page-home .hero {
    position: relative;
    display: flex;
    min-height: max(115vh, 940px);
    align-items: stretch;
    overflow: hidden;
    padding: 138px 0 56px;
    color: #fff;
    background: var(--home-deep);
}
.page-home .hero::before {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(90deg, hsl(222 58% 9% / .82), hsl(222 58% 9% / .36) 65%, hsl(222 58% 9% / .12)), linear-gradient(180deg, hsl(222 58% 9% / .8), transparent 40%, hsl(222 58% 10% / .42));
    content: "";
}
.page-home .hero::after {
    position: absolute;
    z-index: 3;
    right: -100px;
    bottom: -160px;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: var(--home-blue);
    filter: blur(90px);
    opacity: .5;
    content: "";
}
.page-home .hero-media, .page-home .hero-bg { position: absolute; inset: 0; }
.page-home .hero-bg { opacity: 0; transition: opacity .8s ease; }
.page-home .hero-bg.active { opacity: 1; }
.page-home .hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: var(--hero-image-position, center); }
.page-home .hero-content { position: relative; z-index: 4; display: flex; min-height: calc(115vh - 194px); align-items: center; flex-direction: column; }
.page-home .fm-hero-copy { position: relative; isolation: isolate; width: min(900px, 100%); margin-top: clamp(26px, 5vh, 68px); padding: 0; border: 0; border-radius:0; background: transparent; box-shadow: none; text-align: center; backdrop-filter:none; }
.page-home .fm-hero-copy::before { position: absolute; z-index: -1; inset: -65px -85px; background: rgb(8 18 32 / .64); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); -webkit-mask-image: radial-gradient(ellipse closest-side at center, #000 48%, transparent 100%); mask-image: radial-gradient(ellipse closest-side at center, #000 48%, transparent 100%); pointer-events: none; content: ''; }
.page-home .hero-text-backdrop { color:#fff; text-shadow: 0 2px 14px rgb(0 0 0 / .45); }
.page-home .hero .eyebrow { margin: 0 0 28px; padding: 0; border-radius: 0; color: rgb(255 255 255 / .78); background: transparent; font-size: .66rem; letter-spacing: .16em; }
.page-home .hero .eyebrow::before { background: var(--home-green-light); }
.page-home .hero-tagline { margin-bottom: 18px; color:#fff; font-size:clamp(1.1rem,1.8vw,1.4rem); font-weight:600; letter-spacing:.01em; }
.page-home .hero h1 { max-width: 1000px; margin: 0 auto 28px; color: #fff; font-family: var(--home-font-display); font-size: clamp(4rem, 8vw, 8rem); font-weight: 700; letter-spacing: -.065em; line-height: 1; text-wrap: balance; }
.page-home .hero-desc { max-width: 720px; margin: 0 auto 32px; color:#fff; font-size:clamp(1.15rem,1.8vw,1.4rem); line-height:1.65; }
.page-home .hero-actions { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.page-home .hero-actions > [data-managed-content] { display: contents; }
.page-home .fm-hero-secondary { display: inline-flex; padding: 12px 20px; border: 1px solid rgb(255 255 255 / .36); border-radius: 999px; color: #fff; font-size: .8rem; font-weight: 800; background: rgb(255 255 255 / .12); backdrop-filter: blur(8px); }
.page-home .hero-note { margin-top: 20px; color: rgb(255 255 255 / .7); font-size: .68rem; letter-spacing: .04em; }
.page-home .hero-journey { display: flex; flex-wrap: wrap; gap: 14px 30px; width: fit-content; justify-content: center; margin: 36px auto 0; padding: 18px 0 0; border-top: 1px solid rgb(255 255 255 / .28); list-style: none; }
.page-home .hero-journey li { display: flex; align-items: baseline; gap: 10px; color: rgb(255 255 255 / .9); font-size: .76rem; }
.page-home .hero-journey span { color: var(--home-green-light); font-size: .65rem; font-variant-numeric: tabular-nums; }
.page-home .hero-visual-space { display: flex; min-height: clamp(90px, 16vh, 180px); flex: 1; align-items: flex-end; justify-content: center; padding-bottom: 28px; }
.page-home .hero-visual-space i { width: 1px; height: 46px; background: linear-gradient(to bottom, rgb(255 255 255 / .8), transparent); animation: hero-scroll-line 2.2s ease-in-out infinite; }
.page-home .hero-carousel-controls { position: absolute; z-index: 5; bottom: 23px; left: 50%; display: flex; align-items: center; gap: 12px; transform: translateX(-50%); }
.page-home .hero-carousel-controls .dots { display: flex; gap: 6px; }
.page-home .hero-carousel-controls button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; color: #fff; background: rgb(255 255 255 / .38); cursor: pointer; }
.page-home .hero-carousel-controls .dots button.active { width: 28px; border-radius: 999px; background: var(--home-green-light); }
.page-home .hero-carousel-pause { display: grid; width: 30px !important; height: 30px !important; place-items: center; font-size: .65rem; }
@keyframes hero-scroll-line { 0%, 100% { opacity: .35; transform: scaleY(.55); transform-origin: top; } 50% { opacity: 1; transform: scaleY(1); transform-origin: top; } }

/* Trust ribbon and section headings */
.page-home #main-content > .trust { position: relative; z-index: 8; margin-top: 0; padding-top: 28px; background: linear-gradient(180deg, var(--home-sand), transparent); }
.page-home .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.page-home .trust-item { min-height: 142px; padding: 24px; border: 1px solid var(--home-line); border-radius: 20px; background: #fff; box-shadow: var(--home-shadow); transition: transform .3s ease; }
.page-home .trust-item:hover { transform: translateY(-6px); }
.page-home .trust-item { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: center; }
.page-home .trust-item > b { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--home-navy), var(--home-blue)); box-shadow: 0 10px 22px hsl(220 52% 28% / .24); font-family: var(--home-font-text); font-size: .76rem; }
.page-home .trust-item:nth-child(2) > b { background: linear-gradient(135deg, var(--home-green-dark), var(--home-green)); box-shadow: 0 10px 22px hsl(152 38% 42% / .24); }
.page-home .trust-item:nth-child(3) > b { background: linear-gradient(135deg, var(--home-red), var(--home-coral)); box-shadow: 0 10px 22px hsl(355 62% 54% / .22); }
.page-home .trust-item svg { color: var(--home-green); }
.page-home .trust-item strong { display: block; margin: 8px 0 2px; color: var(--home-deep); font-family: var(--home-font-display); font-size: 1.3rem; font-weight: 600; }
.page-home .trust-item > span { color: var(--home-muted); font-size: .76rem; }
.page-home .trust-item small { display: block; color: var(--home-muted); line-height: 1.45; }
.page-home .head, .page-home .home-feature-heading, .page-home .home-gallery-heading, .page-home .home-video-heading, .page-home .sister-concerns-home-head { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 44px; }
.page-home .head > p, .page-home .home-feature-heading > div:last-child, .page-home .home-gallery-heading > div:last-child, .page-home .home-video-heading > div:last-child { max-width: 440px; color: var(--home-muted); }
.page-home .home-feature-heading h2 span, .page-home .home-gallery-heading h2 span, .page-home .home-video-heading h2 span { color: var(--home-green); }
.page-home .home-feature-heading a, .page-home .home-gallery-heading a, .page-home .home-video-heading a { color: var(--home-navy); font-size: .8rem; font-weight: 800; }

/* Audience and about */
.page-home .audience-pathways { padding-top: 90px; }
.page-home .audience-pathways-head { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.page-home .audience-pathways-head .eyebrow { margin-inline: auto; }
/* One shared card, with two routes that open toward the pointer. */
.page-home .audience-pathway-grid { display:flex; overflow:hidden; border-radius:30px; background:#182d49; box-shadow:var(--home-shadow); }
.page-home .audience-pathway { position:relative; display:flex; flex:1 1 50%; min-width:0; min-height:570px; flex-direction:column; justify-content:center; overflow:hidden; padding:46px; color:#fff; transition:flex-basis .65s cubic-bezier(.22,.7,.2,1), background .4s ease; }
.page-home .audience-pathway-employer { background:linear-gradient(145deg,#15263e,#233f61); }
.page-home .audience-pathway-candidate { background:linear-gradient(145deg,#504b91,#34316a); }
.page-home .audience-pathway::after { position:absolute; right:-110px; bottom:-180px; width:420px; height:420px; border:1px solid rgb(255 255 255 / .13); border-radius:50%; content:""; pointer-events:none; }
.page-home .audience-pathway-copy, .page-home .audience-pathway-details { position:relative; z-index:1; }
.page-home .audience-pathway .eyebrow { margin-bottom:24px; padding:0; border:0; border-radius:0; color:#c5d6ec; background:none; letter-spacing:.14em; }
.page-home .audience-pathway-candidate .eyebrow { color:#ded9ff; }
.page-home .audience-pathway h2 { margin:0; max-width:600px; color:#fff; font-family:var(--home-font-display); font-size:clamp(2rem,3.4vw,3.3rem); font-weight:500; line-height:1.09; letter-spacing:-.045em; transition:font-size .5s ease; }
.page-home .audience-pathway p { max-width:620px; color:rgb(255 255 255 / .8); font-size:.94rem; line-height:1.65; }
.page-home .audience-pathway-details { display:grid; grid-template-rows:1fr; opacity:1; transition:grid-template-rows .55s ease,opacity .4s ease; }
.page-home .audience-pathway-details-inner { min-height:0; overflow:hidden; }
.page-home .audience-pathway-details-inner > p:first-child { margin-top:26px; }
.page-home .audience-pathway-details .btn, .page-home .audience-pathway-actions { margin-top:24px; }
.page-home .audience-pathway-actions { display:flex; flex-wrap:wrap; gap:10px; }
.page-home .audience-pathway-actions .btn { margin-top:0; }
.page-home .audience-pathway .btn.primary, .page-home .audience-pathway .btn.candidate-nav { background:#fff; border-color:#fff; color:#1b2d46; }
.page-home .audience-pathway .btn.outline { color:#fff; border-color:rgb(255 255 255 / .4); background:transparent; }
.page-home .audience-pathway:focus-visible { outline:2px solid #fff; outline-offset:-7px; }
@media(min-width:901px) and (hover:hover) and (pointer:fine) {
    .page-home .audience-pathway-details { grid-template-rows:0fr; opacity:0; }
    .page-home .audience-pathway-details-inner { visibility:hidden; transition:visibility .4s; }
    .page-home .audience-pathway-grid:has(.audience-pathway:hover) .audience-pathway,
    .page-home .audience-pathway-grid:has(.audience-pathway:focus-within) .audience-pathway { flex-basis:30%; }
    .page-home .audience-pathway-grid:has(.audience-pathway:hover) .audience-pathway:hover,
    .page-home .audience-pathway-grid:not(:has(.audience-pathway:hover)) .audience-pathway:focus-within { flex-basis:70%; }
    .page-home .audience-pathway:hover .audience-pathway-details,
    .page-home .audience-pathway-grid:not(:has(.audience-pathway:hover)) .audience-pathway:focus-within .audience-pathway-details { grid-template-rows:1fr; opacity:1; }
    .page-home .audience-pathway:hover .audience-pathway-details-inner,
    .page-home .audience-pathway-grid:not(:has(.audience-pathway:hover)) .audience-pathway:focus-within .audience-pathway-details-inner { visibility:visible; }
    .page-home .audience-pathway-grid:has(.audience-pathway:hover) .audience-pathway:not(:hover) h2,
    .page-home .audience-pathway-grid:not(:has(.audience-pathway:hover)):has(.audience-pathway:focus-within) .audience-pathway:not(:focus-within) h2 { font-size:1.65rem; }
}
@media(max-width:900px) {
    .page-home .audience-pathway-grid { flex-direction:column; }
    .page-home .audience-pathway { flex-basis:auto; min-height:0; padding:36px; }
}
@media(prefers-reduced-motion:reduce) {
    .page-home .audience-pathway, .page-home .audience-pathway h2, .page-home .audience-pathway-details, .page-home .audience-pathway-details-inner { transition:none; }
}

.page-home .home-about-profile { background: #fff; }
.page-home .home-about-shell { display: grid; grid-template-columns: .95fr 1.05fr; gap: 80px; align-items: center; }
.page-home .home-about-image { position: relative; min-height: 510px; }
.page-home .home-about-image::before { position: absolute; inset: 30px -20px -20px 30px; border-radius: 32px; background: linear-gradient(135deg, var(--home-mint), hsl(152 35% 90%)); content: ""; }
.page-home .home-about-image > img { position: absolute; inset: 0 50px 20px 0; width: calc(100% - 50px); height: calc(100% - 20px); border-radius: 28px; object-fit: cover; box-shadow: var(--home-shadow); }
.page-home .home-about-image > div { position: absolute; z-index: 2; right: 0; bottom: 0; padding: 18px 22px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--home-red), var(--home-coral)); box-shadow: 0 14px 30px hsl(355 62% 54% / .35); }
.page-home .home-about-image small, .page-home .home-about-image strong { display: block; }
.page-home .home-about-copy > p:not(.eyebrow) { color: var(--home-muted); }
.page-home .home-about-cycle { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0 30px; }
.page-home .home-about-cycle span { padding: 12px 14px; border: 1px solid var(--home-line); border-radius: 14px; color: var(--home-deep); background: var(--home-sand); font-size: .8rem; font-weight: 700; }
.page-home .home-about-cycle span::before { color: var(--home-green); content: "✓ "; }

/* Compact services carousel and ordered recruitment preview. */
.page-home .services { background: #f1f4f1; }
.page-home .home-services-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 24px; }
.page-home .home-services-all { color:var(--home-green-dark); font-size:.83rem; font-weight:600; }
.page-home .home-services-all:hover { text-decoration:underline; text-underline-offset:5px; }
.page-home .home-services-carousel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px) / 3.25); gap:20px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-padding-inline:2px; padding:2px 2px 22px; scrollbar-width:thin; scrollbar-color:#a8b9ae transparent; }
.page-home .home-service-card { display:flex; flex-direction:column; min-width:0; min-height:270px; padding:28px; border:1px solid #dce3dc; border-radius:18px; background:#fff; scroll-snap-align:start; }
.page-home .home-service-card-top { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:30px; color:var(--home-green-dark); }
.page-home .home-service-card-top > span { font-size:.82rem; font-weight:500; }
.page-home .home-service-card-top small { font-size:.6rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.page-home .home-service-card h3 { margin:0 0 18px; color:var(--home-deep); font-size:1.4rem; font-weight:500; letter-spacing:-.04em; line-height:1.2; }
.page-home .home-service-card h3 a { display:flex; justify-content:space-between; align-items:start; gap:18px; }
.page-home .home-service-card h3 a span { color:var(--home-green-dark); font-size:1rem; }
.page-home .home-service-card h3 a:hover { color:var(--home-green-dark); }
.page-home .home-service-card > p { margin:0; color:var(--home-muted); font-size:.86rem; line-height:1.7; }
.page-home .home-services-carousel:focus-visible { outline:2px solid var(--home-green-dark); outline-offset:6px; }
.page-home .home-process-preview { background:#fff; }
.page-home .home-process-preview::before { display:none; }
.page-home .process-visual { position:relative; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.page-home .process-visual::before { display:none; }
.page-home .process-visual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.page-home .process-visual-card { position:relative; display:flex; flex-direction:column; min-width:0; min-height:270px; padding:28px; border:1px solid var(--process-card-border,var(--home-line)); border-radius:18px; color:var(--process-body,var(--home-muted)); background:var(--process-card-bg,#fff); box-shadow:none; }
.page-home .process-visual-card.process-palette--classic { --process-card-bg:#15263e; --process-card-border:#354860; --process-accent:#9bdfc4; --process-number-text:#15263e; --process-label:#9bdfc4; --process-icon-bg:#244239; --process-icon-border:#588876; --process-icon-text:#9bdfc4; }
.page-home .process-visual-card-heading { display:flex; align-items:center; height:44px; margin-bottom:26px; }
.page-home .process-visual-card-heading b { display:grid; place-items:center; width:36px; height:36px; color:var(--process-number-text,var(--home-deep)); background:var(--process-accent,var(--home-green-light)); border-radius:50%; font-size:.74rem; font-weight:600; }
.page-home .process-visual-label { display:block; color:var(--process-label,var(--home-green-dark)); font-size:.65rem; font-weight:600; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; }
.page-home .process-visual-icon { position:absolute; display:grid; place-items:center; top:28px; right:28px; left:auto; bottom:auto; z-index:0; width:44px; height:44px; margin:0; border:1px solid var(--process-icon-border,transparent); border-radius:12px; color:var(--process-icon-text,var(--home-green-dark)); background:var(--process-icon-bg,transparent); }
.page-home .process-visual-icon svg { display:block; width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.page-home .process-visual-card h3 { position:relative; margin:12px 0; color:var(--process-title,var(--home-deep)); font-family:var(--home-font-display); font-size:1.4rem; font-weight:500; letter-spacing:-.035em; line-height:1.2; }
.page-home .process-visual-card p { position:relative; margin:0; color:var(--process-body,var(--home-muted)); font-size:.86rem; line-height:1.7; }
.page-home .process-visual-card--watermark .process-visual-icon { top:20px; right:18px; width:100px; height:100px; border:0; background:transparent; opacity:var(--process-watermark-opacity,.12); }
.page-home .process-visual-card--watermark .process-visual-icon svg { width:100%; height:100%; }
.page-home .process-visual-card--outline .process-visual-icon { border-radius:50%; background:transparent; }
.page-home .process-visual-card--centered .process-visual-icon { position:relative; inset:auto; width:56px; height:56px; margin:0 auto 20px; border-radius:50%; }
.page-home .process-visual-card--centered .process-visual-card-heading { margin-bottom:0; }
.page-home .process-visual-card--centered :is(.process-visual-label,h3,p) { text-align:center; }
.page-home .process-visual-card--side { padding-left:82px; }
.page-home .process-visual-card--side .process-visual-icon { top:104px; right:auto; left:22px; width:42px; height:64px; }
.page-home .process-visual-card--side .process-visual-label { padding-left:0; }
.page-home .process-visual-card--banner .process-visual-icon { position:relative; inset:auto; width:100%; height:54px; margin-bottom:22px; }
.page-home .process-visual-card--banner .process-visual-card-heading { margin-bottom:18px; }
.page-home .process-visual-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin-top:28px; padding-top:24px; border-top:1px solid var(--home-line); color:var(--home-muted); font-size:.76rem; }
.page-home .process-visual-footer i { flex:1; border-top:1px solid var(--home-line); }
.page-home .process-visual-footer .btn { margin-left:auto; }

.page-home .surface { background: var(--home-deep); color: #fff; }
.page-home .surface h2 { color: #fff; }
.page-home .surface .eyebrow { color: #fff; background: rgb(255 255 255 / .1); }
.page-home .surface .home-feature-heading > div:last-child { color: rgb(255 255 255 / .66); }
.page-home .industry-showcase-scroll { display: grid; grid-auto-columns: minmax(250px, 1fr); grid-auto-flow: column; gap: 14px; overflow-x: auto; padding: 4px 2px 18px; scroll-snap-type: x mandatory; }
.page-home .industry-showcase-card { position: relative; min-height: 350px; overflow: hidden; border-radius: 22px; scroll-snap-align: start; }
.page-home .industry-showcase-card > img { position: absolute; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.page-home .industry-showcase-card:hover > img { transform: scale(1.08); }
.page-home .industry-showcase-shade { position: absolute; inset: 0; background: linear-gradient(to top, hsl(222 58% 10% / .96), transparent 70%); }
.page-home .industry-showcase-number { position: absolute; top: 16px; right: 16px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / .18); backdrop-filter: blur(8px); }
.page-home .industry-showcase-copy { position: absolute; right: 20px; bottom: 20px; left: 20px; }
.page-home .industry-showcase-copy strong, .page-home .industry-showcase-copy small { display: block; }
.page-home .industry-showcase-copy strong { font-size: 1.1rem; }
.page-home .industry-showcase-copy small { color: rgb(255 255 255 / .7); font-size: .72rem; }

.page-home .home-job-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.page-home .home-job-card { overflow: hidden; border: 1px solid var(--home-line); border-radius: 24px; background: #fff; transition: transform .3s ease, box-shadow .3s ease; }
.page-home .home-job-card:hover { transform: translateY(-7px); box-shadow: var(--home-shadow); }
.page-home .home-job-image { position: relative; height: 210px; overflow: hidden; }
.page-home .home-job-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.page-home .home-job-card:hover .home-job-image img { transform: scale(1.06); }
.page-home .home-job-status { position: absolute; top: 14px; right: 14px; padding: 6px 10px; border-radius: 999px; color: #fff; background: var(--home-green); font-size: .65rem; font-weight: 800; }
.page-home .home-job-body { padding: 24px; }
.page-home .home-job-destination { display: flex; align-items: center; gap: 8px; color: var(--home-navy); font-size: .72rem; font-weight: 800; }
.page-home .home-job-destination img { width: 24px; height: 17px; object-fit: cover; }
.page-home .home-job-destination small { margin-left: auto; color: var(--home-muted); }
.page-home .home-job-body h3 { margin: 18px 0 6px; color: var(--home-deep); font-size: 1.2rem; }
.page-home .home-job-body > p { color: var(--home-muted); font-size: .8rem; }
.page-home .home-job-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--home-line); font-size: .74rem; }
.page-home .home-job-footer span { color: var(--home-navy); font-weight: 800; }

/* Founder preface uses its own contained layout in the redesigned homepage. */
.page-home .home-founder-preface { background: #f1f3f7; }
.page-home .home-founder-shell { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(35px, 5vw, 72px); align-items: center; }
.page-home .home-founder-copy { min-width: 0; padding-block: 12px; }
.page-home .home-founder-copy h2 { max-width: 600px; margin: 4px 0 24px; font-size: clamp(2.2rem, 3.8vw, 3.6rem); line-height: 1.08; letter-spacing: -.045em; }
.page-home .home-founder-copy blockquote { margin: 0 0 28px; padding-inline-start: 22px; border-inline-start: 2px solid #bd6c59; color: #596477; font-size: clamp(.98rem, 1.3vw, 1.12rem); line-height: 1.85; }
.page-home .home-founder-signature { display: flex; align-items: center; gap: 14px; }
.page-home .home-founder-signature > img { display: block; width: 50px; height: 50px; flex: 0 0 50px; object-fit: cover; object-position: center 20%; border: 3px solid #fff; border-radius: 50%; }
.page-home .home-founder-signature strong, .page-home .home-founder-signature small { display: block; }
.page-home .home-founder-signature strong { color: var(--home-deep); font-size: .85rem; font-weight: 600; }
.page-home .home-founder-signature small { margin-top: 3px; color: var(--home-muted); font-size: .73rem; }
.page-home .home-founder-link { display: inline-flex; align-items: center; gap: 28px; margin-top: 28px; padding: 10px 0; color: var(--home-navy); border-bottom: 1px solid #aab5c5; font-size: .8rem; font-weight: 500; }
.page-home .home-founder-link:hover { color: #a34f3f; border-color: #a34f3f; }
.page-home .home-founder-link > span { font-size: 1.2rem; }
.page-home .home-founder-media { min-width: 0; padding: 12px; overflow: hidden; border: 1px solid #d4dce6; border-radius: 22px; background: #fff; }
.page-home .home-founder-image { position: relative; display: block; height: 390px; overflow: hidden; border-radius: 13px; background: #e3e8ee; }
.page-home .home-founder-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform .4s ease; }
.page-home .home-founder-image:hover img { transform: scale(1.025); }
.page-home .home-founder-video { overflow: hidden; aspect-ratio: 16 / 9; border-radius: 13px; background: var(--home-deep); }
.page-home .home-founder-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.page-home .home-founder-caption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 12px 8px; color: #657084; font-size: .7rem; line-height: 1.6; }
.page-home .home-founder-caption > span:last-child { color: #a8b3c3; font-size: 1.5rem; font-weight: 500; letter-spacing: -.06em; }

.page-home .home-compliance { padding: 48px 0; background: #e9edf3; }
.fm-site.page-home .home-compliance-shell { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0; align-items: stretch; overflow: hidden; border: 1px solid #cbd4df; border-radius: 20px; background: #fff; }
.page-home .home-compliance-identity { display: flex; align-items: center; gap: 25px; padding: 40px; color: #fff; background: #192d46; }
.page-home .home-licence-symbol { display: grid; width: 76px; height: 90px; flex: 0 0 76px; place-items: center; color: #dfc19a; border: 1px solid #dfc19a55; border-radius: 40px 40px 10px 10px; }
.page-home .home-compliance .eyebrow { display: block; margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: none; color: #b6c4d5; font-size: .59rem; letter-spacing: .14em; }
.page-home .home-compliance .eyebrow::before { display: none; }
.page-home .home-compliance h2 { margin: 0; color: #fff; font-family: var(--home-font-display); font-size: clamp(2.3rem, 3.8vw, 3.4rem); line-height: 1; font-weight: 500; letter-spacing: -.045em; }
.page-home .home-licence-caption { margin: 13px 0 0; color: #b6c4d5; font-size: .68rem; }
.page-home .home-compliance-content { padding: 32px 38px; min-width: 0; }
.page-home .home-compliance-intro { margin: 0 0 20px; color: var(--home-deep); font-size: 1.2rem; font-weight: 500; letter-spacing: -.025em; }
.page-home .home-compliance-facts { display: flex; flex-wrap: wrap; gap: 20px 30px; padding: 0 0 22px; border-bottom: 1px solid var(--home-line); }
.page-home .home-compliance-facts > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.page-home .home-compliance-facts > div > span { color: #6b7788; font-size: .66rem; }
.page-home .home-compliance-facts strong, .page-home .home-compliance-facts a { color: #263d57; font-size: .84rem; line-height: 1.5; font-weight: 500; overflow-wrap: anywhere; }
.page-home .home-compliance-facts a:hover { text-decoration: underline; text-underline-offset: 4px; }
.page-home .home-compliance-link { display: inline-flex; align-items: center; gap: 28px; margin-top: 18px; color: #263d57; font-size: .76rem; font-weight: 500; }
.page-home .home-compliance-link > span { font-size: 1.2rem; }
.page-home .home-compliance-link:hover { color: #a34f3f; }
@media (max-width: 950px) {
    .page-home .home-founder-shell { gap: 32px; grid-template-columns: 1.05fr .95fr; }
    .page-home .home-founder-image { height: 350px; }
    .page-home .home-compliance-identity { padding: 30px; gap: 18px; }
    .page-home .home-licence-symbol { width: 56px; height: 70px; flex-basis: 56px; }
    .page-home .home-compliance-content { padding: 28px; }
}
@media (max-width: 700px) {
    .page-home .home-founder-preface { padding-block: 55px; }
    .page-home .home-founder-shell { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .page-home .home-founder-copy h2 { font-size: clamp(2.1rem, 8vw, 3rem); }
    .page-home .home-founder-image { height: 340px; }
    .page-home .home-founder-media { width: 100%; max-width: 480px; }
    .fm-site.page-home .home-compliance-shell { grid-template-columns: minmax(0, 1fr); }
    .page-home .home-compliance { padding-block: 30px; }
    .page-home .home-compliance-identity { padding: 30px 24px; }
    .page-home .home-compliance-content { padding: 26px 24px; }
    .page-home .home-compliance-facts { gap: 18px 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .page-home .home-founder-image img { transition: none; }
    .page-home .home-founder-image:hover img { transform: none; }
}

.page-home .home-video-stories, .page-home .home-gallery, .page-home .sister-concerns-home { background: #fff; }
.page-home .carousel-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -18px 0 26px; color: var(--home-muted); font-size: .78rem; }
.page-home .carousel-controls { display: flex; gap: 8px; }
.page-home .carousel-controls button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--home-line); border-radius: 50%; color: var(--home-navy); background: #fff; font-size: 1rem; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.page-home .carousel-controls button:hover { color: #fff; background: var(--home-navy); transform: translateY(-2px); }
.page-home .home-video-grid, .page-home .home-gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.page-home .home-video-card, .page-home .home-story-card { overflow: hidden; border: 1px solid var(--home-line); border-radius: 24px; background: #fff; box-shadow: 0 14px 35px hsl(222 58% 13% / .08); }
.page-home .home-video-player { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--home-deep); }
.page-home .home-video-player img, .page-home .home-video-player iframe { width: 100%; height: 100%; object-fit: cover; }
.page-home .home-video-copy, .page-home .home-story-card { padding: 24px; }
.page-home .success-story-carousel { display: grid; grid-auto-columns: minmax(310px, 1fr); grid-auto-flow: column; gap: 16px; overflow-x: auto; padding: 4px 2px 18px; scroll-snap-type: x mandatory; }
.page-home .home-story-card { scroll-snap-align: start; }
.page-home .home-story-card > p { color: var(--home-muted); }
.page-home .home-story-rating { color: var(--home-red); }
.page-home .home-story-link { color: var(--home-navy); font-size: .78rem; font-weight: 800; }
.page-home .home-gallery-tile { position: relative; min-height: 260px; overflow: hidden; border-radius: 22px; }
.page-home .home-gallery-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.page-home .home-gallery-tile:hover img { transform: scale(1.06); }
.page-home .content-empty, .page-home .home-jobs-empty, .page-home .home-video-empty, .page-home .home-stories-empty, .page-home .home-gallery-empty { padding: 34px; border: 1px dashed hsl(216 25% 80%); border-radius: 22px; color: var(--home-muted); background: hsl(216 30% 99%); }
.page-home .surface .content-empty { color: rgb(255 255 255 / .72); border-color: rgb(255 255 255 / .2); background: rgb(255 255 255 / .07); }
.page-home .surface .content-empty h3 { color: #fff; }
.page-home .home-video-empty, .page-home .home-stories-empty, .page-home .home-gallery-empty { display: flex; align-items: center; gap: 20px; }
.page-home .home-video-empty > span, .page-home .home-stories-empty > span, .page-home .home-gallery-empty > span { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--home-navy), var(--home-blue)); font-size: 1.25rem; }
.page-home .home-stories-empty .btn, .page-home .home-gallery-empty .btn { margin-left: auto; white-space: nowrap; }
.page-home .sister-concerns-home-head > div { max-width: 720px; }
.page-home .sister-concern-home-identity, .page-home .sister-concern-slide { border: 1px solid var(--home-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 30px hsl(222 58% 13% / .08); }
.page-home .sister-concern-slide img { border-radius: 18px; }
.page-home .sister-concerns-home-more { display: inline-block; margin-top: 25px; color: var(--home-navy); font-size: .8rem; font-weight: 800; }

/* Final call to action */
.page-home #main-content > .contact { padding: 100px 0; background: linear-gradient(180deg, var(--home-sand), var(--home-mint)); }
.page-home #main-content > .contact .cta { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 52px; border-radius: 30px; color: #fff; background: linear-gradient(140deg, var(--home-deep), var(--home-navy)); box-shadow: var(--home-shadow); }
.page-home #main-content > .contact h2 { max-width: 720px; color: #fff; }
.page-home #main-content > .contact p:not(.eyebrow) { color: rgb(255 255 255 / .7); }
.page-home #main-content > .contact .eyebrow { color: #fff; background: rgb(255 255 255 / .12); }
.page-home #main-content > .contact .btn.outline { color: #fff; border-color: rgb(255 255 255 / .32); background: rgb(255 255 255 / .1); }
.page-home .cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 1080px) {
    .page-home .site-links { display: none; }
    .page-home .site-menu.open .site-links { display: flex; }
    .page-home .site-menu.open { color: var(--home-ink); background: #fff; }
    .page-home .site-menu.open .site-links > a, .page-home .site-menu.open .nav-media-menu > summary { color: var(--home-ink); }
    .page-home .home-about-shell { grid-template-columns: 1fr; }
    .page-home .trust-grid, .page-home .home-job-grid, .page-home .home-video-grid, .page-home .home-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .page-home .home-compliance-shell { grid-template-columns: 1fr 1fr; }
    .page-home .home-compliance-facts { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .page-home .section { padding: 72px 0; }
    .page-home .container { width: min(100% - 28px, 1200px); }
    .page-home .fm-navigation { min-height: 72px; }
    .page-home .fm-navigation > .brand img { width: 112px; }
    .page-home .fm-navigation > .brand--placeholder img { width: 40px; height: 40px; }
    .page-home .fm-navigation > .brand--placeholder > span { min-width: 105px; }
    .page-home .fm-navigation > .brand--placeholder .navbar-brand-fm,
    .page-home .fm-navigation > .brand--placeholder .navbar-brand-overseas { font-size: 13px !important; }
    .page-home .site-menu.open .nav-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .page-home .site-menu.open .nav-auth .auth-menu { grid-column: 1 / -1; }
    .page-home .site-menu.open .nav-auth .btn { width: 100%; min-height: 44px; }
    .page-home .site-menu.open .nav-language-button,
    .page-home .site-menu.open .nav-account-button { color: var(--home-deep); border-color: var(--home-line); background: var(--home-sand); }
    .page-home .hero { min-height: max(108svh, 820px); padding: 108px 0 34px; }
    .page-home .hero-content { min-height: calc(108svh - 142px); }
    .page-home .fm-hero-copy { margin-top: 26px; padding:0; }
    .page-home .hero h1 { font-size:clamp(3.2rem,14vw,5rem); letter-spacing:-.065em; }
    .page-home .hero-desc { font-size:1.1rem; }
    .page-home .hero-actions { align-items: stretch; flex-direction: column; }
    .page-home .hero-actions .btn, .page-home .fm-hero-secondary { width: 100%; justify-content: center; }
    .page-home .hero-visual-space { min-height: 210px; padding-bottom: 40px; }
    .page-home .hero-bg img { object-position: var(--hero-image-position-mobile, var(--hero-image-position, center)); }
    .page-home #main-content > .trust { padding-top: 18px; }
    .page-home .trust-grid, .page-home .audience-pathway-grid, .page-home .service-grid, .page-home .home-job-grid, .page-home .home-video-grid, .page-home .home-gallery-grid, .page-home .home-compliance-shell { grid-template-columns: 1fr; }
    .page-home .head, .page-home .home-feature-heading, .page-home .home-gallery-heading, .page-home .home-video-heading, .page-home .sister-concerns-home-head { align-items: flex-start; flex-direction: column; gap: 16px; }
    .page-home .audience-pathway { min-height: 360px; padding: 30px; }
    .page-home .home-about-image { min-height: 410px; }
    .page-home .home-about-cycle { grid-template-columns: 1fr; }
    .page-home .home-service-detail { min-height: 340px; padding: 30px; }
    .page-home #main-content > .contact .cta { align-items: flex-start; flex-direction: column; padding: 34px 28px; }
    .page-home .home-video-empty, .page-home .home-stories-empty, .page-home .home-gallery-empty { align-items: flex-start; flex-direction: column; }
    .page-home .home-stories-empty .btn, .page-home .home-gallery-empty .btn { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .page-home *, .page-home *::before, .page-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media(max-width:1080px) {
    .page-home .home-services-carousel { grid-auto-columns:calc((100% - 32px) / 2.2); }
    .page-home .process-visual-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
    .page-home .home-services-carousel { grid-auto-columns:86%; gap:16px; }
    .page-home .home-service-card { min-height:250px; padding:24px; }
    .page-home .home-services-toolbar { gap:16px; }
    .page-home .home-services-all { max-width:220px; font-size:.78rem; }
    .page-home .process-visual-grid { grid-template-columns:1fr; gap:18px; }
    .page-home .process-visual-card { min-height:0; }
    .page-home .process-visual-footer { align-items:start; }
    .page-home .process-visual-footer i { display:none; }
    .page-home .process-visual-footer .btn { flex-basis:100%; margin:0; }
}
/* Homepage studio sequence: about, founder, services and recruitment journey. */
.fm-site.page-home :is(.home-about-studio, .home-services-studio, .home-process-journey, .home-founder-editorial) { padding-block: 92px; }
.fm-site.page-home :is(.home-about-studio, .home-services-studio, .home-process-journey, .home-founder-editorial) .eyebrow { padding: 0; border-radius: 0; background: none; color: #74516c; font-size: .75rem; font-weight: 600; letter-spacing: .11em; }
.fm-site.page-home :is(.home-about-studio, .home-services-studio, .home-process-journey, .home-founder-editorial) .eyebrow::before { display: none; }
.fm-site.page-home .home-about-studio { background: #fff8ef; }
.fm-site.page-home .home-about-studio-heading { display: grid; grid-template-columns: 1.1fr 1fr; align-items: start; gap: 80px; margin-bottom: 45px; }
.fm-site.page-home .home-about-studio .company-profile-copy { padding: 0; }
.fm-site.page-home .home-about-studio h2 { max-width: 640px; margin: 20px 0 0; color: #392d43; font-family: var(--home-font-display); font-size: clamp(2.6rem, 4.4vw, 4.2rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.06; text-wrap: balance; }
.fm-site.page-home .home-about-studio-intro > p { margin: 0; color: #685f69; font-size: 1rem; line-height: 1.85; }
.fm-site.page-home .home-about-studio .company-profile-link { display: inline-flex; margin-top: 24px; padding: 12px 0; gap: 20px; color: #754368; border-bottom: 1px solid #b899ac; font-size: .9rem; font-weight: 500; }
.fm-site.page-home .home-about-studio-board { display: grid; grid-template-columns: 1.8fr 1fr; gap: 22px; }
.fm-site.page-home .home-about-studio .company-profile-visual { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 24px 24px 24px 80px; background: #ead6c6; }
.fm-site.page-home .home-about-studio .company-profile-visual > img { display: block; width: 100%; height: 390px; object-fit: cover; border-radius: 0; }
.fm-site.page-home .home-about-studio .company-profile-visual figcaption { position: absolute; left: auto; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 5px; margin: 0; padding: 18px 24px; color: #523f26; background: #ffe0a0; border: 0; border-radius: 14px; }
.fm-site.page-home .home-about-studio .company-profile-visual small { color: #70582f; font-size: .65rem; }
.fm-site.page-home .home-about-studio .company-profile-visual strong { color: #523f26; font-size: .9rem; font-weight: 600; }
.fm-site.page-home .home-about-studio .company-profile-cycle { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0; }
.fm-site.page-home .home-about-studio .company-profile-cycle span { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 18px; padding: 22px 28px; color: #4e3c57; background: #eadff5; border: 0; border-radius: 18px; font-size: 1.2rem; font-weight: 500; line-height: 1.35; letter-spacing: -.025em; }
.fm-site.page-home .home-about-studio .company-profile-cycle span:nth-child(2) { color: #754334; background: #f9d8c8; }
.fm-site.page-home .home-about-studio .company-profile-cycle span:nth-child(3) { color: #304e72; background: #dae6f8; }
.fm-site.page-home .home-about-studio .company-profile-cycle span::before { display: grid; place-items: center; width: 42px; height: 42px; margin: 0; color: inherit; border: 1px solid currentColor; border-radius: 50%; font-size: .8rem; opacity: .7; }
/* A personal note, presented as one warm, contained feature. */
.fm-site.page-home .home-founder-editorial { padding-top: 0; background: #fff8ef; }
.fm-site.page-home .home-founder-editorial .home-founder-shell { grid-template-columns: .8fr 1.2fr; gap: 24px; padding: 24px; background: #1b2e45; border-radius: 30px; }
.fm-site.page-home .home-founder-editorial .home-founder-copy { order: 2; padding: 30px 35px; }
.fm-site.page-home .home-founder-editorial .home-founder-copy .eyebrow { color: #b6c9da; }
.fm-site.page-home .home-founder-editorial .home-founder-copy h2 { color: #f7f9fc; font-size: clamp(2.1rem, 3.5vw, 3.5rem); font-weight: 500; }
.fm-site.page-home .home-founder-editorial .home-founder-copy blockquote { padding-left: 0; border: 0; color: #d2dce7; font-size: 1.0625rem; line-height: 1.8; }
.fm-site.page-home .home-founder-editorial .home-founder-signature strong { color: #f7f9fc; }
.fm-site.page-home .home-founder-editorial .home-founder-signature small { color: #b6c9da; }
.fm-site.page-home .home-founder-editorial .home-founder-link { color: #e2c99f; border-color: #74879b; }
.fm-site.page-home .home-founder-editorial .home-founder-media { order: 1; padding: 0; border: 0; border-radius: 0; background: #e8edf2; }
.fm-site.page-home .home-founder-editorial .home-founder-image { height: auto; aspect-ratio: 1; border-radius: 0; }
.fm-site.page-home .home-founder-editorial .home-founder-caption { padding: 22px 30px; color: #43566a; }
.fm-site.page-home .home-founder-editorial .home-founder-caption > span:last-child { color: #74879b; }
.fm-site.page-home .home-founder-editorial .home-founder-media:has(.home-founder-video) { border-radius: 0; }
/* A service shelf with a quiet introductory rail and colorful, browsable cards. */
.fm-site.page-home .home-services-studio { background: #eee9f8; overflow: hidden; }
.fm-site.page-home .home-services-studio-layout { display: grid; grid-template-columns: .85fr 1.65fr; gap: 55px; align-items: center; }
.fm-site.page-home .home-services-studio-intro.head { display: block; margin: 0; }
.fm-site.page-home .home-services-studio h2 { margin: 18px 0 24px; color: #392d43; font-size: clamp(2.4rem, 3.8vw, 3.5rem); font-weight: 500; letter-spacing: -.05em; line-height: 1.08; }
.fm-site.page-home .home-services-studio .head > p { color: #6b6079; font-size: 1rem; line-height: 1.8; }
.fm-site.page-home .home-services-studio [data-home-services] { min-width: 0; }
.fm-site.page-home .home-services-studio .home-services-toolbar { display: flex; align-items: start; flex-direction: column; gap: 24px; margin-top: 30px; margin-bottom: 0; }
.fm-site.page-home .home-services-studio .home-services-all { color: #754368; font-size: .9rem; font-weight: 500; }
.fm-site.page-home .home-services-studio .carousel-controls button { color: #604b78; border-color: #c4b5d7; background: transparent; }
.fm-site.page-home .home-services-studio .carousel-controls button:hover { color: #fff; background: #604b78; }
.fm-site.page-home .home-services-studio .home-services-carousel { grid-auto-columns: calc((100% - 22px) / 1.85); gap: 22px; padding: 4px 0 24px; scrollbar-color: #bca7ce transparent; }
.fm-site.page-home .home-services-studio .home-service-card { position: relative; isolation: isolate; min-height: 430px; padding: 30px; overflow: hidden; color: #513a4a; background: #f7d3c9; border: 1px solid #e5bdb4; border-radius: 22px; }
.fm-site.page-home .home-services-studio .home-service-card:nth-child(3n+2) { color: #554b30; background: #f9e8ae; border-color: #e6d294; }
.fm-site.page-home .home-services-studio .home-service-card:nth-child(3n) { color: #344b6a; background: #d5e2f7; border-color: #b9cce9; }
.fm-site.page-home .home-services-studio .home-service-card-top { position: relative; margin-top: 100px; margin-bottom: 24px; padding-bottom: 16px; color: inherit; border-bottom: 1px solid #573a492e; }
.fm-site.page-home .home-services-studio .home-service-card-top > span { font-size: 1.5rem; font-weight: 400; letter-spacing: -.05em; }
.fm-site.page-home .home-services-studio .home-service-card-top small { font-size: .6875rem; letter-spacing: .08em; }
.fm-site.page-home .home-services-studio .home-service-card h3 { margin-bottom: 18px; color: inherit; font-size: 1.5rem; line-height: 1.2; }
.fm-site.page-home .home-services-studio .home-service-card h3 a span { color: inherit; }
.fm-site.page-home .home-services-studio .home-service-card > p { color: inherit; font-size: .9375rem; line-height: 1.7; opacity: .88; }
.fm-site.page-home .home-services-studio .home-service-art { position: absolute; z-index: -1; width: 82px; height: 82px; top: 30px; left: 30px; border: 18px solid #bd7569; border-radius: 50%; }
.fm-site.page-home .home-services-studio .home-service-card:nth-child(3n+2) .home-service-art { border-color: #bba04d; border-radius: 40px 40px 8px 8px; }
.fm-site.page-home .home-services-studio .home-service-card:nth-child(3n) .home-service-art { border-color: #6a89be; border-radius: 8px; transform: rotate(12deg); }
/* A continuous route: the first six stages, with their existing icons and palette settings. */
.fm-site.page-home .home-process-journey { background: #fffaf2; }
.fm-site.page-home .home-process-journey-layout { display: grid; grid-template-columns: .85fr 1.3fr; gap: 90px; align-items: start; }
.fm-site.page-home .home-process-journey-intro { position: sticky; top: 115px; display: block; margin: 0; }
.fm-site.page-home .home-process-journey-intro h2 { color: #392d43; font-size: clamp(2.5rem, 3.8vw, 3.7rem); font-weight: 500; line-height: 1.08; letter-spacing: -.05em; }
.fm-site.page-home .home-process-journey-intro h2 span { color: #a16a50; }
.fm-site.page-home .home-process-journey-intro > div:last-child { color: #6b6070; font-size: 1rem; line-height: 1.8; }
.fm-site.page-home .home-process-journey-intro a { display: inline-block; margin-top: 10px; color: #754368; font-size: .9375rem; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.fm-site.page-home .home-process-journey-marker { display: flex; align-items: center; gap: 26px; width: fit-content; padding: 24px 0; margin: 20px 0; color: #b88662; }
.fm-site.page-home .home-process-journey-marker span { font-size: clamp(3.4rem, 5vw, 5rem); font-weight: 400; letter-spacing: -.065em; line-height: 1; }
.fm-site.page-home .home-process-journey-marker i { font-size: 3rem; font-style: normal; }
.fm-site.page-home .home-process-journey .process-visual-grid { position: relative; grid-template-columns: minmax(0, 1fr); gap: 20px; padding-left: 64px; }
.fm-site.page-home .home-process-journey .process-visual-grid::before { position: absolute; top: 36px; bottom: 60px; left: 26px; border-left: 1px dashed #c7b5c6; content: ''; }
.fm-site.page-home .home-process-journey .process-visual-card { display: block; min-height: 170px; padding: 26px; border-radius: 18px; }
.fm-site.page-home .home-process-journey .process-visual-card.process-palette--classic { --process-card-bg: #f1e8f6; --process-card-border: #dfcfe7; --process-title: #493452; --process-body: #6d5c72; --process-label: #7d5589; --process-accent: #ead6ee; --process-number-text: #674376; --process-icon-bg: #e4d0ec; --process-icon-border: transparent; --process-icon-text: #81578c; }
.fm-site.page-home .home-process-journey .process-visual-card.process-palette--classic:nth-child(3n+2) { --process-card-bg: #fbecdf; --process-card-border: #efdbc9; --process-title: #63422e; --process-body: #7b6655; --process-label: #926246; --process-accent: #f6dcc7; --process-number-text: #805333; --process-icon-bg: #f3d7bf; --process-icon-text: #946442; }
.fm-site.page-home .home-process-journey .process-visual-card.process-palette--classic:nth-child(3n) { --process-card-bg: #e7effa; --process-card-border: #cddcf0; --process-title: #344d6e; --process-body: #5b6d85; --process-label: #4c6992; --process-accent: #d5e2f5; --process-number-text: #425f8a; --process-icon-bg: #ccdcf2; --process-icon-text: #5776a7; }
.fm-site.page-home .home-process-journey .process-visual-card-heading { position: absolute; left: -60px; top: 20px; margin: 0; height: 44px; }
.fm-site.page-home .home-process-journey .process-visual-card-heading b { width: 44px; height: 44px; font-size: .875rem; border: 5px solid #fffaf2; box-sizing: content-box; }
.fm-site.page-home .home-process-journey .process-visual-icon { top: 26px; left: 24px; right: auto; width: 48px; height: 48px; margin: 0; border-radius: 14px; }
.fm-site.page-home .home-process-journey .home-process-step-copy { padding-left: 68px; }
.fm-site.page-home .home-process-journey .process-visual-label { font-size: .6875rem; letter-spacing: .08em; }
.fm-site.page-home .home-process-journey .process-visual-card h3 { margin: 9px 0 12px; font-size: 1.4rem; }
.fm-site.page-home .home-process-journey .process-visual-card p { font-size: .9375rem; line-height: 1.7; }
.fm-site.page-home .home-process-journey .process-visual-card--watermark .process-visual-icon { top: 18px; left: auto; right: 18px; width: 95px; height: 95px; }
.fm-site.page-home .home-process-journey .process-visual-card--watermark .home-process-step-copy { padding-left: 0; }
.fm-site.page-home .home-process-journey .process-visual-card--centered .process-visual-icon { position: relative; inset: auto; margin: 0 auto 20px; }
.fm-site.page-home .home-process-journey .process-visual-card--centered .home-process-step-copy { padding-left: 0; }
.fm-site.page-home .home-process-journey .process-visual-card--outline .process-visual-icon { border-radius: 50%; }
.fm-site.page-home .home-process-journey .process-visual-card--banner .process-visual-icon { position: relative; inset: auto; width: 100%; margin-bottom: 20px; }
.fm-site.page-home .home-process-journey .process-visual-card--banner .home-process-step-copy { padding-left: 0; }
.fm-site.page-home .home-process-journey .process-visual-footer { padding-left: 64px; border: 0; }
.fm-site.page-home .home-process-journey .process-visual-footer > span, .fm-site.page-home .home-process-journey .process-visual-footer > i { display: none; }
.fm-site.page-home .home-process-journey .process-visual-footer .btn { width: 100%; margin: 0; color: #fff4ec; background: #62476e; border-color: #62476e; box-shadow: none; }
@media (max-width: 1000px) {
    .fm-site.page-home .home-about-studio-heading { gap: 40px; }
    .fm-site.page-home .home-services-studio-layout { grid-template-columns: .9fr 1.3fr; gap: 30px; }
    .fm-site.page-home .home-process-journey-layout { grid-template-columns: .85fr 1.2fr; gap: 40px; }
    .fm-site.page-home .home-founder-editorial .home-founder-copy { padding: 24px 15px; }
}
@media (max-width: 760px) {
    .fm-site.page-home :is(.home-about-studio, .home-services-studio, .home-process-journey, .home-founder-editorial) { padding-block: 58px; }
    .fm-site.page-home .home-about-studio-heading, .fm-site.page-home .home-about-studio-board, .fm-site.page-home .home-services-studio-layout, .fm-site.page-home .home-process-journey-layout, .fm-site.page-home .home-founder-editorial .home-founder-shell { grid-template-columns: minmax(0, 1fr); gap: 30px; }
    .fm-site.page-home .home-about-studio-heading { margin-bottom: 30px; }
    .fm-site.page-home .home-about-studio h2 { font-size: clamp(2.4rem, 9vw, 3.2rem); }
    .fm-site.page-home .home-about-studio .company-profile-visual > img { height: 300px; }
    .fm-site.page-home .home-about-studio .company-profile-visual { border-radius: 20px 20px 20px 50px; }
    .fm-site.page-home .home-about-studio .company-profile-cycle span { min-height: 95px; padding: 22px; font-size: 1.15rem; }
    .fm-site.page-home .home-founder-editorial { padding-top: 0; }
    .fm-site.page-home .home-founder-editorial .home-founder-shell { padding: 18px; border-radius: 24px; }
    .fm-site.page-home .home-founder-editorial .home-founder-copy { padding: 10px 8px 20px; }
    .fm-site.page-home .home-founder-editorial .home-founder-media { width: 100%; max-width: none; }
    .fm-site.page-home .home-founder-editorial .home-founder-image { height: auto; }
    .fm-site.page-home .home-services-studio .home-services-toolbar { align-items: center; flex-direction: row; justify-content: space-between; margin-bottom: 10px; }
    .fm-site.page-home .home-services-studio .home-services-carousel { grid-auto-columns: 82%; gap: 16px; }
    .fm-site.page-home .home-services-studio .home-service-card { min-height: 390px; padding: 26px; }
    .fm-site.page-home .home-process-journey-intro { position: static; }
    .fm-site.page-home .home-process-journey-marker { margin: 0; padding: 16px 0; }
    .fm-site.page-home .home-process-journey .process-visual-grid { padding-left: 45px; }
    .fm-site.page-home .home-process-journey .process-visual-grid::before { left: 19px; }
    .fm-site.page-home .home-process-journey .process-visual-card { padding: 22px; }
    .fm-site.page-home .home-process-journey .process-visual-card-heading { left: -46px; }
    .fm-site.page-home .home-process-journey .process-visual-card-heading b { width: 32px; height: 32px; font-size: .75rem; border-width: 4px; }
    .fm-site.page-home .home-process-journey .process-visual-icon { left: 20px; top: 22px; width: 38px; height: 38px; }
    .fm-site.page-home .home-process-journey .home-process-step-copy { padding-left: 0; padding-top: 56px; }
    .fm-site.page-home .home-process-journey .process-visual-card--watermark .home-process-step-copy, .fm-site.page-home .home-process-journey .process-visual-card--centered .home-process-step-copy, .fm-site.page-home .home-process-journey .process-visual-card--banner .home-process-step-copy { padding-top: 0; }
    .fm-site.page-home .home-process-journey .process-visual-footer { padding-left: 45px; }
}

/* Warm text and accents on clean white lower homepage sections. */
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) {
    --home-deep: #392d45;
    --home-navy: #664389;
    --home-blue: #7955a0;
    --home-green: #8b4182;
    --home-green-dark: #69365f;
    --home-green-light: #e9d9f5;
    --home-mint: #ede2f6;
    --home-muted: #6c5d70;
    --home-line: #e3d7e8;
    --home-red: #b84f39;
    color: #392d45;
    background: #fff;
}
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) h2 { color: #392d45; }
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) h2 span { color: #8b4182; }
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) .eyebrow { color: #69365f; background: #ede2f6; }
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) .eyebrow::before { background: #c46c45; }
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) :is(.home-feature-heading, .home-video-heading, .home-gallery-heading) a { color: #664389; }
.fm-site.page-home #industries .home-feature-heading > div:last-child,
.fm-site.page-home #industries .carousel-toolbar { color: #6c5d70; }
.fm-site.page-home #industries .industry-showcase-copy strong { color: #fff; }
.fm-site.page-home #industries .industry-showcase-copy small { color: #efdeed; }
.fm-site.page-home #industries .industry-showcase-number { color: #392d45; background: #ffe0bc; }
.fm-site.page-home #industries .content-empty { color: #6c5d70; background: #fff; border-color: #d7bfdc; }
.fm-site.page-home #industries .content-empty h3 { color: #392d45; }
.fm-site.page-home #opportunities .home-job-status { color: #fff; background: #854077; }
.fm-site.page-home #video-stories .home-video-copy h3,
.fm-site.page-home #success-stories .home-story-card h3 { color: #392d45; }
.fm-site.page-home #video-stories .home-video-copy > p { color: #664389; }
.fm-site.page-home #success-stories .home-story-avatar { color: #69365f; background: #ede2f6; }
.fm-site.page-home :is(#industries, #opportunities, #video-stories, #success-stories, #home-gallery) :focus-visible { outline-color: #bd76ac; }

/* Quiet section surfaces keep the color within the content. */
.fm-site.page-home :is(.home-about-studio, .home-founder-editorial, .home-process-journey) { background: #fafaf8; }

/* Profile-led trust and company facts */
.fm-site.page-home .trust-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fm-site.page-home .home-company-facts span { align-content: center; }
.fm-site.page-home .home-company-facts span small { display: block; margin-bottom: 6px; color: inherit; font-size: .62rem; font-weight: 650; letter-spacing: .12em; opacity: .72; }
.fm-site.page-home .home-company-facts .home-company-licence { display:flex; grid-template-columns:none; align-items:center; gap:10px; white-space:nowrap; }
.fm-site.page-home .home-company-facts .home-company-licence small { display:inline; margin:0; }
.fm-site.page-home .home-founder-message { margin: -8px 0 28px; color: #bfcddd; font-size: .92rem; line-height: 1.8; }
.fm-site.page-home .home-compliance-note { max-width: 640px; margin: 20px 0 0; color: rgba(255, 255, 255, .7); font-size: .8rem; line-height: 1.7; }

@media (max-width: 980px) {
    .fm-site.page-home .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
    .fm-site.page-home .trust-grid { grid-template-columns: 1fr; }
}
.fm-site.page-home .home-services-studio { background: #f5f5f4; }
.fm-site.page-home .home-compliance { background: #f5f5f4; }
.fm-site.page-home .home-process-journey .process-visual-card-heading b { border-color: #fafaf8; }

/* Two rows share one slowly moving, manually browsable viewport. */
.fm-site.page-home #home-industries-carousel { grid-template-rows: repeat(2, 220px); grid-auto-columns: clamp(235px, 25vw, 330px); scroll-snap-type: none; scrollbar-width: thin; }
.fm-site.page-home #home-industries-carousel .industry-showcase-card { min-height: 0; opacity: 1; transform: none; }
.fm-site.page-home .industry-motion-controls { display: flex; justify-content: flex-end; margin: -8px 0 14px; }
.fm-site.page-home :is(.industry-motion-controls, .carousel-motion-controls) button { padding: 8px 14px; border: 1px solid var(--home-line); border-radius: 999px; color: var(--home-green-dark); background: #fff; font: inherit; font-size: .75rem; cursor: pointer; }
.fm-site.page-home .carousel-motion-controls { margin-top: 18px; }
.fm-site.page-home .home-services-carousel[data-slow-carousel] { scroll-snap-type: none; }

.fm-site.page-home .home-job-more { margin-top: 32px; padding: 26px 30px 10px; border: 1px solid var(--home-line); border-radius: 22px; background: #fafaf9; }
.fm-site.page-home .home-job-more-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.fm-site.page-home .home-job-more-heading h3 { margin: 0; font-size: 1.2rem; }
.fm-site.page-home .home-job-more-heading > span { color: var(--home-muted); font-size: .8rem; }
.fm-site.page-home .home-job-list { margin: 0; padding: 0; list-style: none; }
.fm-site.page-home .home-job-list li { border-top: 1px solid var(--home-line); }
.fm-site.page-home .home-job-list a { display: flex; align-items: center; gap: 22px; padding: 19px 0; border-radius: 8px; }
.fm-site.page-home .home-job-list a:hover { background: #f1edf4; }
.fm-site.page-home .home-job-list-number { color: #8b4182; font-size: .8rem; }
.fm-site.page-home .home-job-list-role { flex: 1; min-width: 0; }
.fm-site.page-home .home-job-list-role strong, .fm-site.page-home .home-job-list-role small { display: block; }
.fm-site.page-home .home-job-list-role strong { font-size: .95rem; }
.fm-site.page-home .home-job-list-role small { margin-top: 5px; color: var(--home-muted); font-size: .76rem; }
.fm-site.page-home .home-job-list-salary { font-size: .8rem; }
.fm-site.page-home .home-job-list-arrow { color: #8b4182; font-size: 1.4rem; }

/* A minimal video shelf sits immediately before the written stories. */
.fm-site.page-home #video-stories { padding-block: 60px 36px; }
.fm-site.page-home .home-video-minimal-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.fm-site.page-home .home-video-minimal-heading h2 { margin: 8px 0 0; font-size: clamp(1.8rem, 3vw, 2.6rem); letter-spacing: -.04em; }
.fm-site.page-home .home-video-minimal-heading > a { flex-shrink: 0; padding-bottom: 5px; color: #754368; font-size: .85rem; }
.fm-site.page-home #video-stories .home-video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fm-site.page-home #video-stories .home-video-card { border: 0; border-radius: 0; background: none; box-shadow: none; }
.fm-site.page-home #video-stories .home-video-player { aspect-ratio: 16 / 9; border-radius: 12px; }
.fm-site.page-home #video-stories iframe { display: block; border: 0; }
.fm-site.page-home #video-stories .home-video-copy { padding: 16px 0 0; }
.fm-site.page-home #video-stories .home-video-copy > p { margin: 0 0 6px; color: var(--home-muted); font-size: .75rem; }
.fm-site.page-home #video-stories .home-video-copy small { display: block; margin-top: 3px; font-size: .7rem; }
.fm-site.page-home #video-stories .home-video-copy h3 { margin: 0; font-size: 1rem; line-height: 1.45; }
.fm-site.page-home #video-stories + #success-stories { padding-top: 44px; }
.fm-site.page-home .home-story-studio .home-story-card { position: relative; border-top: 4px solid #af89bd; box-shadow: none; background: #fcf9fd; }
.fm-site.page-home .home-story-studio .home-story-card:nth-child(3n+2) { border-top-color: #ca9775; background: #fffaf4; }
.fm-site.page-home .home-story-studio .home-story-card:nth-child(3n) { border-top-color: #7daba2; background: #f5faf8; }
.fm-site.page-home .home-story-studio .home-story-card h3 { margin-top: 16px; font-size: 1.15rem; line-height: 1.4; }
@media (max-width: 800px) {
    .fm-site.page-home #video-stories .home-video-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 76%; gap: 18px; overflow-x: auto; padding-bottom: 14px; scroll-snap-type: x mandatory; }
    .fm-site.page-home #video-stories .home-video-card { scroll-snap-align: start; }
    .fm-site.page-home .home-video-minimal-heading { align-items: start; flex-direction: column; gap: 12px; }
}
@media (max-width: 550px) {
    .fm-site.page-home #home-industries-carousel { grid-template-rows: repeat(2, 190px); grid-auto-columns: 78%; }
    .fm-site.page-home .home-job-more { padding: 22px 18px 8px; }
    .fm-site.page-home .home-job-more-heading { display: block; }
    .fm-site.page-home .home-job-more-heading > span { display: block; margin-top: 8px; }
    .fm-site.page-home .home-job-list a { flex-wrap: wrap; gap: 10px; }
    .fm-site.page-home .home-job-list-role { flex-basis: calc(100% - 40px); }
    .fm-site.page-home .home-job-list-salary { margin-left: 27px; flex: 1; }
}

.fm-site .video-resource-heading { margin:20px 0 16px; }
.fm-site .video-resource-heading h3 { font-size:1.1rem; margin:0 0 8px; }
.fm-site .video-resource-heading p { max-width:800px; color:#52637a; font-size:.85rem; line-height:1.6; }
@media(min-width:901px) { .fm-site.page-home #main-content > .section { padding-block:64px; } }

/* Service wheel: a quiet alternative to the image directory above it. */
.fm-site.page-home .home-services-orbit { background:#f2f4f8; overflow:hidden; }
.service-orbit-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:34px; }
.service-orbit-intro .eyebrow { color:#526582; }
.service-orbit-intro h2 { max-width:620px; margin:12px 0 0; color:#172b49; font-size:clamp(2rem,3.6vw,3.5rem); font-weight:500; line-height:1.12; letter-spacing:-.045em; }
.service-orbit-intro p:not(.eyebrow) { max-width:580px; margin:0 0 18px; color:#5e6d82; font-size:.95rem; line-height:1.8; }
.service-orbit-all { color:#203b61; font-size:.85rem; font-weight:700; text-decoration:none; }
.service-orbit [hidden] { display:none!important; }
.service-orbit-layout { min-width:0; }
.service-orbit[data-orbit-desktop] .service-orbit-layout { display:grid; grid-template-columns:minmax(320px,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.service-orbit-wheel { --orbit-radius:clamp(138px,17vw,196px); position:relative; width:min(100%,480px); aspect-ratio:1; margin:0 auto; }
.service-orbit-guide { position:absolute; inset:calc(50% - var(--orbit-radius)); border:1px solid #b9c8db; border-radius:50%; }
.service-orbit-guide::before { content:''; position:absolute; inset:24px; border:1px dashed #d3dce8; border-radius:50%; }
.service-orbit-progress { position:absolute; inset:calc(50% - var(--orbit-radius) + 24px); width:calc(var(--orbit-radius) + var(--orbit-radius) - 48px); height:auto; overflow:visible; pointer-events:none; }
.service-orbit-progress-fill { fill:none; stroke:#b08c45; stroke-width:.75; stroke-linecap:round; stroke-dasharray:100; stroke-dashoffset:100; }
.service-orbit-progress-dot { fill:#b08c45; stroke:#fff; stroke-width:.6; }
.service-orbit-center { position:absolute; z-index:2; inset:50% auto auto 50%; transform:translate(-50%,-50%); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:180px; height:180px; padding:20px; border:1px solid #d0d9e6; border-radius:50%; background:#e3eaf4; text-align:center; pointer-events:none; }
.service-orbit-center-mark { color:#23466f; font-size:1.9rem; font-weight:800; letter-spacing:-.08em; line-height:1; }
.service-orbit-center strong { max-width:145px; color:#203650; font-size:.95rem; line-height:1.4; font-weight:600; }
.service-orbit-center small { color:#60718a; font-size:.7rem; }
.service-orbit-ring { --orbit-rotation:0deg; position:absolute; z-index:3; inset:0; transform:rotate(var(--orbit-rotation)); transition:transform .85s cubic-bezier(.22,.7,.22,1); }
.service-orbit-node { position:absolute; top:50%; left:50%; display:grid; place-items:center; width:60px; height:60px; padding:0; border:1px solid #c6d3e4; border-radius:50%; background:#fff; color:#526987; box-shadow:0 4px 14px rgb(25 45 75 / .06); cursor:pointer; transform:translate(-50%,-50%) rotate(var(--node-angle)) translateX(var(--orbit-radius)); }
.service-orbit-node[aria-selected=true] { background:#203b61; color:#fff; border-color:#203b61; box-shadow:0 0 0 7px #e0d6be; }
.service-orbit-node:focus-visible { outline:3px solid #b48a3c; outline-offset:6px; }
.service-orbit-node-inner { position:relative; display:grid; place-items:center; width:100%; height:100%; transform:rotate(calc(-1 * (var(--node-angle) + var(--orbit-rotation)))); transition:transform .85s cubic-bezier(.22,.7,.22,1); }
.service-orbit-node svg { width:26px; height:26px; }
.service-orbit-node-inner > small { position:absolute; top:-3px; right:-4px; display:grid; place-items:center; width:21px; height:21px; border:1px solid #d4dce7; border-radius:50%; background:#f6f4ee; color:#435a78; font-size:.6rem; font-weight:700; }
.service-orbit-node-label { position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%); width:max-content; max-width:110px; padding:3px 7px; border-radius:4px; background:#f2f4f8; color:#344e70; font-size:.67rem; font-weight:600; line-height:1.5; text-align:center; opacity:0; pointer-events:none; }
.service-orbit-node:is(:hover,:focus-visible,[aria-selected=true]) .service-orbit-node-label { opacity:1; }
.service-orbit-hint { position:absolute; bottom:-22px; left:0; display:flex; flex-direction:column; gap:5px; width:100%; color:#6e7b90; font-size:.72rem; text-align:center; }
.service-orbit-hint small { color:#8b642f; font-size:.67rem; font-variant-numeric:tabular-nums; }
.service-orbit[data-orbit-desktop] .service-orbit-wheel { margin-bottom:24px; }
.service-orbit-details { min-width:0; }
.service-orbit-controls { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.service-orbit-counter { display:flex; align-items:baseline; gap:8px; color:#7b889b; font-size:.75rem; }
.service-orbit-counter b { color:#203b61; font-size:1.2rem; font-weight:500; }
.service-orbit-arrows { display:flex; gap:8px; }
.service-orbit-arrows button { display:grid; place-items:center; width:40px; height:40px; border:1px solid #c9d3e2; border-radius:50%; background:transparent; color:#365442; font-size:1rem; cursor:pointer; }
.service-orbit-arrows button:hover { background:#203b61; color:white; border-color:#203b61; }
.service-orbit-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.service-orbit-panel { min-width:0; padding:28px; border:1px solid #dce3ed; border-radius:18px; background:#fff; }
.service-orbit[data-orbit-desktop] .service-orbit-panels { display:block; }
.service-orbit[data-orbit-desktop] .service-orbit-panel { min-height:360px; padding:34px; }
.service-orbit-category { display:flex; align-items:center; gap:10px; color:#687a92; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.service-orbit-category > span { color:#b08c45; }
.service-orbit-panel h3 { margin:20px 0 16px; color:#203b61; font-size:clamp(1.4rem,2.4vw,2rem); font-weight:500; line-height:1.25; letter-spacing:-.025em; }
.service-orbit-panel > p { margin:0; color:#586b82; font-size:.92rem; line-height:1.8; }
.service-orbit-deliverable { margin-top:24px; padding:18px 0 0; border-top:1px solid #e4e9f0; }
.service-orbit-deliverable > span { color:#8b642f; font-size:.65rem; letter-spacing:.07em; text-transform:uppercase; font-weight:700; }
.service-orbit-deliverable p { margin:8px 0 0; color:#526782; font-size:.83rem; line-height:1.7; }
.service-orbit-link { display:inline-flex; align-items:center; gap:20px; margin-top:24px; color:#203b61; font-size:.82rem; font-weight:700; text-decoration:none; }
.service-orbit-link > span { font-size:1.2rem; }
.service-orbit-motion { margin-top:18px; }
.service-orbit-motion button { padding:8px 0; border:0; background:transparent; color:#60728a; font:inherit; font-size:.72rem; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
@media(max-width:1050px) and (min-width:901px) {
    .service-orbit[data-orbit-desktop] .service-orbit-layout, .service-orbit-intro { gap:34px; }
    .service-orbit-center { width:150px; height:150px; padding:16px; gap:8px; }
    .service-orbit-center strong { font-size:.8rem; }
    .service-orbit-node { width:52px; height:52px; }
}
@media(max-width:900px) {
    .service-orbit-intro { grid-template-columns:1fr; gap:24px; margin-bottom:28px; }
    .service-orbit-panels { grid-template-columns:1fr; }
    .service-orbit-panel { padding:24px; }
    .service-orbit-panel h3 { margin-top:14px; }
}
@media(prefers-reduced-motion:reduce) {
    .service-orbit-ring, .service-orbit-node-inner { transition:none; }
}
