/* Shared behaviours, six content-driven website compositions. All dependencies are local. */
.site-body{--v3-dark:var(--navy);--v3-blue:var(--blue);font-size:16px}
.site-header.v3-header{background:transparent!important;backdrop-filter:none;transition:background .24s,box-shadow .24s}
.site-header.v3-header:not(.is-scrolled) .v3-nav-shell{background:transparent;border-color:transparent;box-shadow:none}
.site-header.v3-header.is-scrolled{background:#f8faf8f5!important;backdrop-filter:blur(16px);box-shadow:0 5px 24px #0b294414}
.site-header.v3-header.is-scrolled .v3-nav-shell{background:#fff;border-color:#e3e9e6;box-shadow:none}
.v3-contact-rail{background:transparent;transition:height .2s,opacity .2s;overflow:hidden}
.v3-header.rail-collapsed .v3-contact-rail{height:0;opacity:0;pointer-events:none}
.rail-toggle{position:absolute;top:3px;right:6px;z-index:2;width:27px;height:27px;border:1px solid #8b9a9b5e;background:transparent;color:inherit;border-radius:50%;display:grid;place-items:center}
.rail-toggle .icon{font-size:11px;transition:transform .2s}.rail-collapsed .rail-toggle .icon{transform:rotate(180deg)}
.v3-header .v3-contact-rail>.container{padding-right:16px}.site-header.v3-header .brand-mark{width:80px;height:80px;flex-basis:80px}
.site-footer .brand-mark,.site-footer .brand-mark.custom-mark{background:#fff!important;padding:12px;border-radius:25px 8px 25px 8px!important;width:100px;height:100px;flex-basis:100px;overflow:hidden;box-shadow:0 6px 25px #0002}
.site-footer .brand-mark img{object-fit:contain!important;width:100%!important;height:100%!important;position:static!important;transform:none!important}
.site-body .button>.fa-arrow-right,.site-body .text-link>.fa-arrow-right,.v3-mega-links>a>.fa-arrow-right,.v3-floating-note>.fa-arrow-right,.v3-worlds-picker>a>.fa-arrow-right,.v3-service-track a>.fa-arrow-up-right-from-square{display:none}
.site-body .button,.site-body .text-link{gap:10px}.site-body .v3-hero-intro,.site-body .reading-copy,.site-body .form-help,.site-body .enquiry-form label,.site-body .enquiry-form input,.site-body .enquiry-form textarea,.site-body .enquiry-form select{font-size:16px}
.site-body .section-heading>p,.site-body .v3-world-card p,.site-body .v3-film-caption,.site-body .dialog-intro{font-size:15px}
.site-dialog,.site-dialog.daily-insight,.site-dialog.subscription-dialog{inset:0!important;margin:auto!important;height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 40px)!important;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.site-dialog.daily-insight{width:min(500px,calc(100% - 32px));padding:35px 32px 30px}.daily-insight blockquote{font-size:clamp(21px,3vw,28px);line-height:1.45;margin:24px 0 15px}.daily-insight time,.daily-insight cite{font-size:14px}.daily-insight>button[data-daily-close]{position:absolute;right:13px;top:13px}
.account-invitation{margin:24px auto;padding:24px 0;border-top:2px solid var(--green);max-width:800px}.account-invitation h3{font-size:24px}.account-invitation p{font-size:15px;max-width:640px}.account-invitation .button{margin:8px 8px 0 0}
.account-invitation-dialog{width:min(510px,calc(100% - 32px))}.account-invitation-dialog .account-invitation{border:0;margin:0;padding:0}
.board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.board-grid img{width:100%;height:330px;object-fit:cover;border-radius:12px}.board-grid h3{font-size:26px;margin-top:14px}.board-grid .eyebrow{margin-top:20px}.board-portrait img{max-height:670px;width:100%;object-fit:contain}.board-profile h1{font-size:clamp(36px,5vw,65px)}
.specification-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:30px}.specification-grid>div{display:grid;grid-template-columns:1fr 1.5fr;border-top:1px solid #8b9c9e55;padding:18px 0;gap:20px}.block-feature img{width:100%;max-height:550px;object-fit:cover;margin-top:25px}
.gallery-grid figure{min-width:0;margin:0}.gallery-grid video,.gallery-grid .video-placeholder{width:100%;aspect-ratio:4/3;min-height:0;object-fit:cover}.gallery-grid .video-placeholder{padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px}.gallery-grid .video-placeholder h3{font-size:19px}.gallery-grid .video-placeholder p{font-size:14px}.gallery-grid iframe{width:100%;height:100%;border:0}.gallery-grid [data-external-media]{aspect-ratio:4/3}.gallery-grid figcaption{font-size:15px;padding:12px 0 20px}.gallery-viewport{max-height:76dvh;overflow-y:auto;scrollbar-gutter:stable;padding-right:14px}
.form-style-single-column .form-grid{grid-template-columns:1fr}.form-style-compact .form-scroll{max-height:420px}.form-style-stepped fieldset{margin:20px 0}.form-style-stepped .form-topline{border-bottom:3px solid var(--green)}.dynamic-field .form-structural{margin:15px 0}.dynamic-field hr{border-top:1px solid #8b9d9b}
.request-step legend{font-size:22px;font-weight:700;margin-bottom:20px}.request-step-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;border-top:1px solid #d5dfda}.request-step-controls output{font-size:14px}.request-step[hidden],.request-step-controls [hidden],.form-submit-bar [hidden]{display:none!important}
.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.theme-choice{background:#fff;border:1px solid #dce5e7;border-radius:16px;overflow:hidden}.theme-choice>div+div{padding:24px}.theme-choice h2{font-size:25px}.theme-choice p{font-size:14px}.theme-preview{height:180px;background:#f2f3ed;position:relative;overflow:hidden}.theme-preview span{position:absolute;inset:15px 15px auto;height:15px;background:var(--sample-dark);border-radius:3px}.theme-preview i{position:absolute;top:50px;left:15px;width:45%;height:75px;background:var(--sample-dark);border-radius:3px}.theme-preview b{position:absolute;top:50px;right:15px;width:42%;height:110px;background:var(--sample-accent);border-radius:35% 4% 35% 4%}.theme-preview em{position:absolute;bottom:20px;left:15px;width:36%;height:12px;background:var(--sample-accent)}
.theme-choice-foundry .theme-preview b{inset:40px 15px 45px;width:auto;height:auto;border-radius:0;opacity:.45}.theme-choice-atlas .theme-preview i{left:27%;width:46%;height:40px}.theme-choice-atlas .theme-preview b{top:100px;left:15px;right:15px;width:auto;height:65px;border-radius:0}.theme-choice-graphite .theme-preview{background:#101c2b}.theme-choice-graphite .theme-preview i{background:#fff3;left:55%;width:35%}.theme-choice-graphite .theme-preview b{left:15px;right:auto;max-width:40%;border-radius:2px}.theme-choice-terracotta .theme-preview{background:#f4e9df}.theme-choice-terracotta .theme-preview b{top:70px;border-radius:0}.theme-choice-verdant .theme-preview i{height:110px;width:32%}.theme-choice-verdant .theme-preview b{width:57%;border-radius:0;background:repeating-linear-gradient(0deg,var(--sample-accent) 0 22px,transparent 22px 29px)}
/* Foundry: panorama and stacked service rows. */
.theme-foundry .v3-hero{background:#edf0e9}.theme-foundry .v3-hero-grid{display:block;position:relative;min-height:690px;padding-block:80px}.theme-foundry .v3-hero-art{position:absolute;inset:25px 0 25px 38%;z-index:0;opacity:.34}.theme-foundry .v3-hero-copy{position:relative;z-index:1;max-width:760px;padding:35px;background:linear-gradient(90deg,#edf0e9 65%,transparent)}.theme-foundry .v3-hero :is(h1,.hero-message-heading){max-width:750px}.theme-foundry .v3-image-window,.theme-foundry .v3-hero-art img{border-radius:0;clip-path:none}.theme-foundry .v3-orbit,.theme-foundry .v3-floating-note,.theme-foundry .v3-art-label{display:none}.theme-foundry .button,.theme-foundry .v3-nav-shell{border-radius:2px}.theme-foundry .v3-service-mosaic{display:flex;flex-direction:column}.theme-foundry .v3-world-card{min-height:250px;width:100%;display:flex;align-items:end}.theme-foundry .v3-world-card img{width:45%;left:auto;right:0}.theme-foundry .v3-world-card>div{max-width:60%;background:var(--navy);padding:30px}.theme-foundry .section{border-bottom:1px solid #aab8b22e}
/* Atlas: centred introduction with a panorama below, horizontal service composition. */
.theme-atlas .v3-hero-grid{display:flex;flex-direction:column;align-items:center;gap:45px}.theme-atlas .v3-hero-copy{max-width:920px;text-align:center;padding:0}.theme-atlas .v3-hero-copy :is(h1,.hero-message-heading){max-width:none}.theme-atlas .hero-actions,.theme-atlas .breadcrumbs,.theme-atlas .v3-hero-signature{justify-content:center}.theme-atlas .v3-hero-art{width:100%;max-width:1100px;height:460px}.theme-atlas .v3-image-window{height:100%;border-radius:120px 12px 12px}.theme-atlas .v3-orbit{display:none}.theme-atlas .v3-floating-note{left:auto;right:15px}.theme-atlas .v3-service-mosaic{display:flex;overflow:auto;scroll-snap-type:x mandatory}.theme-atlas .v3-world-card{min-width:330px;flex:1;scroll-snap-align:start}
/* Graphite: image leads, dark canvas and generous type. */
.theme-graphite{background:#101c2b;color:#e9eff8}.theme-graphite .site-header:not(.is-scrolled){color:#eff5ff}.theme-graphite .site-header:not(.is-scrolled) .brand-name strong,.theme-graphite .site-header:not(.is-scrolled) .brand-name small,.theme-graphite .site-header:not(.is-scrolled) .v3-contact-rail,.theme-graphite .site-header:not(.is-scrolled) .submenu-toggle{color:#edf4ff}.theme-graphite .v3-hero{background:#101c2b;color:#eff5ff}.theme-graphite .v3-hero-grid{grid-template-columns:1.15fr 1fr}.theme-graphite .v3-hero-art{order:-1}.theme-graphite .v3-image-window{border-radius:8px;transform:none}.theme-graphite .v3-orbit,.theme-graphite .v3-floating-note{display:none}.theme-graphite .v3-hero-intro,.theme-graphite .section-heading>p,.theme-graphite .eyebrow,.theme-graphite .breadcrumbs{color:#b8cadd}.theme-graphite .v3-service-track,.theme-graphite .bg-pale,.theme-graphite .v3-editorial,.theme-graphite .body-section{background:#162638;color:#eff5ff}.theme-graphite .bg-white,.theme-graphite .form-card,.theme-graphite .text-cards article,.theme-graphite .site-dialog,.theme-graphite .update-card{color:#172b40}.theme-graphite .v3-service-mosaic{grid-template-columns:repeat(2,1fr)}.theme-graphite .v3-world-card{min-height:450px;grid-column:auto;grid-row:auto}.theme-graphite .v3-world-card:first-child{grid-column:1/-1}.theme-graphite .button{background:#c0d8f4;color:#101c2b}.theme-graphite .site-footer .button{color:#101c2b}.theme-graphite .site-header.is-scrolled{color:#172b40}
/* Terracotta: asymmetric architectural composition and staggered panels. */
.theme-terracotta .v3-hero,.theme-terracotta .v3-service-track{background:#f4e9df}.theme-terracotta .v3-hero-grid{grid-template-columns:1fr 1.1fr;align-items:end;gap:55px}.theme-terracotta .v3-hero-art{padding-top:75px}.theme-terracotta .v3-image-window{border-radius:180px 0 0;transform:none}.theme-terracotta .v3-orbit{border-radius:0;transform:rotate(6deg)}.theme-terracotta .v3-service-mosaic{grid-template-columns:repeat(2,1fr);gap:40px}.theme-terracotta .v3-world-card{grid-column:auto;grid-row:auto;min-height:380px;border-radius:100px 0 0}.theme-terracotta .v3-world-card:nth-child(even){transform:translateY(45px);border-radius:0 0 100px}.theme-terracotta .v3-services{padding-bottom:135px}.theme-terracotta .button{border-radius:0 15px 0 15px}
/* Verdant: service directory and compact, straight framed introduction. */
.theme-verdant .v3-hero{background:#edf4ed}.theme-verdant .v3-hero-grid{grid-template-columns:.85fr 1.15fr;gap:60px;padding-block:35px}.theme-verdant .v3-hero :is(h1,.hero-message-heading){font-size:clamp(38px,4.5vw,65px)}.theme-verdant .v3-hero-art{height:460px}.theme-verdant .v3-image-window{border-radius:8px;transform:none}.theme-verdant .v3-orbit,.theme-verdant .v3-floating-note,.theme-verdant .v3-hero-signature{display:none}.theme-verdant .v3-service-mosaic{grid-template-columns:repeat(2,1fr);gap:18px}.theme-verdant .v3-world-card{grid-column:auto;grid-row:auto;min-height:230px;border-radius:8px}.theme-verdant .v3-world-card img{width:40%;left:auto;right:0}.theme-verdant .v3-world-card>div{background:var(--navy);width:70%;padding:22px}.theme-verdant .section{padding-block:62px}.theme-verdant .v3-media-grid{grid-template-columns:1fr 1fr}
[data-page-style=editorial] .body-section .reading-copy{max-width:820px;font-size:18px;line-height:1.9}[data-page-style=technical] .cms-timeline{counter-reset:stages}[data-page-style=technical] .cms-timeline article{border-left:3px solid var(--green);padding-left:28px}[data-page-style=compact] .section{padding-block:45px}[data-page-style=showcase] .v3-hero-art{min-height:550px}
@media(max-width:1080px){.theme-grid{grid-template-columns:repeat(2,1fr)}.v3-header .main-nav{background:#fff!important}.theme-graphite .main-nav{color:#172b40}.site-header.v3-header .brand-mark{width:70px;height:70px;flex-basis:70px}.v3-contact-rail .container>div{gap:12px}.v3-contact-rail .container>p{display:none}.v3-contact-rail>.container{justify-content:flex-end}.theme-foundry .v3-hero-grid{min-height:600px}.theme-foundry .v3-hero-copy{padding:20px}}
@media(max-width:760px){.board-grid,.specification-grid,.theme-grid{grid-template-columns:1fr}.board-grid img{height:370px}.site-header.v3-header .brand-mark{width:60px;height:60px;flex-basis:60px}.v3-contact-rail .container>div>a:not(.v3-rail-social){font-size:12px}.v3-contact-rail .container>div{gap:9px;flex-wrap:wrap}.v3-contact-rail{height:50px}.rail-toggle{right:2px;width:23px;height:23px}.site-header.v3-header .v3-nav-shell{min-height:80px}.v3-contact-rail>.container{padding-right:10px}.site-dialog.daily-insight{padding:32px 22px 25px}.theme-foundry .v3-hero-art{inset:0;opacity:.16}.theme-foundry .v3-hero-copy{padding:15px;background:transparent}.theme-foundry .v3-hero-grid{min-height:0;padding-block:35px}.theme-graphite .v3-hero-grid,.theme-terracotta .v3-hero-grid,.theme-verdant .v3-hero-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.theme-graphite .v3-hero-art{order:0}.theme-atlas .v3-hero-art,.theme-verdant .v3-hero-art{height:350px}.theme-terracotta .v3-hero-art{padding-top:0}.theme-graphite .v3-service-mosaic,.theme-terracotta .v3-service-mosaic,.theme-verdant .v3-service-mosaic{grid-template-columns:1fr}.theme-terracotta .v3-world-card:nth-child(even){transform:none}.theme-foundry .v3-world-card>div{max-width:80%}.theme-verdant .v3-world-card>div{width:80%}.theme-verdant .v3-media-grid{grid-template-columns:1fr}.theme-atlas .v3-hero-signature{display:none}.theme-atlas .v3-image-window{border-radius:65px 10px 10px}.specification-grid>div{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.v3-contact-rail,.site-header.v3-header,.rail-toggle .icon{transition:none}.theme-terracotta .v3-world-card:nth-child(even){transform:none}}
@media print{
  .print-document .document-title{display:table;width:100%;padding:18px 0;break-inside:avoid}
  .print-document .document-title>div{display:table-cell;vertical-align:middle}
  .print-document .document-title>div:last-child{width:32%;white-space:nowrap;text-align:right}
  .print-document .document-title strong{white-space:nowrap;word-break:normal;overflow-wrap:normal}
  .print-document .document-title{padding:11px 0}
  .print-document .document-title h2{font-size:22px;line-height:1.2;margin:0}
  .print-document .document-title .eyebrow{font-size:9pt;line-height:1.3;margin:0 0 6px}
  .print-document .document-letterhead{padding-bottom:12px;gap:16px;break-inside:avoid}
  .print-document .document-letterhead h1{font-size:19px;letter-spacing:-.025em;margin:0 0 8px}
  .print-document .document-letterhead>img{width:74px;height:70px;flex:0 0 74px}
  .print-document .document-letterhead>div{flex:1;min-width:0}
  .print-document .document-letterhead p{font-size:9pt;line-height:1.3;margin:3px 0}
  .print-document .document-parties{display:table;width:100%;background:transparent;border-block:1px solid #d9e2e8;padding:10px 0;margin-bottom:14px;break-inside:avoid}
  .print-document .document-parties>div{display:table-cell;vertical-align:top}
  .print-document .document-parties>div:first-child{width:68%;padding-right:20px}
  .print-document .document-parties>div:last-child{width:32%}
  .print-document .document-parties h3{font-size:14px;line-height:1.3;margin:6px 0}
  .print-document .document-parties p{font-size:9pt;line-height:1.35;margin:3px 0}
  .print-document p{font-size:10pt;line-height:1.5}
  .print-document .document-items th,.print-document .document-items td{font-size:9.5pt;line-height:1.35;padding:6px!important;overflow-wrap:break-word}
  .print-document .document-items thead{display:table-header-group}
  .print-document .document-items tr{break-inside:avoid}
  .print-document .document-totals{break-inside:avoid;margin:16px 0 16px auto}
  .print-document .document-totals>div{padding:5px 0}
  .print-document .document-totals>div{display:table;width:100%}
  .print-document .document-totals>div>span,.print-document .document-totals>div>strong{display:table-cell;white-space:nowrap}
  .print-document .document-totals>div>strong{text-align:right}
  .print-document .document-notes{margin-top:12px;padding-top:12px;break-after:avoid-page}
  .print-document .document-notes h3{font-size:11pt;margin:0 0 6px}
  .print-document .document-notes p{font-size:9pt;line-height:1.4;margin:0 0 6px}
  .print-document .document-signoff{padding-top:10px;margin-top:12px;break-inside:avoid;break-after:avoid-page}
  .print-document .document-signoff p{font-size:9pt;line-height:1.3;margin:0 0 4px}
  .print-document .document-signature{max-width:150px;max-height:55px}
  .print-document .document-stamp{max-width:100px;max-height:65px}
  .print-document .document-signoff>div{flex:1;min-width:0}
  .print-document .receipt-detail{padding:8px 0;margin:0 0 15px}
  .print-document .receipt-detail p{margin:6px 0}
  .print-document .receipt-amount{font-size:24px!important;line-height:1.2;white-space:nowrap}
  .print-document .panel{box-shadow:none!important;border:0;border-radius:0;background:transparent}
  .print-document .panel-heading{padding:10px 0;display:block}
  .print-document .panel-heading h2{font-size:18px}
  .print-document .payroll-register{table-layout:fixed;width:100%}
  .print-document .payroll-register th,.print-document .payroll-register td{font-size:8.3pt;padding:5px!important}
  .print-document .payroll-register td:not(:first-child){white-space:nowrap!important}
  .print-document .payroll-register th:first-child{width:20%}
  .print-document .payslip{padding-top:15px}
  .print-document .payslip dl>div{padding:8px 0}
  .print-document .payslip dl>div{display:table;width:100%}
  .print-document .payslip dt,.print-document .payslip dd{display:table-cell;white-space:nowrap;padding:0}
  .print-document .payslip dt{width:65%}.print-document .payslip dd{text-align:right}
  .print-document .document-footer{font-size:8pt;line-height:1.3;padding-top:9px;margin-top:12px;break-inside:avoid;break-before:avoid-page}
}

.theme-graphite .v3-header .submenu{color:#172b40}.theme-graphite .v3-services,.theme-graphite .v3-editorial{background:#101c2b;color:#eff5ff}.theme-graphite .newsletter-section{background:#193a32;color:#edf5f0}.theme-graphite .update-card{background:#fff;color:#172b40}
@media(max-width:1080px){.theme-graphite .site-header:not(.is-scrolled) .main-nav .submenu-toggle{color:#172b40}}
