/* One Omega opening and one contact component, shared by every page family.
   Runtime colour/type tokens remain owned by styles.css. */
body.omega-shell-review .omega-title-band,
body.omega-shell-review .omega-page-hero,
body.omega-shell-review .omega-support-hero,
body.omega-shell-review .omega-people-opening {background:var(--navy);color:var(--white)}
body.omega-shell-review .omega-title-band {padding-block:58px 62px;margin:0}
body.omega-shell-review .omega-title-band :is(.index-heading,.project-heading,.article-heading,.careers-opening,.portrait-proposal-opening) {padding-block:0;margin-block:0}
body.omega-shell-review .omega-title-band .portrait-proposal-opening p {color:var(--white);font-size:20px;line-height:1.6}
body.omega-shell-review :is(.omega-title-band,.omega-page-hero,.omega-support-hero,.omega-people-opening) :is(h1,.page-lead,.about-slogan,.about-copy,.large-copy,.article-meta,.project-meta,.careers-copy>p) {color:var(--white)}
body.omega-shell-review .omega-title-band h1 {font-size:clamp(38px,4.6vw,66px);line-height:1.08;letter-spacing:-1.35px;max-width:1050px;text-wrap:pretty;word-break:normal;overflow-wrap:normal;hyphens:none}
body.omega-shell-review .omega-title-band .page-lead {max-width:840px;font-size:22px;line-height:1.55;margin-top:26px}
body.omega-shell-review .omega-title-band .index-heading>p:not(.page-lead) {color:var(--white);font-size:19px;max-width:850px;line-height:1.6}
body.omega-shell-review .omega-title-band .project-meta {margin-top:32px;padding-top:24px;border-color:color-mix(in srgb,var(--white) 25%,transparent)}
body.omega-shell-review .omega-title-band .project-meta :is(dt,dd),
body.omega-shell-review .omega-title-band .article-meta span {color:var(--white)}
body.omega-shell-review .omega-title-band .article-heading {max-width:var(--page-width)}
body.omega-shell-review .omega-title-band .article-meta {margin-top:28px}
body.omega-shell-review .omega-page-hero {display:block;width:100%;max-width:none;padding:60px var(--page-gutter) 0;margin-block:0}
body.omega-shell-review .omega-page-hero .page-hero-copy {display:grid;grid-template-columns:1.15fr 1fr;gap:25px 70px;max-width:var(--page-width);margin-inline:auto;padding-bottom:54px;align-items:start}
body.omega-shell-review .omega-page-hero .page-hero-copy h1 {grid-column:1;grid-row:1/span 2;font-size:clamp(38px,4.6vw,66px);line-height:1.08;letter-spacing:-1.35px;align-self:center;min-width:0;text-wrap:pretty;word-break:normal;overflow-wrap:normal;hyphens:none}
body.omega-shell-review .omega-page-hero .page-lead {grid-column:2;grid-row:1;font-size:22px;line-height:1.6;margin:0;max-width:580px}
body.omega-shell-review .omega-page-hero .page-actions {grid-column:2;grid-row:2;margin:0;gap:16px 26px;flex-wrap:wrap}
body.omega-shell-review .omega-page-hero .text-link {color:var(--white)}
body.omega-shell-review .omega-page-hero .page-hero-image {margin:0 auto;padding:0;max-width:var(--page-width)}
body.omega-shell-review .omega-page-hero .page-hero-image::after {display:none}
body.omega-shell-review .omega-page-hero .page-hero-image img {width:100%;aspect-ratio:2.5;object-fit:cover;object-position:var(--service-photo-position,center);border-radius:2px 2px 100px 2px}
body.omega-shell-review :is(.omega-title-band,.omega-page-hero,.omega-support-hero) a:focus-visible {outline-color:var(--white);outline-offset:5px}
body.omega-shell-review .omega-people-opening {padding-block:64px 0}
body.omega-shell-review .omega-people-opening .team-portrait {color:var(--white);margin-top:50px}
body.omega-shell-review .omega-people-opening figcaption {color:var(--white)}
body.omega-shell-review .omega-people-opening :is(.about-copy p,.about-slogan) {color:inherit}
body.omega-shell-review .omega-people-opening .team-photo {background:var(--portrait-neutral)}

.omega-offer-intro .prose {max-width:940px;margin-inline:auto;font-size:21px;line-height:1.65}
.omega-offer-work-list {padding-bottom:72px}
.omega-offer-work {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:65px;border-top:1px solid var(--border);padding-block:34px}
.omega-offer-work:last-child {border-bottom:1px solid var(--border)}
.omega-offer-work h2 {font-size:clamp(26px,2.5vw,34px);line-height:1.22;letter-spacing:-.5px;overflow-wrap:normal;hyphens:manual;margin:0;max-width:420px}
.omega-offer-work p {font-size:20px;line-height:1.65;margin:0}
.omega-policy-references {background:var(--blue-pale)}
.omega-policy-references h2 {font-size:clamp(32px,3.8vw,48px);line-height:1.15;margin-bottom:20px}
.omega-policy-references .container>p {max-width:850px;font-size:20px;line-height:1.65}
.omega-policy-references .reference-grid {margin-top:40px}

/* Full-content-width vacancies. Colour, type and button states use Omega tokens. */
.careers-page .careers-vacancies .vacancies {grid-template-columns:minmax(0,1fr);gap:24px}
.careers-page .careers-vacancies .vacancy {display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:start;gap:48px;padding:40px 44px;background:var(--blue-pale);border:1px solid var(--border);border-inline-start:4px solid var(--turquoise);border-radius:var(--radius-photo)}
.careers-page .careers-vacancies .vacancy>div {min-width:0}
.careers-page .careers-vacancies .vacancy h3 {max-width:none;word-break:normal;overflow-wrap:normal;hyphens:manual;text-wrap:pretty}
.careers-page .careers-vacancies .vacancy p {max-width:68ch}
.careers-page .careers-vacancies .vacancy-apply {align-self:end;justify-self:end;justify-content:space-between;width:100%;max-width:100%;min-width:0;min-height:56px;margin:0;gap:20px;text-align:start;white-space:normal}
.careers-page .careers-vacancies .vacancy-apply:focus-visible {outline-color:var(--accent-text);outline-offset:5px}

body.omega-shell-review .contact-copy.omega-contact-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:36px;padding-top:44px;align-items:start}
body.omega-shell-review .omega-contact-personal {min-width:0;padding:34px 34px 0;background:var(--white);border-radius:2px 2px 34px 2px}
body.omega-shell-review .omega-contact-identity {display:grid;grid-template-columns:minmax(0,1fr) 144px;gap:0 20px;align-items:center;border-bottom:2px solid var(--turquoise);padding-bottom:25px}
body.omega-shell-review .omega-contact-personal .contact-intro {display:contents;margin:0;max-width:100%;text-align:start}
body.omega-shell-review .omega-contact-personal .contact-intro h2 {grid-column:1;grid-row:1;font-size:30px;line-height:1.2;letter-spacing:-.4px;max-width:none;margin:0;text-wrap:balance;overflow-wrap:normal;hyphens:manual}
body.omega-shell-review .omega-contact-brand {grid-column:2;grid-row:1;display:block;width:144px;max-width:100%;height:auto;object-fit:contain}
body.omega-shell-review .omega-contact-personal .contact-intro>p {grid-column:1/-1;grid-row:2;font-size:18px;line-height:1.55;margin:18px 0 0;max-width:100%}
body.omega-shell-review .omega-contact-personal .contact-direct {display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;text-align:start;gap:22px;margin:27px 0 0;padding:0;grid-column:auto;grid-row:auto;width:100%;min-width:0}
body.omega-shell-review .omega-contact-method {display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:16px;width:100%;min-width:0}
body.omega-shell-review .omega-contact-method dt {position:relative;grid-column:2;font:400 15px/1.45 var(--font-sans);color:var(--muted);margin:0 0 2px}
body.omega-shell-review .omega-contact-icon {position:absolute;inset-inline-start:-44px;top:18px;display:block;width:28px;height:28px;color:var(--turquoise)}
body.omega-shell-review .omega-contact-method dd {grid-column:2;margin:0;min-width:0;color:var(--text);font:500 20px/1.5 var(--font-sans)}
body.omega-shell-review .omega-contact-method a {display:inline-block;width:fit-content;max-width:100%;min-height:44px;align-content:center;overflow-wrap:anywhere;font:600 21px/1.4 var(--font-sans);color:var(--text);letter-spacing:0;text-decoration:none}
body.omega-shell-review .omega-contact-method a:hover {color:var(--accent-text);text-decoration:underline;text-underline-offset:5px}
body.omega-shell-review .omega-contact-method a:focus-visible {outline:3px solid var(--accent-text);outline-offset:5px}
body.omega-shell-review .omega-contact-hours dd {font-size:18px;line-height:1.6;font-weight:400}
body.omega-shell-review .omega-contact-personal .contact-team {margin:30px -34px 0;width:calc(100% + 68px);max-width:none;grid-column:auto;grid-row:auto;background:var(--portrait-neutral);padding:24px 10px 0;border-radius:0 0 34px 2px}
body.omega-shell-review .omega-contact-page {padding-block:50px 65px}
body.omega-shell-review .omega-contact-page .omega-contact-grid {border:0;padding-top:0}
body.omega-shell-review .omega-contact-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:calc(100% - 2 * var(--page-gutter));max-width:var(--page-width);margin:0 auto 80px}
body.omega-shell-review .omega-contact-gallery figure {margin:0;grid-column:auto;grid-row:auto}
body.omega-shell-review .omega-contact-gallery img {aspect-ratio:1.5;height:auto;object-fit:cover}

body.omega-shell-review .omega-contact-form {background:var(--white);padding:34px;border-radius:2px 2px 34px 2px;border-top:3px solid var(--turquoise);min-width:0;max-width:100%;box-shadow:0 9px 34px color-mix(in srgb,var(--navy) 4%,transparent)}
.omega-contact-form h3 {font-family:var(--font-sans);color:var(--text);font-size:30px;line-height:1.2;margin:0 0 12px;font-weight:600;letter-spacing:-.4px}
.omega-contact-form .omega-form-intro {font-size:18px;line-height:1.55;margin:0 0 12px;max-width:560px}
.omega-contact-form .omega-form-hint {font-size:15px;line-height:1.5;margin:0 0 24px;color:var(--muted)}
.omega-contact-form fieldset {border:0;padding:0;margin:0;min-width:0}
.omega-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.omega-form-field {min-width:0}
.omega-form-field label {display:block;font:600 17px/1.4 var(--font-sans);color:var(--text);margin-bottom:8px;cursor:pointer}
.omega-form-field label>span {font-weight:400;font-size:14px;color:var(--muted)}
.omega-form-field :is(input,textarea) {display:block;box-sizing:border-box;width:100%;min-height:50px;border:1px solid var(--border);border-radius:4px;background:var(--white);color:var(--text);font:400 18px/1.5 var(--font-sans);padding:11px 12px;box-shadow:none;scroll-margin-block:125px 30px}
.omega-form-field :is(input,textarea):hover {border-color:var(--accent-text)}
.omega-form-field :is(input,textarea):focus-visible {outline:3px solid var(--turquoise);outline-offset:2px;border-color:var(--navy)}
.omega-form-field :is(input,textarea)[aria-invalid=true] {border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}
.omega-field-message {grid-column:1/-1}
.omega-form-field textarea {resize:none;min-height:148px;max-height:420px;overflow-y:auto}
.omega-field-files {grid-column:1/-1}
.omega-file-drop {position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px 20px;border:1px dashed var(--accent-text);border-radius:4px;background:var(--white);text-align:center}
.omega-file-drop:hover,.omega-file-drop[data-dragging] {background:var(--blue-pale);border-style:solid}
.omega-file-drop:focus-within {outline:3px solid var(--turquoise);outline-offset:2px;border-color:var(--navy)}
.omega-form-field .omega-file-drop input {position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer}
.omega-file-hint {margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.omega-field-files[data-invalid] .omega-file-drop {border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}
.omega-file-list {list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.omega-file-list li {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 4px 14px;border:1px solid var(--border);border-radius:4px;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.omega-file-list button {flex:none;width:40px;height:40px;border:0;border-radius:4px;background:none;color:var(--text);font-size:24px;line-height:1}
.omega-file-list button:hover {background:var(--blue-pale)}
.omega-file-list button:focus-visible {outline:3px solid var(--turquoise);outline-offset:1px}
.omega-contact-form .omega-field-error {font-size:15px;line-height:1.4;margin:7px 0 0;color:var(--navy);font-weight:600}
.omega-form-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.omega-contact-form [data-contact-captcha]:not(:empty) {margin-top:24px;max-width:100%;min-height:65px}
.omega-contact-form .button {margin-top:24px;min-height:54px;min-width:210px;justify-content:center;cursor:pointer;font-family:var(--font-sans)}
.omega-contact-form .button:disabled {cursor:default;opacity:.65}
.omega-contact-form [aria-busy=true] {cursor:progress}
.omega-contact-form .omega-form-status {font-size:15px;line-height:1.5;min-height:45px;margin:18px 0 0;color:var(--muted);scroll-margin-block:125px}
.omega-contact-form[data-contact-state=success] .omega-form-status {font-size:18px;font-weight:600;color:var(--text)}
.omega-contact-form .omega-form-status:focus-visible {outline:2px solid var(--turquoise);outline-offset:4px}

@media(max-width:980px) {
 .careers-page .careers-vacancies .vacancy {grid-template-columns:minmax(0,1fr);gap:26px;padding:32px}
 .careers-page .careers-vacancies .vacancy-apply {justify-self:start;width:fit-content}
 body.omega-shell-review .omega-page-hero .page-hero-copy {column-gap:40px}
 body.omega-shell-review .contact-copy.omega-contact-grid {grid-template-columns:minmax(0,1fr);gap:30px}
 body.omega-shell-review .omega-contact-personal {padding:28px 28px 0}
 body.omega-shell-review .omega-contact-personal .contact-team {margin-inline:-28px;width:calc(100% + 56px)}
 body.omega-shell-review .omega-contact-form {padding:28px}
 .omega-form-grid {grid-template-columns:1fr;gap:18px}
 .omega-offer-work {gap:35px}
}
@media(max-width:780px) {
 body.omega-shell-review .omega-title-band {padding-block:40px 44px}
 body.omega-shell-review .omega-title-band h1 {font-size:clamp(34px,6vw,52px)}
 body.omega-shell-review .omega-page-hero {padding-top:40px}
 body.omega-shell-review .omega-page-hero .page-hero-copy {display:block;padding-bottom:35px}
 body.omega-shell-review .omega-page-hero .page-hero-copy h1 {font-size:clamp(34px,6vw,52px);max-width:700px}
 body.omega-shell-review .omega-page-hero .page-lead {margin-top:24px;font-size:20px}
 body.omega-shell-review .omega-page-hero .page-actions {margin-top:28px}
 body.omega-shell-review .omega-page-hero .page-hero-image img {aspect-ratio:1.8;border-bottom-right-radius:55px}
 body.omega-shell-review .contact-copy.omega-contact-grid {grid-template-columns:minmax(0,1fr);gap:38px}
 body.omega-shell-review .omega-contact-personal .contact-team {margin-top:28px;max-width:none}
 .omega-form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .omega-offer-work {grid-template-columns:1fr;gap:20px}
 .omega-offer-work h2 {max-width:100%}
}
@media(max-width:540px) {
 .careers-page .careers-vacancies .vacancy {padding:26px 22px;gap:22px}
 .careers-page .careers-vacancies .vacancy-apply {width:100%;padding-inline:18px}
 .careers-page .careers-vacancies .vacancy h3 {hyphens:auto}
 body.omega-shell-review .omega-title-band h1,
 body.omega-shell-review .omega-page-hero .page-hero-copy h1 {font-size:clamp(30px,7.8vw,42px);letter-spacing:-.7px;hyphens:auto}
 body.omega-shell-review .omega-title-band .page-lead {font-size:20px}
 body.omega-shell-review .omega-page-hero .page-hero-image img {aspect-ratio:1.45;border-bottom-right-radius:40px}
 body.omega-shell-review .omega-contact-form {padding:24px 20px}
 body.omega-shell-review .omega-contact-personal {padding:24px 20px 0}
 body.omega-shell-review .omega-contact-identity {grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:22px}
 body.omega-shell-review .omega-contact-brand {grid-column:1;grid-row:1;width:168px}
 body.omega-shell-review .omega-contact-personal .contact-intro h2 {grid-row:2;font-size:28px;text-wrap:pretty}
 body.omega-shell-review .omega-contact-personal .contact-intro>p {grid-row:3;margin:0}
 body.omega-shell-review .omega-contact-personal .contact-team {margin-inline:-20px;width:calc(100% + 40px);padding-top:18px}
 body.omega-shell-review .omega-contact-method {column-gap:12px}
 body.omega-shell-review .omega-contact-icon {inset-inline-start:-40px;width:26px;height:26px}
 .omega-form-grid {grid-template-columns:1fr}
 .omega-contact-form h3 {font-size:27px}
 .omega-contact-form .button {width:100%;min-width:0}
 .omega-offer-intro .prose,.omega-offer-work p {font-size:19px}
 .omega-offer-work {padding-block:27px}
 body.omega-shell-review .omega-contact-gallery {grid-template-columns:1fr;gap:25px}
 body.omega-shell-review .omega-contact-method a {font-size:18px;min-height:44px}
}
@media(forced-colors:active) {
 .careers-page .careers-vacancies .vacancy {border-color:CanvasText}
 body.omega-shell-review :is(.omega-title-band,.omega-page-hero,.omega-support-hero,.omega-people-opening) {background:Canvas;color:CanvasText;border-block:1px solid CanvasText}
 body.omega-shell-review :is(.omega-title-band,.omega-page-hero,.omega-support-hero,.omega-people-opening) :is(h1,p,span,dt,dd) {color:CanvasText}
 .omega-contact-form :is(input,textarea),body.omega-shell-review .omega-contact-form {border:1px solid CanvasText}
 body.omega-shell-review .omega-contact-identity {border-color:CanvasText}
 body.omega-shell-review .omega-contact-icon {color:CanvasText}
}
