@font-face{font-family:VICAP;src:url(google-sans-regular.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:VICAP;src:url(google-sans-semibold.woff2) format('woff2');font-style:normal;font-weight:600;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:none}body{margin:0;background:#fff;color:#202020;font-family:VICAP,Arial,Helvetica,sans-serif;font-size:19px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a,button{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #797979;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(38px,4.5vw,76px)}h2{font-size:clamp(32px,3.5vw,56px)}h3{font-size:clamp(24px,2.3vw,36px)}p+p{margin-top:1.25em}.fs-wrap{width:min(1360px,calc(100% - 112px));margin-inline:auto}.fs-header{height:104px;padding:0 56px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:#fff}.fs-wordmark{font-size:40px;letter-spacing:-.055em;line-height:1}.fs-header nav{display:flex;align-items:center;gap:52px;font-size:20px}.fs-header nav a,.fs-header nav button{transition:color .18s}.fs-header nav a:hover,.fs-header nav button:hover{color:#969696}.fs-header button{border:0;background:none;padding:12px 0;color:inherit}.fs-services-menu{position:relative}.fs-services-menu button span{padding-left:8px;font-size:16px}.fs-dropdown{position:absolute;top:100%;right:-24px;width:324px;background:#fff;box-shadow:0 12px 25px #0000000d;padding:18px 24px;display:none}.fs-dropdown a{display:block;padding:9px 0;font-size:18px}.fs-services-menu.is-open .fs-dropdown{display:block}.fs-menu-toggle{display:none}.fs-skip{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.fs-skip:focus{top:16px}.fs-snap{scroll-snap-align:start;scroll-margin-top:0}.fs-hero{height:calc(100svh - 104px);min-height:480px;position:relative;color:#fff;background:#5b625e;overflow:hidden}.fs-video{width:100%;height:100%;display:block;object-fit:cover;background:#d6d9d6}.fs-hero>.fs-video{position:absolute;inset:0}.fs-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#00000005 15%,#00000066 100%)}.fs-hero-copy{position:absolute;left:56px;right:100px;bottom:74px;max-width:970px}.fs-hero-copy p{font-size:clamp(20px,2vw,30px);max-width:790px;line-height:1.35;margin-top:25px}.fs-scroll{position:absolute;right:56px;bottom:64px;font-size:40px}.fs-copy{padding-block:110px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.fs-copy-body{max-width:680px}.fs-copy-wide{display:block;max-width:1080px}.fs-copy-wide h2{max-width:900px;margin-bottom:36px}.fs-copy-wide .fs-copy-body{max-width:100%}.fs-copy-centred{display:block;max-width:980px;text-align:center}.fs-copy-centred .fs-copy-body{margin:30px auto 0}.fs-text-link{display:inline-block;font-size:21px;color:#727272;border-bottom:1px solid #b9b9b9;padding-bottom:7px;margin-top:35px}.fs-text-link span{margin-left:20px}.fs-text-link:hover{color:#aaa}.fs-media{margin-bottom:100px}.fs-media h2{margin-bottom:36px}.fs-media-frame{position:relative;aspect-ratio:16/9;overflow:hidden}.fs-media img{width:100%;height:100%;object-fit:cover}.fs-media-viewport .fs-media-frame{height:100svh;aspect-ratio:auto}.fs-media-viewport h2{padding:0 56px}.fs-audio{position:absolute;left:24px;top:24px;background:#fff;color:#222;border:0;padding:10px 16px;font-size:15px}.fs-editor-note{background:#f0f0f0;border:1px dashed #aaa;padding:30px;margin:20px 56px;font-size:16px}.fs-service-heading{padding-block:30px 50px}.fs-service-grid{display:grid;grid-template-columns:repeat(var(--items),1fr);height:100svh;height:100dvh;min-height:0;overflow:hidden}.fs-service-tile{position:relative;overflow:hidden;display:block;color:#fff}.fs-service-tile img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.fs-tile-shade{position:absolute;inset:0;background:#0006;transition:background .45s}.fs-service-tile h2{position:absolute;inset:auto 42px 64px;max-width:650px}.fs-service-tile h2 span{display:block;margin-top:28px}.fs-service-tile:hover .fs-tile-shade,.fs-service-tile:focus-visible .fs-tile-shade{background:#0001}.fs-service-tile:hover img,.fs-service-tile:focus-visible img{transform:scale(1.08)}.fs-service-tile:focus-visible{outline-offset:-8px;outline-color:white}.fs-compare{margin-bottom:90px}.fs-compare h3{margin-bottom:28px}.fs-compare-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#ddd}.fs-compare-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fs-after{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.fs-before-label,.fs-after-label{position:absolute;top:24px;background:#fff;padding:7px 13px;font-size:15px}.fs-before-label{right:24px}.fs-after-label{left:24px}.fs-divider{position:absolute;top:0;bottom:0;left:var(--reveal);width:2px;background:#fff;pointer-events:none;transform:translateX(-50%)}.fs-divider b{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:#fff;color:#222;border-radius:50%;display:grid;place-items:center;font-size:27px;font-weight:400;box-shadow:0 1px 12px #0003}.fs-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.fs-compare-frame:has(.fs-range:focus-visible){outline:3px solid #75808a;outline-offset:4px}.fs-comparison-copy{padding-top:24px;max-width:850px}.fs-process{padding-bottom:100px}.fs-process h2{margin-bottom:50px}.fs-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch}.fs-process-media{min-height:470px;overflow:hidden}.fs-accordion details{border-top:1px solid #c8c8c8}.fs-accordion details:last-child{border-bottom:1px solid #c8c8c8}.fs-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:24px 0;font-size:24px;line-height:1.25}.fs-accordion summary::-webkit-details-marker{display:none}.fs-step{font-size:14px;color:#898989}.fs-plus{margin-left:auto;font-size:28px}.fs-accordion details[open] .fs-plus{transform:rotate(45deg)}.fs-accordion details>div{padding:0 36px 26px;font-size:18px}.fs-portraits{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:0}.fs-portraits img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;display:block}.fs-portraits figcaption{padding-top:24px}.fs-portraits figcaption p{margin-top:8px;color:#666}.fs-form-section{max-width:1000px;padding-bottom:110px}.fs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:50px}.fs-form label{display:block;font-size:17px;margin-bottom:34px}.fs-form input,.fs-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #9e9e9e;border-radius:0;padding:16px 0;background:transparent;color:#222;resize:vertical}.fs-submit{background:#242424;color:white;padding:16px 30px;border:0;min-width:220px;display:flex;justify-content:space-between;gap:40px}.fs-submit:hover{background:#555}.fs-form-status{padding:20px;background:#f0f1ef;margin-bottom:35px}.fs-honeypot,.fs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.fs-footer{background:#242424;color:#f2f2ef;padding:85px 56px 28px}.fs-footer-invitation{padding-bottom:90px}.fs-footer-invitation p{font-size:25px;color:#c9c9c6}.fs-footer-invitation>a{font-size:clamp(56px,7vw,110px);letter-spacing:-.05em;line-height:1.2;display:inline-block;margin-top:18px;color:#e3e3df}.fs-footer-invitation>a span{margin-left:30px}.fs-footer-invitation>a:hover{color:#aaa}.fs-footer-bottom{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:30px;border-top:1px solid #575757;padding-top:40px;font-size:16px}.fs-footer-bottom p{color:#b6b6b3;margin-bottom:8px}.fs-footer-bottom a:hover{color:#aaa}.fs-linkedin{display:block;margin-top:20px}.fs-copyright{font-size:13px;color:#aaa;margin-top:55px}body.oxygen-builder-body .fs-snap{scroll-snap-align:none}
h1,h2,h3,h4,h5,h6{font-family:inherit}.admin-bar .fs-hero{height:calc(100svh - 136px)}
@media(min-width:1600px){.fs-hero-copy{max-width:1100px}}@media(max-width:900px){.fs-wrap{width:calc(100% - 56px)}.fs-header{padding:0 28px;height:88px}.fs-header nav{gap:30px}.fs-wordmark{font-size:34px}.fs-hero{height:calc(100svh - 88px)}.admin-bar .fs-hero{height:calc(100svh - 120px)}.fs-hero-copy{left:28px;right:65px;bottom:60px}.fs-scroll{right:28px;bottom:48px}.fs-copy{gap:36px;padding-block:75px}.fs-process-grid{gap:30px}.fs-accordion summary{font-size:20px}.fs-footer{padding-inline:28px}.fs-footer-bottom{grid-template-columns:1fr 1fr}.fs-portraits{gap:30px}.fs-service-tile h2{inset:auto 28px 45px}}
@media(max-width:600px){body{font-size:17px}.fs-wrap{width:calc(100% - 40px)}.fs-header{padding:0 20px;height:78px}.fs-wordmark{font-size:32px}.fs-menu-toggle{display:block;font-size:17px}.fs-menu-toggle span{margin-left:14px}.fs-header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:24px 20px 30px;background:white;box-shadow:0 10px 15px #0001;align-items:flex-start;gap:15px}.fs-header.is-open nav{display:flex;flex-direction:column}.fs-services-menu{width:100%}.fs-dropdown{position:static;box-shadow:none;width:100%;padding:5px 0 5px 16px}.fs-hero{height:calc(100svh - 78px);min-height:520px}.fs-hero-copy{left:20px;right:42px;bottom:68px}.fs-hero-copy p{font-size:20px}.fs-scroll{right:20px;bottom:22px;font-size:30px}.fs-copy{display:block;padding-block:65px}.fs-copy h2{margin-bottom:28px}.fs-copy-body{max-width:100%}.fs-media{margin-bottom:65px}.fs-media h2{margin-bottom:25px}.fs-service-heading{padding-block:20px 35px}.fs-service-grid{grid-template-columns:1fr;height:auto;min-height:0}.fs-service-tile{height:85svh;min-height:470px;scroll-snap-align:start}.fs-service-tile h2{inset:auto 24px 45px}.fs-compare{margin-bottom:55px}.fs-compare-frame{aspect-ratio:4/3}.fs-before-label,.fs-after-label{top:12px;font-size:12px;padding:5px 8px}.fs-before-label{right:12px}.fs-after-label{left:12px}.fs-divider b{width:44px;height:44px}.fs-process{padding-bottom:65px}.fs-process h2{margin-bottom:30px}.fs-process-grid{display:flex;flex-direction:column;gap:32px}.fs-process-media{order:-1;min-height:0;aspect-ratio:4/3}.fs-accordion summary{padding-block:22px}.fs-portraits{grid-template-columns:1fr;gap:45px}.fs-portraits h3{font-size:28px}.fs-form-row{display:block}.fs-form-section{padding-bottom:70px}.fs-footer{padding:60px 20px 24px}.fs-footer-invitation{padding-bottom:60px}.fs-footer-invitation p{font-size:21px}.fs-footer-bottom{gap:30px 18px;font-size:14px}.fs-footer-bottom>.fs-wordmark{grid-column:1/-1}.fs-footer-bottom>div:last-child{grid-column:1/-1}.fs-footer-invitation>a span{margin-left:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*:before,*:after{transition:none!important;animation:none!important}.fs-service-tile:hover img,.fs-service-tile:focus-visible img{transform:none}}
/* The supplied board centres the page introductions and hero copy. */
.fs-hero-copy{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(960px,calc(100% - 60px));text-align:center}
.fs-hero-copy h1{font-size:clamp(34px,3.6vw,58px);line-height:1.15}
.fs-hero-copy p{font-size:clamp(18px,1.8vw,26px);margin-inline:auto}
.fs-process>h2,.fs-media>h2,.fs-compare>h3,.fs-service-heading{text-align:center}
.fs-media.fs-wrap,.fs-compare.fs-wrap{max-width:1120px}
.fs-copy-centred h1{font-size:clamp(36px,3.5vw,56px)}
body.oxygen-builder-body,body.oxygen-body{font-family:VICAP,Arial,Helvetica,sans-serif;line-height:1.5;color:#202020}
.fs-header a,.fs-footer a{color:inherit}
.fs-hero-copy h1,.fs-copy h1,.fs-copy h2,.fs-media h2,.fs-process h2,.fs-service-heading,.fs-service-tile h2,.fs-compare h3,.fs-portraits h3{font-family:VICAP,Arial,Helvetica,sans-serif;font-weight:400}
.fs-copy h2,.fs-media h2,.fs-process h2,.fs-service-heading,.fs-service-tile h2{font-size:clamp(32px,3.5vw,56px)}
.fs-compare h3,.fs-portraits h3{font-size:clamp(24px,2.3vw,36px)}
@media(max-width:600px){.admin-bar .fs-hero{height:calc(100svh - 124px)}.fs-hero-copy{width:calc(100% - 44px)}.fs-copy-centred .fs-copy-body{margin-top:25px}}
.fs-editor-note{display:none}body.oxygen-builder-body .fs-editor-note{display:block}.fs-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fs-process-media{position:relative}.fs-pause{position:absolute;right:18px;top:18px;border:0;background:#ffffffe6;color:#222;padding:7px 11px;font-size:12px;z-index:2}.fs-pause:hover{background:#fff}

/* Header proportions follow the 64px reference header. */
body{--fs-header-height:64px;--fs-toolbar-height:0px}
.fs-main-content:not(.fs-contact-content){display:block;width:100%}
body.admin-bar{--fs-toolbar-height:32px}
.fs-header{height:var(--fs-header-height);padding-inline:30px;border-bottom:1px solid #b9b9b9}
.fs-header>.fs-wordmark{font-size:28px}
.fs-header nav{gap:25px;line-height:1.2}
.fs-services-menu>button{display:flex;align-items:center;gap:9px;line-height:1.2}
.fs-services-menu>button svg{display:block;width:11px;height:7px;flex:none;transition:transform .2s}
.fs-services-menu.is-open>button svg{transform:rotate(180deg)}
.fs-services-menu>button span{padding:0}
/* Use the current viewport, including the header and any admin toolbar. */
.fs-hero,.admin-bar .fs-hero{height:calc(100svh - var(--fs-header-height) - var(--fs-toolbar-height));height:calc(100dvh - var(--fs-header-height) - var(--fs-toolbar-height));min-height:0;scroll-margin-top:calc(var(--fs-header-height) + var(--fs-toolbar-height))}
.fs-hero>.fs-video,.fs-hero>.fs-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* The board centres service labels and keeps the footer invitation compact. */
.fs-service-tile h2{top:50%;bottom:auto;left:30px;right:30px;transform:translateY(-50%);max-width:none;text-align:center;font-size:clamp(24px,2.2vw,34px)}
.fs-service-tile h2 span{display:none}
.fs-footer{padding:65px 30px 30px}
.fs-footer-invitation{padding-bottom:45px}
.fs-footer-invitation p,.fs-footer-invitation>a{font-size:clamp(28px,2.5vw,38px);line-height:1.2;letter-spacing:-.025em}
.fs-footer-invitation>a{margin-top:8px}
.fs-footer-invitation>a span{display:none}
.fs-footer-bottom{display:block;border:0;padding-top:0;font-size:15px}
.fs-footer-bottom>.fs-wordmark{display:inline-block;font-size:18px;margin-bottom:20px}
.fs-footer-bottom>div{margin-bottom:20px}
.fs-footer-bottom p{margin-bottom:3px}
.fs-linkedin{margin-top:18px}
.fs-copyright{margin-top:30px}
.fs-portraits{width:100%;gap:0}
.fs-portraits figcaption{padding:22px 30px 0}
.fs-process-grid{align-items:start}
.fs-process-media{min-height:0;aspect-ratio:16/9}
.fs-process-media>.fs-video{position:absolute;inset:0}

@media(max-width:782px){body.admin-bar{--fs-toolbar-height:46px}}
@media(max-width:600px){
  .fs-header{padding-inline:20px}
  .fs-header>.fs-wordmark{font-size:26px}
  .fs-header nav{top:var(--fs-header-height)}
  .fs-services-menu>button{gap:9px}
  .fs-hero-copy{width:calc(100% - 44px)}
  .fs-footer{padding:50px 20px 25px}
  .fs-portraits{gap:36px}
  .fs-portraits figcaption{padding-inline:20px}
  .fs-process-media{aspect-ratio:4/3}
  .fs-service-tile{height:100svh;height:100dvh;min-height:0}
}
@media(max-height:540px) and (min-width:601px){.fs-hero-copy h1{font-size:34px}.fs-hero-copy p{font-size:18px;margin-top:18px}}

/* Keep editable media visible and preserve the supplied comparison panoramas. */
.fs-process-media{width:100%;min-width:0}
.fs-compare-frame{aspect-ratio:auto}
.fs-compare-frame .fs-before{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;display:block}
.fs-compare-frame .fs-after{object-fit:contain}
/* Centre the shade behind the Home headline across bright reel frames. */
.fs-hero-shade{background:linear-gradient(180deg,#0006 0%,#0009 50%,#0008 100%);pointer-events:none}
.fs-hero-copy{text-shadow:none}
/* Let the label wrap while its arrow stays alongside it. */
.fs-text-link{display:inline-flex;align-items:center;gap:16px;max-width:100%;text-align:left}
.fs-text-link .fs-text-link-label{margin:0;min-width:0}
.fs-text-link .fs-link-arrow{margin:0;flex:none}
.fs-copy-body a[href^="mailto:"]{text-decoration:underline;text-underline-offset:3px}
/* Keep autoplay media clear; keyboard focus exposes its pause control. */
.fs-pause{opacity:0;pointer-events:none}
.fs-pause:focus-visible{opacity:1;pointer-events:auto}
/* Keep the mobile navigation and hero controls usable in landscape. */
@media(max-width:600px){
  .fs-header nav{max-height:calc(100svh - var(--fs-header-height) - var(--fs-toolbar-height));max-height:calc(100dvh - var(--fs-header-height) - var(--fs-toolbar-height));overflow-y:auto;overscroll-behavior:contain}
  .fs-menu-toggle span{display:inline-block;transition:transform .2s}
  .fs-header.is-open .fs-menu-toggle span{transform:rotate(45deg)}
  .fs-pause{min-height:44px;padding:10px 14px}
}
@media(max-height:500px){
  .fs-hero-copy{top:54px;bottom:50px;transform:translateX(-50%);display:flex;flex-direction:column;justify-content:center}
  .fs-hero-copy h1{font-size:clamp(20px,3.8vw,28px);line-height:1.12}
  .fs-hero-copy p{font-size:16px;line-height:1.3;margin-top:10px}
  .fs-hero>.fs-pause{top:8px;min-height:44px;padding:10px 14px}
}

/* Conference layouts: measured from the complete Miro export at 1920px. */
body,body.oxygen-body{font-size:clamp(19px,1.4vw,26px);line-height:1.4}
@media(min-width:901px) and (min-height:541px){
  .fs-hero-copy{top:60.5%;width:min(1120px,calc(100% - 112px));max-width:1120px}
  .fs-hero-copy h1{font-size:clamp(40px,2.92vw,56px);text-wrap:balance}
  .fs-hero-copy p{font-size:clamp(22px,1.67vw,32px);max-width:980px;margin-top:clamp(80px,16.67dvh,180px)}
}
.fs-copy-centred{max-width:1440px}
.fs-copy-centred .fs-copy-body{max-width:980px;margin-top:56px}
.fs-copy{padding-block:160px}
.fs-copy h1,.fs-copy h2,.fs-media h2,.fs-process h2,.fs-service-heading{font-size:clamp(32px,2.5vw,48px);font-weight:700}
.fs-media.fs-wrap{width:min(1320px,calc(100% - 112px));max-width:1320px}
.fs-compare.fs-wrap{width:min(1640px,calc(100% - 112px));max-width:1640px}
.fs-compare>h3,.fs-before-label,.fs-after-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fs-compare{margin-bottom:160px}
.fs-divider{width:6px}
.fs-divider b{width:80px;height:56px;font-size:0;box-shadow:none;background:transparent}
.fs-divider b:before,.fs-divider b:after{content:"";position:absolute;top:0;border-top:28px solid transparent;border-bottom:28px solid transparent}
.fs-divider b:before{left:0;border-right:28px solid white}
.fs-divider b:after{right:0;border-left:28px solid white}
.fs-process{width:min(1664px,calc(100% - 112px));max-width:1664px;padding-bottom:160px}
.fs-process-grid{gap:0}
.fs-process-media{aspect-ratio:7/5}
.fs-accordion{padding-right:160px}
.fs-process h2{margin-bottom:120px}
.fs-accordion details,.fs-accordion details:last-child{border:0}
.fs-accordion summary{padding:0 0 90px;font-size:clamp(22px,1.7vw,32px);font-weight:700}
.fs-accordion details:last-child summary{padding-bottom:0}
.fs-accordion details>div{padding:0 0 26px;font-size:inherit}
.fs-plus{font-weight:400}
.fs-copy[data-height]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.fs-copy[data-height=screen]{min-height:calc(100dvh - var(--fs-header-height) - var(--fs-toolbar-height));padding-block:100px}
.fs-copy[data-height=tall]{min-height:680px}
.fs-portraits figure{position:relative}
.fs-portraits img{aspect-ratio:8/9}
.fs-portraits figure:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.fs-portraits figcaption{position:absolute;left:30px;right:30px;bottom:24px;padding:0;color:white;z-index:1}
.fs-portraits figcaption h3,.fs-portraits figcaption p{font-size:clamp(20px,1.5vw,28px);font-weight:400;line-height:1.4}
.fs-portraits figcaption p{margin-top:0;color:white}
.fs-footer{background:#191919;padding:136px 56px 136px}
.fs-footer-invitation{padding-bottom:96px}
.fs-footer-invitation p,.fs-footer-invitation>a{font-size:clamp(32px,3.35vw,64px);font-weight:700;line-height:1.35;letter-spacing:0}
.fs-footer-invitation p{color:white}
.fs-footer-invitation>a{color:#aaa}
.fs-footer-bottom{font-size:clamp(18px,1.4vw,26px)}
.fs-footer-bottom>.fs-wordmark{font-size:28px;font-weight:700;margin-bottom:40px}
.fs-footer-bottom>div{margin-bottom:40px}
.fs-footer-bottom p{color:#ddd}
.fs-copyright{font-size:20px;color:#ddd;margin-top:40px}
.fs-linkedin{font-size:24px;margin-top:44px}
.fs-contact-content{width:100%;min-height:calc(100dvh - var(--fs-header-height) - var(--fs-toolbar-height));display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:40px;padding:48px 0}
.fs-contact-content .fs-copy{min-height:0;max-width:1400px;display:flex;flex-direction:column;align-items:center;gap:0;padding:0}
.fs-contact-content .fs-copy>.fs-copy-body{max-width:1400px}
@media(min-width:601px){.fs-contact-content .fs-copy>:is(h1,h2,h3)+.fs-copy-body{margin-top:28px}}
.fs-form-section{max-width:740px;padding:0}
.fs-form-row{gap:14px}
.fs-form label{margin-bottom:16px}
.fs-form input,.fs-form textarea{border:1px solid #ccc;padding:12px 14px;font-size:20px;line-height:1.3}
.fs-form input{height:40px}
.fs-form textarea{height:150px}
.fs-submit{display:block;text-align:center;min-width:192px;height:72px;margin:40px auto 0;text-transform:uppercase;font-size:26px}
.fs-text-link{display:inline-block;font-size:clamp(21px,1.7vw,32px);border:0;color:#aaa;text-align:center}
.fs-text-link .fs-link-arrow{display:none}
.fs-copy-body .fs-cta:not(:first-child){margin-top:180px}
/* Reveal an underline beneath text links without changing their layout. */
:is(.fs-header nav a,.fs-services-menu>button,.fs-copy-body a:not(.fs-text-link),.fs-text-link-label,.fs-footer a:not(.fs-wordmark)){
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:left calc(100% - .08em);
  background-size:0% 2px;
  text-decoration:none;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  transition:background-size .3s ease,color .18s ease;
}
.fs-services-menu>button{background-position:left calc(100% - 12px)}
.fs-dropdown a{width:fit-content;max-width:100%;background-position:left calc(100% - 9px)}
:is(.fs-header nav a,.fs-services-menu>button,.fs-copy-body a:not(.fs-text-link),.fs-footer a:not(.fs-wordmark)):focus-visible,
.fs-text-link:focus-visible .fs-text-link-label{background-size:100% 2px}
@media(hover:hover){
  :is(.fs-header nav a,.fs-services-menu>button,.fs-copy-body a:not(.fs-text-link),.fs-footer a:not(.fs-wordmark)):hover,
  .fs-text-link:hover .fs-text-link-label{background-size:100% 2px}
}
/* Preserve the reference's spacing between whole sections. */
.fs-wordmark{font-weight:700}
.fs-service-tile h2{left:0;right:0;width:calc(100% - 60px);max-width:320px;margin-inline:auto;font-size:clamp(24px,1.7vw,32px);font-weight:700;line-height:1.3}
@media(min-width:601px){.fs-service-grid[style="--items:1"] .fs-service-tile h2{max-width:480px;font-size:clamp(32px,2.5vw,48px)}}
.fs-plus{display:block;width:32px;height:32px;flex:none}
.fs-plus svg{display:block;width:100%;height:100%}
@media(min-width:901px){
}
@media(max-width:900px){.fs-media.fs-wrap,.fs-compare.fs-wrap,.fs-process{width:calc(100% - 56px)}.fs-process-grid{gap:40px}.fs-accordion{padding-right:0}.fs-accordion summary{padding-bottom:50px}.fs-copy{padding-block:100px}.fs-footer{padding:100px 28px 44px}.fs-footer-invitation{padding-bottom:100px}}
@media(max-width:600px){
  body,body.oxygen-body{font-size:19px}
  .fs-copy{padding-block:70px}
  .fs-copy-centred .fs-copy-body{margin-top:30px}
  .fs-copy[data-height=screen]{padding-block:70px}
  .fs-copy[data-height=tall]{min-height:0;padding-block:90px}
  .fs-portraits{gap:0}
  .fs-portraits figcaption{left:20px;right:20px;bottom:20px;padding:0}
  .fs-process-grid{gap:32px}
  .fs-media.fs-wrap,.fs-compare.fs-wrap,.fs-process{width:calc(100% - 40px)}
  .fs-process-media{aspect-ratio:4/3}
  .fs-accordion{padding-right:0}
  .fs-accordion summary{padding-bottom:36px}
  .fs-process h2{margin-bottom:40px}
  .fs-process{padding-bottom:80px}
  .fs-compare{margin-bottom:80px}
  .fs-divider{width:2px}
  .fs-divider b{width:36px;height:24px}
  .fs-divider b:before,.fs-divider b:after{border-top-width:12px;border-bottom-width:12px}
  .fs-divider b:before{border-right-width:12px}
  .fs-divider b:after{border-left-width:12px}
  .fs-footer{padding:80px 20px 40px}
  .fs-footer-invitation{padding-bottom:80px}
  .fs-footer-bottom>.fs-wordmark{font-size:24px}
  .fs-copyright{font-size:15px}
  .fs-linkedin{font-size:18px}
  .fs-contact-content{gap:32px;padding-block:48px}
  .fs-form-row{display:grid;grid-template-columns:1fr;gap:0}
  .fs-form input,.fs-form textarea{font-size:17px}
  .fs-form input{height:48px}
  .fs-submit{height:60px;font-size:20px}
  .fs-copy-body .fs-cta:not(:first-child){margin-top:60px}
}

/* Miro alignment, 7 October 2026. Headings use the reference site's semibold
   face; the board shows the reels without a heavy shade and no header rule. */
.fs-header{border-bottom:0}
.fs-hero-shade{background:linear-gradient(180deg,#0000 0%,#0000002e 35%,#00000047 100%)}
.fs-hero-copy{text-shadow:none}
.fs-hero-copy p{text-wrap:balance}
@media(min-width:901px) and (min-height:541px){.fs-hero-copy p{max-width:820px}}
.fs-copy h1,.fs-copy h2,.fs-media h2,.fs-process h2,.fs-service-heading,.fs-service-tile h2,.fs-accordion summary,.fs-wordmark,.fs-footer-invitation p,.fs-footer-invitation>a{font-weight:600;letter-spacing:-.01em}
/* "Request a no obligation consultation." — only the final word is the link. */
.fs-cta{font-size:clamp(21px,1.7vw,32px);line-height:1.4;text-align:center}
.fs-copy-body .fs-cta .fs-text-link{margin:0;font-size:inherit;font-weight:600;color:#aaa}
.fs-portraits figcaption h3::after{content:" \2014";content:" \2014" / ""}
/* Header stays available: hidden while scrolling down, shown on the way up. */
.fs-header-bar{position:sticky;top:var(--fs-toolbar-height);z-index:50;transition:transform .35s ease}
.fs-header-bar.fs-header-hidden{transform:translateY(-100%)}
.admin-bar .fs-header-bar.fs-header-hidden{transform:translateY(calc(-100% - var(--fs-toolbar-height)))}
/* Spacing comes from each widget's settings (desktop). Blank settings use the
   standard rhythm, so the same widgets give the same layout on any page. */
.fs-copy>:is(h1,h2,h3){max-width:var(--fs-heading-width,none);margin-inline:auto}
.fs-copy>.fs-copy-body:first-child{margin-top:0}
@media(min-width:901px){
  .fs-copy{padding-top:var(--fs-space-above,160px);padding-bottom:var(--fs-space-below,160px)}
  .fs-copy[data-height=screen]{padding-top:var(--fs-space-above,100px);padding-bottom:var(--fs-space-below,100px)}
  .fs-copy>:is(h1,h2,h3)+.fs-copy-body{margin-top:var(--fs-text-gap,56px)}
  .fs-copy-body .fs-cta:not(:first-child){margin-top:var(--fs-link-gap,180px)}
  .fs-process{padding-top:var(--fs-space-above,0px);padding-bottom:var(--fs-space-below,160px)}
  .fs-process h2{margin-bottom:var(--fs-heading-gap,120px)}
  .fs-media{margin-bottom:var(--fs-space-below,100px)}
  .fs-compare{margin-bottom:var(--fs-space-below,160px)}
}
.fs-portraits{grid-template-columns:repeat(var(--items,2),1fr)}
@media(max-width:600px){.fs-portraits{grid-template-columns:1fr}}
.fs-compare[data-labels] .fs-before-label,.fs-compare[data-labels] .fs-after-label{position:absolute;width:auto;height:auto;overflow:visible;clip-path:none;white-space:nowrap;z-index:1}
.fs-hero picture,.fs-media-frame picture,.fs-process-media picture{display:contents}
.fs-process-media>img,.fs-process-media>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Design scale. Widget settings name a step (XS–4XL); change a value here to
   update every section that uses it. Keep the labels in elements.php in step. */
:root{
  --fs-space-none:0px;--fs-space-xs:40px;--fs-space-s:80px;--fs-space-m:120px;--fs-space-l:160px;
  --fs-space-xl:200px;--fs-space-2xl:240px;--fs-space-3xl:280px;--fs-space-4xl:320px;
  --fs-measure-xs:31em;--fs-measure-s:33em;--fs-measure-m:35em;--fs-measure-l:37em;--fs-measure-xl:39em;--fs-measure-2xl:41em;
  --fs-heading-s:900px;--fs-heading-m:1080px;--fs-heading-l:1260px;
}
/* Text Section types: the board's spacing for page introductions and closing
   calls to action. A section's own spacing settings override these. */
@media(min-width:901px){
  .fs-copy[data-type=intro]{--fs-space-above:var(--fs-space-3xl)}
  .fs-copy[data-type=closing]{--fs-space-below:var(--fs-space-3xl)}
}
/* Oxygen's own elements follow the design when a page uses them. Global
   Styles in Oxygen hold the desktop values; these add the responsive steps. */
.ct-headline,:is(.ct-text-block,.oxy-rich-text) :is(h1,h2,h3,h4,h5,h6){font-weight:600;letter-spacing:-.01em;line-height:1.12;color:inherit}
:is(h1,h2).ct-headline,:is(.ct-text-block,.oxy-rich-text) :is(h1,h2){font-size:clamp(32px,2.5vw,48px)}
h3.ct-headline,:is(.ct-text-block,.oxy-rich-text) h3{font-size:clamp(24px,1.7vw,32px);line-height:1.25}
h4.ct-headline,:is(.ct-text-block,.oxy-rich-text) h4{font-size:clamp(21px,1.5vw,28px);line-height:1.25}
:is(h5,h6).ct-headline,:is(.ct-text-block,.oxy-rich-text) :is(h5,h6){font-size:inherit;line-height:1.4}
.ct-link-button{background:#242424;border:0;border-radius:0;color:#fff;padding:16px 30px;font-weight:400;transition:background-color .18s ease}
.ct-link-button:hover{background:#555}
:is(.ct-link-text,.ct-text-block a,.oxy-rich-text a){
  background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left calc(100% - .08em);background-size:0% 2px;
  text-decoration:none;transition:background-size .3s ease,color .18s ease;
}
:is(.ct-link-text,.ct-text-block a,.oxy-rich-text a):focus-visible{background-size:100% 2px}
@media(hover:hover){:is(.ct-link-text,.ct-text-block a,.oxy-rich-text a):hover{background-size:100% 2px}}
/* Columns share the page gutter and keep their outer edges on the grid. */
.ct-new-columns{width:calc(100% + 56px);margin-inline:-28px}
@media(max-width:900px){
  .ct-section-inner-wrap{padding:100px 28px}
  .ct-new-columns{width:100%;margin-inline:0}
  .ct-new-columns>.ct-div-block{padding-inline:0}
}
@media(max-width:600px){.ct-section-inner-wrap{padding:65px 20px}}

/* Amanda's VICAP revision, 20 October 2026. */
:root{--fs-slate:#202a30;--fs-sky:#75808a}
body,body.oxygen-body,body.oxygen-builder-body{color:var(--fs-slate)}
strong,b{font-weight:600}
.fs-header,.fs-header nav,.fs-dropdown,.fs-footer{background:var(--fs-slate);color:#fff}
.fs-header nav{gap:60px}
.fs-header nav a:hover,.fs-header nav button:hover{color:#cbd3d9}
.fs-wordmark{display:inline-flex;align-items:center;flex:none}
.fs-logo{display:block;width:154px;max-width:100%;height:auto}
.fs-wordmark:has(.fs-logo-supplied){position:relative;width:154px;aspect-ratio:4280/905;overflow:hidden}
.fs-logo-supplied{position:absolute;width:116.82243%;max-width:none;left:-8.64486%;top:-55.69061%;height:auto}
.fs-footer-bottom>.fs-wordmark:has(.fs-logo-supplied){width:132px}
.fs-dropdown,.fs-services-menu.is-open .fs-dropdown{display:grid;grid-template-rows:0fr;left:-24px;right:auto;width:max-content;min-width:324px;max-width:calc(100vw - 40px);padding:0 24px;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:grid-template-rows .28s ease,opacity .22s ease,transform .28s ease,visibility 0s .28s}
.fs-dropdown-inner{min-height:0;overflow:hidden}
.fs-dropdown-links{padding-block:14px 20px}
.fs-services-menu.is-open .fs-dropdown{grid-template-rows:1fr;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.fs-dropdown a{font-size:18px;line-height:1.4}
.fs-header-bar{will-change:transform;transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.fs-tile-shade{background:rgb(32 42 48 / 45%)}
.fs-service-tile:hover .fs-tile-shade,.fs-service-tile:focus-visible .fs-tile-shade{background:rgb(32 42 48 / 12%)}
.fs-submit,.ct-link-button,.fs-audio,.fs-pause{background:var(--fs-sky);color:#fff}
.fs-submit:hover,.ct-link-button:hover,.fs-audio:hover,.fs-pause:hover{background:var(--fs-slate)}
.fs-copy-body .fs-cta .fs-text-link,.fs-text-link,.fs-footer-invitation>a{color:var(--fs-sky)}
.fs-footer-invitation>a:hover{color:#fff}
.fs-hero-copy h1,.fs-compare h3,.fs-portraits figcaption h3{font-weight:600}
.fs-compare-frame{background:transparent;border:0;box-shadow:none}
/* Keep the two desktop panoramas together without shrinking short laptops
   below their original width. The narrow gap leaves more room for the images. */
.fs-compare.fs-wrap{width:min(1880px,calc(100% - 48px),calc((100svh - 48px) * 1.8));max-width:none;margin-bottom:16px}
.fs-rotate-hint{display:none}
.fs-process-grid{gap:64px}
.fs-accordion{padding-right:0}
.fs-accordion details{margin-bottom:48px}
.fs-accordion details:last-child{margin-bottom:0}
.fs-accordion summary,.fs-accordion details:last-child summary{padding:0;min-height:44px;gap:32px}
.fs-accordion details>div{padding:12px 56px 0 0;font-size:inherit}
.fs-chevron{display:block;width:20px;flex:none;margin-left:auto;transition:transform .28s ease}
.fs-chevron svg{display:block;width:100%;height:auto}
.fs-accordion details[data-expanded=true] .fs-chevron,.fs-accordion details[open]:not([data-expanded]) .fs-chevron{transform:rotate(180deg)}
.fs-portraits{width:min(1360px,calc(100% - 112px));margin-inline:auto}
.fs-form-section{max-width:960px}
.fs-form label{font-size:inherit}
.fs-form input,.fs-form textarea{font-size:inherit;line-height:1.4;color:var(--fs-slate);padding:14px 18px}
.fs-form input{height:56px}
.fs-form textarea{height:180px}
.fs-submit{min-width:152px;height:auto;min-height:54px;padding:12px 28px;font-size:20px;margin-top:28px}
.fs-form-status{text-align:center}
.fs-footer{min-height:100svh;min-height:100dvh;padding:clamp(64px,9vh,136px) 56px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.fs-footer-invitation{padding-bottom:clamp(40px,7vh,96px)}
.fs-footer-bottom>.fs-wordmark,.fs-footer-bottom>div{margin-bottom:24px}
.fs-linkedin{margin-top:8px}
.fs-copyright{margin-top:24px;margin-bottom:0}
/* Entrance animation (see initReveals in site.js): the studio site's fade-up,
   100px over one second with the standard ease. The transition lives on the
   visible state only, so marking an element never fades it out. */
.fs-reveal{opacity:0;translate:0 100px;transition:none}
.fs-reveal.is-visible{opacity:1;translate:none;transition:opacity 1s ease,translate 1s ease;transition-delay:var(--fs-reveal-delay,0s)}
.fs-reveal:focus-within{opacity:1;translate:none;transition:none}
@media(max-width:900px){
  .fs-header nav{gap:40px}
  .fs-portraits{width:calc(100% - 56px)}
  .fs-process-grid{gap:36px}
  .fs-footer{padding-inline:28px}
}
/* Rotating a phone should maximise each panorama, not squeeze both into the
   short landscape viewport. The one-screen pair is a desktop requirement. */
@media(max-width:900px),(pointer:coarse) and (orientation:landscape) and (max-height:600px){
  .fs-compare.fs-wrap{width:calc(100% - 40px);margin-bottom:24px}
}
@media(max-width:600px){
  body,body.oxygen-body,body.oxygen-builder-body{font-size:17px;line-height:1.5}
  .fs-header nav{display:flex;flex-direction:column;gap:18px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s ease,transform .3s ease,visibility 0s .3s}
  .fs-header.is-open nav{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
  .fs-menu-toggle,.fs-header nav,.fs-dropdown a{font-size:20px}
  .fs-dropdown,.fs-services-menu.is-open .fs-dropdown{position:static;min-width:0;width:100%;max-width:none;padding:0 0 0 16px}
  .fs-dropdown-links{padding-block:8px 4px}
  .fs-wordmark:has(.fs-logo-supplied){width:132px}
  .fs-copy{padding-block:64px}
  .fs-copy[data-height=screen],.fs-copy[data-height=tall]{padding-block:64px}
  .fs-copy h1,.fs-copy h2,.fs-media h2,.fs-process h2,.fs-service-heading,h1.ct-headline,h2.ct-headline{font-size:29px;line-height:1.2}
  .fs-copy-centred .fs-copy-body{margin-top:24px}
  .fs-copy h2{margin-bottom:0}
  .fs-copy-body .fs-cta:not(:first-child){margin-top:40px}
  .fs-cta,.fs-text-link{font-size:19px}
  .fs-hero-copy h1{font-size:32px}
  .fs-hero-copy p{font-size:18px}
  .fs-service-tile h2{font-size:26px}
  .fs-media{margin-bottom:0}
  .fs-compare.fs-wrap{width:calc(100% - 40px);margin-bottom:28px}
  .fs-process{padding-bottom:0}
  .fs-accordion summary{font-size:20px}
  .fs-accordion details{margin-bottom:28px}
  .fs-accordion details>div{padding-right:40px}
  .fs-portraits{width:calc(100% - 40px);gap:24px}
  .fs-portraits figcaption h3,.fs-portraits figcaption p{font-size:18px}
  .fs-footer{padding:64px 20px 32px}
  .fs-footer-invitation{padding-bottom:48px}
  .fs-footer-invitation p,.fs-footer-invitation>a{font-size:30px}
  .fs-footer-bottom{font-size:17px}
  .fs-footer-bottom>.fs-wordmark,.fs-footer-bottom>div{margin-bottom:22px}
  .fs-form input{height:52px}
  .fs-submit{min-width:140px;min-height:48px;font-size:18px}
}
@media(max-width:600px) and (orientation:portrait){
  .fs-rotate-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 20px;color:var(--fs-slate);font-size:14px;text-align:center}
  .fs-rotate-hint svg{width:22px;height:28px;flex:none}
  .fs-rotate-hint.is-visible svg{animation:fs-rotate-phone 1.8s ease-in-out 2}
}
@keyframes fs-rotate-phone{0%,20%,100%{transform:rotate(0)}50%,75%{transform:rotate(90deg)}}
@media(max-height:500px){
  .fs-hero-copy h1{font-size:clamp(20px,3.8vw,28px)}
  .fs-hero-copy p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .fs-reveal,.fs-reveal.is-visible{opacity:1;translate:none;transition:none}
}
@media print{
  .fs-reveal,.fs-reveal.is-visible{opacity:1;translate:none;transition:none}
}

.fs-hero-copy h1{max-width:30ch;margin-inline:auto}
.fs-hero-copy p{max-width:48ch}
.fs-submit,.ct-link-button,.fs-audio,.fs-pause{color:#101010}
.fs-submit:hover,.ct-link-button:hover,.fs-audio:hover,.fs-pause:hover{color:#fff}

/* Amanda's VICAP revision, 22 October 2026. */
.fs-portraits{gap:clamp(24px,3vw,48px)}
.fs-footer{padding:clamp(64px,9.25vh,120px) clamp(20px,1.9vw,56px);justify-content:flex-start;gap:0}
.fs-footer-invitation{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:clamp(96px,14.4vh,180px)}
.fs-footer-invitation p,.fs-footer-invitation>a{font-size:clamp(32px,2.5vw,48px);line-height:1.2}
.fs-footer-invitation>a{margin-top:0}
.fs-footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:clamp(18px,1.3vw,26px);line-height:1.2}
.fs-footer-bottom>div>p{margin-bottom:0;color:#fff;line-height:inherit}
.fs-footer-invitation>a,.fs-footer-bottom>div>p,.fs-linkedin{font-weight:600}
.fs-footer-bottom>.fs-wordmark{margin-bottom:clamp(32px,6vh,64px)}
.fs-footer-bottom>div{margin-bottom:clamp(24px,3.3vh,40px)}
.fs-footer-bottom>div:last-child{margin-bottom:0}
.fs-linkedin{margin-top:clamp(24px,3.15vh,40px);font-size:clamp(18px,1.3vw,26px);line-height:1.2}
.fs-copyright{margin-top:clamp(64px,9.5vh,120px)}
.fs-form input,.fs-form textarea{scroll-margin-top:calc(var(--fs-header-height) + var(--fs-toolbar-height) + 20px)}
.fs-form input:focus,.fs-form textarea:focus{outline:0;box-shadow:inset 0 -2px 0 var(--fs-sky);border-color:var(--fs-sky)}
.fs-form input::placeholder,.fs-form textarea::placeholder{font:inherit;opacity:1;color:#6b7178}
@media(max-width:600px){
  /* Let the short phone header travel for the full transition, rather than
     covering most of the distance in the first 100ms. */
  .fs-header-bar{transition:transform .45s ease-in-out;backface-visibility:hidden}
  .fs-header-bar.fs-header-hidden{transform:translate3d(0,-100%,0)}
  .admin-bar .fs-header-bar.fs-header-hidden{transform:translate3d(0,calc(-100% - var(--fs-toolbar-height)),0)}
  .fs-header nav{clip-path:inset(0 0 100%);opacity:1;transform:translateY(-12px);transition:clip-path .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}
  .fs-header.is-open nav{clip-path:inset(0);transform:none;transition-delay:0s}
  .fs-portraits{gap:24px}
  .fs-footer-invitation p,.fs-footer-invitation>a{font-size:30px}
  .fs-footer-bottom,.fs-linkedin{font-size:17px}
  .fs-footer-bottom{line-height:1.4}
}

/* Keep keyboard focus clear of the closely spaced footer labels. */
.fs-footer-bottom>div>a:focus-visible{outline:0;background-size:100% 2px}
.fs-copy-body a[href^="mailto:"]{background-size:100% 1px}
.fs-copy-body a[href^="mailto:"]:focus-visible{outline:0;background-size:100% 2px}

.fs-footer-details{display:flex;flex-direction:column;align-items:flex-start}
