/* airform-palette.css */
/* Layer 1: Air Form core. Load this before every component stylesheet.
   Component rules consume these tokens; project colours never redefine them. */
@layer core, components, projects;
@layer core {
  :root {
    --af-action: #2E2E2E;
    --af-action-hover: #454D52;
    --af-white: #FFFFFF;
    --af-ink: #2E2E2E;
    --af-body: #41484C;
    --af-text: #5C6469;
    --af-meta: #5C6469;
    --af-bg: #F7F7F5;
    --af-bg-soft: #F0F3F4;
    --af-border: #D9DFE2;
    --af-blue: #A8C7DC;
    --af-blue-soft: #E8F0F5;
    --af-blue-hover: #405E72;
    --af-ink-hover: #41484C;
    --af-toolbar: #F7F7F5;
    --af-shadow: 0 4px 18px rgb(17 21 22 / .045);
    --af-hero-wash: linear-gradient(90deg, rgb(255 255 255 / .82) 0%, rgb(255 255 255 / .72) 30%, rgb(255 255 255 / .20) 52%, transparent 74%);
    --airform-header-height: 80px;
    --airform-ink: var(--af-ink);
    --airform-blue: var(--af-blue);
    --airform-blue-soft: var(--af-blue-soft);
    --airform-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --airform-serif: "Iowan Old Style", Baskerville, Georgia, serif;
  }
  html { color-scheme: light; background: var(--af-bg); }
  body { margin: 0; background: var(--af-bg); color: var(--af-ink); }
  @media (max-width: 760px) {
    :root {
      --airform-header-height: 68px;
      --af-hero-wash: linear-gradient(180deg, rgb(255 255 255 / .86) 0%, rgb(255 255 255 / .78) 48%, rgb(255 255 255 / .30) 72%, transparent 90%);
    }
  }
}

/* style.css */
@layer components{
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--af-bg);color:var(--af-ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;}
button,a{-webkit-tap-highlight-color:transparent;}
button{font:inherit;cursor:pointer;}
a{color:inherit;text-decoration:none;}
.logo{font-size:43px;letter-spacing:-3px;font-weight:800;display:flex;align-items:flex-start;}
.logo>span{font-size:13px;letter-spacing:0;margin:6px 0 0 5px;}
.logo small{font-size:12px;font-weight:400;letter-spacing:0;line-height:1.2;width:42px;margin:10px 0 0 14px;}
.nav-note{font-size:13px;color:var(--af-text);}
.nav-link{font-size:14px;}
.nav-link span{margin-left:25px;}
.hero{text-align:center;padding:62px 24px 52px;overflow:hidden;}
.eyebrow{font-size:12px;letter-spacing:1.4px;font-weight:500;}
.spark{font-size:21px;vertical-align:middle;margin-right:10px;}
h1{font-size:clamp(48px,6vw,86px);letter-spacing:-5px;line-height:1.04;font-weight:500;margin:26px 0 35px;}
em{font-family:Georgia,serif;font-weight:400;}
h1 em{letter-spacing:-4px;}
.brief{display:flex;align-items:center;justify-content:center;gap:18px;min-height:59px;margin:0 auto 26px;}
.brief-label{font-size:10px;letter-spacing:1.3px;color:var(--af-text);border:1px solid var(--af-border);padding:7px 8px;white-space:nowrap;}
.brief p{font-size:18px;min-width:430px;text-align:left;margin:0;}
.caret{color:var(--af-text);animation:blink .8s infinite;}
@keyframes blink{
50%{opacity:0;}
}
.computer{position:relative;max-width:940px;margin:auto;border:8px solid #292a2b;border-bottom:0;border-radius:19px 19px 12px 12px;background:#292a2b;box-shadow:0 25px 60px #00000014;text-align:left;}
.toolbar{height:39px;background:var(--af-bg-soft);border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:var(--af-text);font-size:11px;}
.dots{display:flex;gap:5px;}
.dots i{width:7px;height:7px;border-radius:50%;background:#c5c5c1;}
.toolbar button{border:0;background:none;font-size:11px;color:var(--af-text);}
.screen{height:410px;background:#e8e9e1;position:relative;overflow:hidden;padding:25px 32px;color:#263327;transition:background 1s,color 1s;}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(#00000005 1px,transparent 1px),linear-gradient(90deg,#00000005 1px,transparent 1px);background-size:45px 45px;transition:opacity 1s;}
.complete .grid-lines{opacity:0;}
.sample-nav{display:flex;align-items:center;justify-content:space-between;font-size:10px;position:relative;}
.sample-nav b{font-size:19px;letter-spacing:-1px;}
.sample-body{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;margin-top:27px;}
.sample-kicker{font-size:8px;letter-spacing:1.3px;}
.sample-copy h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-3px;font-size:63px;line-height:1.03;margin:17px 0 13px;}
.sample-copy p{font-size:12px;}
.sample-cta{display:inline-block;font-size:10px;border-bottom:1px solid;padding-bottom:6px;margin-top:10px;}
.specimen{height:247px;background:#c6cdba;position:relative;padding:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:background 1s;}
.specimen-small{font-size:8px;letter-spacing:1.4px;}
.specimen strong{font-family:Georgia,serif;font-weight:400;font-size:205px;line-height:.8;letter-spacing:-20px;align-self:center;}
.specimen-bottom{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;}
.sample-footer{border-top:1px solid #0002;margin-top:21px;padding-top:13px;display:flex;justify-content:space-between;font-size:9px;}
.piece{opacity:0;transform:translateY(18px);filter:blur(4px);transition:opacity .8s,transform .8s,filter .8s;}
.piece.visible{opacity:1;transform:none;filter:none;}
.build-tag{position:absolute;bottom:16px;right:20px;background:var(--af-bg);color:var(--af-ink);padding:9px 12px;border-radius:5px;box-shadow:0 2px 12px color-mix(in srgb,var(--af-ink) 6.667%,transparent);font-size:10px;transition:opacity .5s;}
.complete .build-tag{opacity:0;}
.chin{height:28px;display:flex;align-items:center;justify-content:center;color:#828282;font-size:12px;letter-spacing:-1px;}
.stand{margin:auto;width:140px;height:42px;background:linear-gradient(#aaa,#e9e9e9);clip-path:polygon(17% 0,83% 0,90% 100%,10% 100%);}
.foot{height:8px;width:215px;background:#dedede;border-radius:50% 50% 3px 3px;margin:0 auto;box-shadow:0 7px 12px #0001;}
.demo-controls{max-width:940px;margin:28px auto 0;display:flex;justify-content:space-between;align-items:center;}
.choices{display:flex;gap:9px;}
.choices button,#replay{border:0;background:none;color:var(--af-text);font-size:12px;padding:9px 12px;}
.choices button{border-radius:30px;border:1px solid transparent;}
.choices button span{margin-left:8px;}
.choices .active{background:var(--af-bg-soft);border-color:var(--af-border);color:var(--af-ink);}
#replay{color:var(--af-ink);}
.demo-caption{font-size:12px;color:var(--af-meta);margin:18px 0 0;}
.studio{margin:0 5%;padding:78px 0;border-top:1px solid var(--af-border);display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.studio h2{font-size:48px;letter-spacing:-2px;font-weight:400;line-height:1.1;margin:22px 0 0;}
.studio-copy{padding-top:8px;}
.studio-copy p{font-size:20px;line-height:1.5;max-width:470px;color:var(--af-body);}
.services{display:flex;flex-wrap:wrap;gap:8px;max-width:450px;margin-top:24px;}
.services span{font-size:13px;border:1px solid var(--af-border);border-radius:20px;padding:9px 15px;}
footer{background:var(--af-bg-soft);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--af-text);}
footer .logo{color:var(--af-ink);}
button:focus-visible,a:focus-visible{outline:2px solid var(--af-blue);outline-offset:5px;}
.brand .sample-copy h2{font-family:Arial,sans-serif;font-weight:700;}
.campaign .sample-copy h2{font-family:Arial,sans-serif;font-weight:900;text-transform:uppercase;font-size:56px;}
.campaign .specimen strong{font-family:Arial;font-weight:900;font-size:130px;letter-spacing:-12px;}
.brand .specimen strong{font-style:italic;font-size:155px;letter-spacing:-12px;}
@media (min-width:1500px){
.hero{padding-top:80px;}
.computer{max-width:1040px;}
.screen{height:440px;}
.sample-body{margin-top:35px;}
.specimen{height:265px;}
.sample-copy h2{font-size:72px;}
}
@media (max-width:700px){
.nav-note{display:none;}
.nav-link{font-size:12px;}
.logo{font-size:36px;}
.hero{padding:42px 16px 35px;}
h1{letter-spacing:-2.5px;font-size:49px;margin-bottom:23px;}
h1 em{letter-spacing:-2.5px;}
.eyebrow{font-size:9px;letter-spacing:1px;}
.brief{display:block;margin-bottom:20px;height:81px;}
.brief-label{font-size:8px;display:inline-block;margin-bottom:10px;}
.brief p{min-width:0;text-align:center;font-size:15px;line-height:1.4;}
.computer{border-width:5px;border-radius:12px;}
.toolbar{height:29px;font-size:8px;padding:0 9px;}
.toolbar button{font-size:9px;}
.screen{height:260px;padding:16px;}
.sample-nav{font-size:7px;}
.sample-nav b{font-size:13px;}
#sample-nav{display:none;}
.sample-body{gap:12px;margin-top:22px;}
.sample-kicker{font-size:5px;}
.sample-copy h2{font-size:35px;letter-spacing:-1.5px;margin:13px 0 9px;}
.sample-copy p{font-size:8px;line-height:1.3;}
.sample-cta{font-size:7px;margin-top:5px;}
.specimen{height:160px;padding:10px;}
.specimen strong{font-size:130px;letter-spacing:-12px;}
.specimen-small{font-size:5px;}
.specimen-bottom{font-size:4px;letter-spacing:0;}
.sample-footer{font-size:6px;margin-top:13px;padding-top:10px;}
.chin{height:20px;font-size:9px;}
.stand{height:26px;width:90px;}
.foot{width:140px;height:5px;}
.build-tag{font-size:8px;padding:6px;}
.demo-controls{margin-top:23px;}
.choices{gap:1px;}
.choices button{padding:8px;font-size:10px;}
.choices button span{margin-left:3px;}
#replay{font-size:10px;padding:4px;}
.demo-caption{font-size:10px;}
.studio{grid-template-columns:1fr;padding:45px 0;gap:20px;}
.studio h2{font-size:39px;}
.studio-copy p{font-size:18px;}
.campaign .sample-copy h2{font-size:31px;}
.campaign .specimen strong{font-size:75px;letter-spacing:-7px;}
.brand .specimen strong{font-size:92px;letter-spacing:-7px;}
footer{gap:20px;flex-wrap:wrap;}
footer>span:nth-child(2){display:none;}
}
@media (prefers-reduced-motion:reduce){
*{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}
}

/* brand.css */
@layer components{
body{color:var(--af-ink);background:var(--af-bg);}
.brand-logo{display:block;width:74px;height:85px;overflow:hidden;}
.brand-logo img{width:112px;height:112px;max-width:none;transform:translate(-19px,-14px);mix-blend-mode:multiply;}
.nav-note{letter-spacing:2px;font-size:10px;color:var(--af-text);}
.mountain-hero{position:relative;min-height:630px;height:calc(100svh - 150px);max-height:860px;isolation:isolate;background:var(--af-bg-soft);overflow:hidden;}
.mountain-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;}
.mountain-hero:after{content:"";position:absolute;inset:0;z-index:-1;}
.mountain-copy{padding:80px 0 95px 6%;max-width:730px;}
.mountain-copy .eyebrow{font-size:11px;letter-spacing:2.5px;}
.mountain-copy h1{font-size:clamp(54px,5.6vw,86px);font-weight:400;letter-spacing:-4px;line-height:1.04;margin:34px 0 28px;}
.mountain-copy h1 em{font-family:inherit;font-style:normal;letter-spacing:inherit;}
.mountain-copy p{font-size:18px;line-height:1.6;}
.explore-button{display:inline-flex;align-items:center;gap:32px;border-radius:30px;background:var(--af-ink);color:var(--af-bg);padding:15px 24px;font-size:14px;margin-top:16px;}
.explore-button:hover{background:var(--af-ink);}
.hero-note{position:absolute;bottom:30px;right:5%;font-size:10px;letter-spacing:3px;color:var(--af-bg);text-shadow:0 1px 6px color-mix(in srgb,var(--af-ink) 53.333%,transparent);}
.brand-strip{display:flex;justify-content:space-between;padding:24px 6%;border-bottom:1px solid var(--af-border);color:var(--af-text);font-size:12px;letter-spacing:.4px;}
.hero{padding-top:80px;background:var(--af-bg);}
.exploration-heading{font-size:52px;letter-spacing:-2.5px;font-weight:400;margin:22px 0 35px;}
.computer{border-color:#30353b;background:#30353b;}
.toolbar{background:var(--af-bg-soft);}
.caret{color:var(--af-text);}
.studio{padding:80px 0;background:var(--af-bg);}
.studio h2{font-family:Arial,sans-serif;font-weight:400;}
.studio em{font-family:inherit;font-style:normal;color:var(--af-text);}
footer{background:var(--af-bg);border-top:1px solid var(--af-bg-soft);}
button:focus-visible,a:focus-visible{outline-color:var(--af-blue);}
body .logo{font-weight:400;letter-spacing:-2px;}
@media (max-width:700px){
.brand-logo{height:74px;width:65px;}
.brand-logo img{width:99px;height:99px;transform:translate(-17px,-12px);}
.mountain-hero{min-height:710px;height:90svh;max-height:880px;}
.mountain-image{object-position:70% bottom;}
.mountain-copy{padding:46px 7%;max-width:100%;}
.mountain-copy h1{font-size:54px;letter-spacing:-2.8px;margin:24px 0;}
.mountain-copy p{font-size:16px;}
.mountain-copy .eyebrow{font-size:9px;letter-spacing:1.5px;}
.explore-button{font-size:12px;padding:13px 19px;}
.brand-strip{gap:20px;align-items:center;font-size:10px;line-height:1.6;padding:18px 6%;}
.hero{padding-top:48px;}
.exploration-heading{font-size:39px;}
.hero-note{font-size:8px;}
.studio{padding:48px 0;}
}
}

/* connected.css */
@layer components{
main{display:flex;flex-direction:column;background:var(--af-bg);}
.mountain-hero{order:0;min-height:800px;height:calc(100svh + 80px);max-height:980px;}
.mountain-copy{padding-bottom:260px;}
.hero-note{bottom:240px;}
#explore{order:1;position:relative;z-index:2;margin-top:-205px;padding-top:0;background:transparent;overflow:visible;display:flex;flex-direction:column;align-items:center;scroll-margin-top:24px;}
#explore>.eyebrow{order:5;margin-top:38px;color:var(--af-text);}
#explore>.exploration-heading{order:6;margin:13px 0 0;font-size:38px;}
#explore>.brief{order:0;background:color-mix(in srgb,var(--af-bg-soft) 93.333%,transparent);border:1px solid color-mix(in srgb,var(--af-border) 66.667%,transparent);box-shadow:0 8px 35px color-mix(in srgb,var(--af-ink) 3.137%,transparent);border-radius:12px;padding:16px 22px;min-height:65px;margin-bottom:22px;backdrop-filter:blur(16px);}
#explore>.computer{order:1;width:100%;box-shadow:0 30px 80px #28354726;}
#explore>.stand{order:2;flex-shrink:0;}
#explore>.foot{order:3;flex-shrink:0;}
#explore>.demo-controls{order:4;width:100%;}
#explore>.demo-caption{order:7;}
.brand-strip{order:2;border-top:1px solid var(--af-border);margin:0 5%;padding:24px 0;}
.studio{order:3;background:transparent;border-top:0;}
@media (max-width:700px){
.mountain-hero{height:840px;min-height:840px;max-height:none;}
.mountain-copy{padding-bottom:0;}
.hero-note{bottom:215px;}
#explore{margin-top:-160px;padding-top:0;}
#explore>.brief{height:auto;min-height:88px;width:min(100%,440px);padding:12px 14px;margin-bottom:17px;}
#explore>.exploration-heading{font-size:32px;}
#explore>.eyebrow{margin-top:30px;}
.brand-strip{margin:0 6%;}
}
@media (prefers-reduced-transparency:reduce){
#explore>.brief{background:var(--af-bg);}
}
}

/* video-transition.css */
@layer components{
html{scrollbar-gutter:stable;}
body.brief-modal-open{overflow:hidden;overscroll-behavior:none;}
main{display:flex;flex-direction:column;background:var(--af-bg);}
.video-viewport{position:sticky;top:0;height:100svh;overflow:hidden;}
.video-viewport .mountain-hero,.video-viewport #explore{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;}
.video-viewport #explore:before{display:none;}
.video-viewport .hero-video{object-position:center center;transform:none!important;}
.video-viewport .mountain-hero:after{opacity:var(--copy-opacity,1);transition:opacity .12s linear;}
.video-viewport .mountain-hero.intro-hidden:after{opacity:0;}
body{padding-top:96px;}
.video-scroll-stage{order:0;position:relative;background:var(--af-bg);}
.mountain-hero{position:sticky;top:0;height:100svh;min-height:620px;max-height:none;overflow:hidden;}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none!important;}
.mountain-copy,.hero-note{opacity:var(--copy-opacity,1);transform:none!important;transition:none;}
.mountain-hero.intro-hidden .mountain-copy,.mountain-hero.intro-hidden .hero-note,.video-handoff .mountain-copy,.video-handoff .hero-note{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:none!important;}
#explore{position:sticky;top:0;z-index:3;height:100svh;min-height:620px;margin-top:-100svh;padding:0;overflow:hidden;pointer-events:none;}
#explore:before{content:"";position:absolute;}
.video-handoff #explore{opacity:1;visibility:visible;transition:opacity .7s ease;pointer-events:auto;}
.video-handoff .mountain-hero{pointer-events:none;}
#explore>.eyebrow,#explore>.exploration-heading,#explore>.demo-caption{display:none;}
#explore>.brief{position:absolute;top:25px;left:50%;translate:-50% 0;z-index:4;margin:0;min-height:55px;padding:10px 18px;background:color-mix(in srgb,var(--af-bg-soft) 94.118%,transparent);border:1px solid white;border-radius:12px;}
#explore>.brief{cursor:pointer;}
#explore>.brief:hover,#explore>.brief[aria-expanded="true"]{background:var(--af-bg);box-shadow:0 10px 35px color-mix(in srgb,var(--af-ink) 7.059%,transparent);}
.brief-panel{position:fixed;top:50%;left:50%;translate:-50% calc(-50% - 8px);width:min(860px,calc(100% - 32px));z-index:420;background:color-mix(in srgb,var(--af-bg) 96.078%,transparent);border:1px solid var(--af-border);border-radius:14px;padding:24px;box-shadow:0 24px 70px color-mix(in srgb,var(--af-ink) 14.118%,transparent);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .22s ease,translate .22s ease,visibility 0s linear .22s;}
.brief-panel.open{opacity:1;visibility:visible;translate:-50% -50%;transition:opacity .22s ease,translate .22s ease;}
.brief-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;}
.brief-panel-head h3{font-size:24px;line-height:1.15;font-weight:400;letter-spacing:-.5px;margin:6px 0;}
.brief-panel-head p{font-size:13px;line-height:1.5;margin:0;color:var(--af-body);}
.brief-step{font-size:10px;letter-spacing:1.4px;font-weight:700;}
.brief-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--af-border);border-radius:50%;background:var(--af-bg);font-size:19px;line-height:1;}
.brief-builder{display:grid;gap:18px;}
.brief-builder fieldset{min-width:0;margin:0;padding:0;border:0;}
.brief-builder legend{width:100%;margin-bottom:9px;font-size:12px;font-weight:600;letter-spacing:.2px;}
.brief-builder legend>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:7px;border:1px solid var(--af-border);border-radius:50%;font-size:10px;}
.brief-builder legend small,.brief-detail small{font-weight:400;color:var(--af-meta);}
.brief-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.brief-options button{text-align:left;border:1px solid var(--af-border);background:var(--af-bg-soft);padding:14px;border-radius:8px;color:var(--af-ink);}
.brief-options button:hover,.brief-options button:focus-visible{background:var(--af-bg-soft);border-color:var(--af-ink);}
.brief-options button.selected{background:var(--af-bg-soft);border-color:var(--af-border);box-shadow:inset 3px 0 var(--af-ink);}
.brief-options b,.brief-options span{display:block;}
.brief-options b{font-size:14px;margin-bottom:6px;}
.brief-options span{font-size:11px;color:var(--af-text);}
.brief-choice-row{display:flex;flex-wrap:wrap;gap:7px;}
.brief-choice-row label{position:relative;}
.brief-choice-row input{position:absolute;opacity:0;pointer-events:none;}
.brief-choice-row label>span{display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid var(--af-border);border-radius:999px;background:var(--af-bg);font-size:12px;}
.brief-choice-row input:checked+span{background:var(--af-bg-soft);border-color:var(--af-border);}
.brief-choice-row input:focus-visible+span{outline:2px solid var(--af-blue);outline-offset:2px;}
.brief-detail>span{display:block;margin-bottom:8px;font-size:12px;font-weight:600;}
.brief-detail textarea{display:block;width:100%;resize:vertical;min-height:76px;padding:11px 12px;border:1px solid var(--af-border);border-radius:7px;font:13px/1.5 Arial,sans-serif;color:var(--af-ink);}
.brief-submit-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:14px;border-top:1px solid var(--af-border);}
.brief-submit-row p{margin:0;font-size:11px;color:var(--af-body);}
.brief-submit{min-height:42px;padding:10px 17px;border:1px solid var(--af-border);border-radius:999px;background:var(--af-bg-soft);color:var(--af-text);font-size:12px;white-space:nowrap;}
.brief-submit:disabled{opacity:.45;cursor:not-allowed;}
.video-device{position:absolute;}
.video-device .computer{width:100%;margin:0;border-bottom:0;transform:none!important;opacity:1;}
.video-device .chin{height:96px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,#d8d9da,#bfc1c3);color:#606368;font-size:14px;}
.video-device .stand{width:178px;height:78px;background:linear-gradient(180deg,#aeb0b2,#e3e4e5);opacity:1;}
.video-device .foot{width:286px;height:10px;background:#d7d8da;opacity:1;}
#explore>.demo-controls{position:absolute;bottom:22px;left:50%;translate:-50% 0;width:min(1180px,90vw);margin:0;}
.brand-strip{order:2;margin:0 5%;padding:24px 0;}
.studio{order:3;margin-top:0;}
@media (max-height:820px) and (min-width:701px){
.video-device{top:calc(50% - 18px);width:min(980px,86vw);}
.video-device .screen{height:400px;}
.video-device .specimen{height:240px;}
.video-device .chin{height:65px;}
.video-device .stand{height:52px;}
}
@media (max-width:700px){
body{padding-top:82px;}
.video-scroll-stage{height:200svh;}
.mountain-hero,#explore{height:100svh;min-height:600px;}
#explore{margin-top:-100svh;}
.hero-video{object-position:62% center;}
.mountain-copy{padding-top:46px;}
.video-device{top:50%;width:calc(100% - 24px);}
.video-device .computer{border-width:7px;}
.video-device .screen{height:260px;}
.video-device .specimen{height:160px;}
.video-device .chin{height:45px;}
.video-device .stand{width:90px;height:36px;}
.video-device .foot{width:145px;height:5px;}
#explore>.brief{top:14px;width:calc(100% - 32px);}
#explore>.demo-controls{bottom:10px;width:calc(100% - 24px);}
.brief-panel{padding:16px;}
.brief-panel-head h3{font-size:20px;}
.brief-options{grid-template-columns:1fr;}
.brief-submit-row{align-items:stretch;flex-direction:column;}
.brief-submit{width:100%;}
}
@media (prefers-reduced-motion:reduce){
.video-scroll-stage{height:auto;}
.hero-video{display:none;}
.mountain-hero{position:relative;height:calc(100svh - 96px);}
#explore{position:relative;margin-top:0;opacity:1;visibility:visible;transition:none;height:100svh;}
.mountain-copy,.hero-note{opacity:1!important;}
}
#explore{background:transparent;opacity:1;visibility:visible;transition:none;}
#explore:before{opacity:0;z-index:0;will-change:opacity;}
.video-background-ready #explore:before{opacity:1;}
.video-device,#explore>.demo-controls{opacity:0;transition:opacity .48s ease;will-change:opacity;}
#explore>.brief{opacity:0;pointer-events:none;transition:opacity .32s ease,background .2s ease,box-shadow .2s ease;will-change:opacity;}
.video-started #explore>.brief,.video-handoff #explore>.brief{opacity:1;pointer-events:auto;}
.video-handoff .video-device,.video-handoff #explore>.demo-controls{opacity:1;}
.video-device,#explore>.brief,#explore>.demo-controls{z-index:2;}
.brief-modal-shade{position:fixed;inset:0;z-index:410;border:0;background:color-mix(in srgb,var(--af-ink) 40.0%,transparent);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .22s;}
.brief-modal-open .brief-modal-shade{opacity:1;visibility:visible;transition:opacity .22s ease;}
.sample-nav button{border:0;background:none;color:inherit;padding:6px;font:inherit;}
.sample-nav button:hover,.sample-nav button:focus-visible{text-decoration:underline;text-underline-offset:4px;}
.sample-cta[role="button"]{cursor:pointer;}
.screen-view{position:absolute;inset:0;z-index:20;padding:28px 34px;background:var(--af-ink);color:var(--af-bg);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .28s ease,transform .28s ease,visibility 0s linear .28s;}
.screen-view.open{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .28s ease;}
.screen-view-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);font-size:11px;letter-spacing:1px;}
.screen-view-bar button,.screen-success button{border:0;background:none;color:var(--af-bg);font:inherit;}
.screen-view-content{padding-top:32px;}
.screen-view-kicker{font-size:10px;letter-spacing:1.8px;color:var(--af-meta);}
.screen-view h3{margin:12px 0 28px;font:400 clamp(32px,4vw,58px)/.98 Georgia,serif;letter-spacing:-2px;}
.screen-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.screen-projects button{display:flex;min-height:180px;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;border:1px solid color-mix(in srgb,var(--af-border) 18.039%,transparent);border-radius:4px;padding:18px;background:color-mix(in srgb,var(--af-bg) 3.922%,transparent);color:var(--af-bg);}
.screen-projects button:hover,.screen-projects button:focus-visible{background:var(--af-bg-soft);color:var(--af-ink);}
.screen-projects small{margin-bottom:auto;letter-spacing:1px;}
.screen-projects b{font:400 22px Georgia,serif;}
.screen-projects span{margin-top:8px;font-size:10px;}
.screen-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);}
.screen-steps span{padding:20px 10px;border-right:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);}
.screen-steps b{display:block;margin-bottom:28px;color:var(--af-text);}
.screen-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.screen-form label{font-size:10px;letter-spacing:1px;}
.screen-form input,.screen-form textarea{display:block;width:100%;margin-top:7px;border:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);border-radius:3px;padding:12px;background:color-mix(in srgb,var(--af-bg) 4.706%,transparent);color:var(--af-bg);font:14px Arial;}
.screen-form textarea{min-height:90px;resize:none;}
.screen-form-wide{grid-column:1/-1;}
.screen-form>button{justify-self:start;border:0;border-radius:20px;padding:11px 18px;background:var(--af-bg-soft);color:var(--af-ink);}
.screen-success{padding-top:45px;}
.screen-success p{font-size:15px;color:var(--af-bg);}
@media (max-width:700px){
.screen-view{padding:15px;}
.screen-view-content{padding-top:16px;}
.screen-view h3{font-size:28px;margin:8px 0 15px;}
.screen-projects{grid-template-columns:1fr;gap:6px;}
.screen-projects button{min-height:54px;padding:9px;}
.screen-projects small{display:none;}
.screen-projects b{font-size:16px;}
.screen-form{grid-template-columns:1fr;gap:8px;}
.screen-form-wide{grid-column:auto;}
.screen-view-bar{font-size:8px;}
.screen-view-bar button{font-size:8px;}
}
#explore:before{inset:0;background:url("airvo-video-final.jpg") center/cover no-repeat;transform:none;}
.video-device .computer{border:0;background:transparent;box-shadow:none;}
.video-device .toolbar{border-radius:0;}
.video-device .chin,.video-device>.stand,.video-device>.foot{display:none;}
@media (max-width:700px){
#explore:before{background-position:62% center;}
.video-device{left:50%;top:50%;width:calc(100% - 20px);height:58vh;clip-path:none;}
.video-device .screen{height:calc(100% - 28px);}
}
.video-scroll-stage{height:112svh;}
.hero-video{display:block;}
.hero-transition{display:none;position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--af-bg-soft);}
.hero-transition img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;will-change:transform,opacity;backface-visibility:hidden;}
.hero-transition-start{transform:translate3d(var(--start-shift,0),0,0) scale(var(--start-scale,1));transform-origin:center center;}
.hero-transition-end{opacity:var(--end-opacity,0);transform:scale(var(--end-scale,1.04));transition:none;}
#explore:before{background-image:url("airvo-mountain-video-final-v39.jpg");background-position:center;background-size:cover;transition:none;}
.video-device{left:50%;top:42.3%;width:51.9%;height:50.5%;translate:-50% -50%;}
.video-device .computer{border-radius:0;}
@media (max-width:700px){
.video-scroll-stage{height:110svh;}
.hero-transition img{object-position:60% center;}
.hero-transition-start{transform:scale(var(--start-scale,1));}
.video-device{left:50%;top:42%;width:76%;height:43%;clip-path:inset(0 round 2px);}
#explore:before{background-position:center;}
}
.video-device{overflow:hidden;container-type:inline-size;clip-path:inset(0);min-width:0;}
.video-device .computer{display:flex;flex-direction:column;min-width:0;max-width:none;height:100%;overflow:hidden;}
.video-device .toolbar{flex:0 0 30px;height:30px;min-height:30px;padding:0 12px;font-size:12px;gap:8px;}
.video-device .toolbar button{font-size:12px;white-space:nowrap;}
.video-device .screen{flex:1;min-height:0;height:auto;padding:16px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.video-device .sample-nav{gap:10px;flex-wrap:wrap;font-size:14px;}
.video-device #sample-nav{display:flex;flex-wrap:wrap;gap:4px;}
.video-device .sample-nav b{font-size:19px;}
.video-device .sample-body{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-top:16px;}
.video-device .sample-copy{min-width:0;overflow-wrap:anywhere;}
.video-device .sample-copy h2{font-size:clamp(28px,6cqw,58px);line-height:1.04;letter-spacing:-1px;margin:10px 0;}
.video-device .sample-copy p{font-size:14px;line-height:1.4;margin:8px 0;}
.video-device .sample-kicker,.video-device .sample-cta{font-size:12px;letter-spacing:.4px;}
.video-device .specimen{height:clamp(140px,23cqw,240px);min-width:0;padding:12px;}
.video-device .specimen strong{font-size:clamp(70px,18cqw,180px);letter-spacing:-6px;}
.video-device .specimen-small,.video-device .specimen-bottom{font-size:12px;letter-spacing:0;}
.video-device .sample-footer{font-size:12px;margin-top:12px;padding-top:10px;gap:12px;}
.video-device .screen-view{position:absolute;inset:0;display:flex;flex-direction:column;padding:16px;overflow:hidden;}
.video-device .screen-view-bar{flex-shrink:0;gap:12px;font-size:12px;padding-bottom:10px;}
.video-device .screen-view-bar button{font-size:12px;}
.video-device .screen-view-content{min-height:0;overflow:auto;overscroll-behavior:contain;padding-top:16px;scrollbar-width:thin;}
.video-device .screen-view h3{font-size:clamp(26px,5cqw,46px);letter-spacing:-1px;margin:10px 0 18px;}
.video-device .screen-view-kicker,.video-device .screen-form label{font-size:12px;}
.video-device .screen-projects{grid-template-columns:repeat(3,minmax(0,1fr));}
.video-device .screen-projects button{min-width:0;min-height:120px;padding:12px;overflow-wrap:anywhere;}
.video-device .screen-projects span{font-size:12px;}
.video-device .screen-form{grid-template-columns:repeat(2,minmax(0,1fr));}
.video-device .screen-form input,.video-device .screen-form textarea{min-width:0;font-size:16px;}
.video-device .screen-form-wide{grid-column:1/-1;}
@container (max-width:540px){
.video-device .sample-body{grid-template-columns:minmax(0,1fr);}
.video-device .specimen{height:160px;}
.video-device .screen-projects,.video-device .screen-form{grid-template-columns:minmax(0,1fr);}
.video-device .screen-projects button{min-height:80px;}
.video-device .screen-form-wide{grid-column:auto;}
.video-device .screen-steps{grid-template-columns:minmax(0,1fr);}
.video-device .screen-steps b{display:inline;margin-right:12px;}
}
#explore:before{background-image:url("airvo-mountain-video-final-v39.jpg")!important;background-position:center!important;background-size:cover!important;}
.video-device{clip-path:inset(0 round 2px)!important;}
.video-device .toolbar{height:8.5%!important;min-height:26px!important;}
.video-device .screen{height:auto!important;}
@media (max-width:700px){
.video-device{left:50%!important;top:42%!important;width:76%!important;height:43%!important;translate:-50% -50%!important;clip-path:inset(0 round 2px)!important;}
.video-device .screen{height:auto!important;}
}
}

/* case-studies.css */
@layer components{
.case-studies{order:3;padding:100px 6% 70px;background:var(--af-bg-soft);color:var(--af-ink);}
main>.studio{order:4;}
.case-studies,.case-study{scroll-margin-top:115px;}
.work-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;max-width:1400px;margin:auto;}
.work-intro h2{font:400 clamp(38px,4.8vw,72px)/1.05 Georgia,serif;letter-spacing:-2px;margin:22px 0 0;}
.work-intro>p{font-size:18px;line-height:1.6;max-width:470px;margin:0;color:var(--af-body);}
.work-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--af-border);margin:45px auto 0;max-width:1400px;}
.work-index a{display:flex;justify-content:space-between;gap:16px;padding:22px 20px;font-size:16px;border-right:1px solid var(--af-border);}
.work-index a:first-child,.work-index a:nth-child(4){padding-left:0;}
.work-index a:nth-child(3n){border-right:0;}
.work-index a:nth-child(n/**/+4){border-top:1px solid var(--af-border);}
.work-index a:hover,.work-back:hover{text-decoration:underline;text-underline-offset:5px;}
.case-study{max-width:1400px;margin:0 auto;padding:75px 0;border-bottom:1px solid var(--af-border);}
.case-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px;}
.concept-label{display:inline-block;font-size:12px;letter-spacing:1px;padding:8px 12px;border:1px solid var(--af-border);border-radius:30px;background:var(--af-bg-soft);}
.morrow-case .concept-label{background:#eee7f8;border-color:#d3c0e5;}
.offbeat-case .concept-label{background:#f3ff77;border-color:#c8d158;}
.harbour-case .concept-label{background:#f4dfc4;border-color:#d3ae83;}
.meridian-case .concept-label{background:#dce7ff;border-color:#9eb6e8;}
.keystone-case .concept-label{background:#e6edf1;border-color:#9eafb9;}
.case-title h3{font:400 clamp(38px,5vw,72px)/1.08 Georgia,serif;letter-spacing:-2px;margin:18px 0 12px;}
.case-title p{font-size:18px;line-height:1.5;margin:0;color:var(--af-ink);}
.case-discipline{font-size:12px;letter-spacing:1px;line-height:1.6;text-align:right;max-width:260px;}
.case-study figure{margin:0;}
.case-study figure img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--af-bg-soft);border-radius:4px;}
.case-study figcaption{font-size:13px;line-height:1.5;color:var(--af-meta);margin-top:12px;}
.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:45px;}
.case-story section{min-width:0;}
.story-number{font:italic 20px Georgia,serif;color:var(--af-meta);}
.case-story h4{font-size:20px;font-weight:500;letter-spacing:-.3px;margin:12px 0 16px;}
.case-story p{font-size:16px;line-height:1.75;color:var(--af-body);margin:0;}
.case-depth{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:45px;border-block:1px solid var(--af-border);}
.case-depth section{padding:24px 22px;border-right:1px solid var(--af-border);}
.case-depth section:first-child{padding-left:0;}
.case-depth section:last-child{border-right:0;}
.case-depth span{display:block;font-size:11px;letter-spacing:1.2px;margin-bottom:22px;color:var(--af-text);}
.case-depth strong{display:block;font-size:17px;line-height:1.35;font-weight:500;}
.case-depth p{font-size:13px;line-height:1.65;color:var(--af-body);margin:10px 0 0;}
.case-scope{display:flex;align-items:baseline;gap:30px;margin-top:38px;padding-top:22px;border-top:1px solid var(--af-border);}
.case-scope>span{flex-shrink:0;font-size:11px;letter-spacing:1.2px;}
.case-scope p{font-size:14px;line-height:1.6;color:var(--af-body);margin:0;}
.work-back{display:block;width:fit-content;margin:30px auto 0;font-size:16px;padding:10px;}
.video-device .portfolio-note{font-size:14px;line-height:1.5;color:var(--af-bg);}
.video-device .screen-projects a{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--af-border) 18.039%,transparent);border-radius:4px;min-height:120px;min-width:0;background:color-mix(in srgb,var(--af-bg) 3.922%,transparent);color:var(--af-bg);overflow-wrap:anywhere;}
.video-device .screen-projects a small{font-size:11px;margin-bottom:auto;}
.video-device .screen-projects a b{font:400 22px Georgia,serif;}
.video-device .screen-projects a:hover{background:var(--af-bg-soft);color:var(--af-ink);}
.video-device .case-project-grid button{padding:0 0 14px;gap:8px;justify-content:flex-start;overflow:hidden;}
.video-device .case-project-grid button img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;margin-bottom:4px;}
.video-device .case-project-grid button small,.video-device .case-project-grid button b,.video-device .case-project-grid button span{margin:0 12px;display:block;}
.video-device .case-project-grid button small{font-size:11px;letter-spacing:.3px;}
.video-device .screen-view-content{scroll-behavior:auto;overflow-x:hidden;}
.monitor-case{min-width:0;text-align:left;}
.video-device .monitor-case h3{margin-bottom:10px;}
.monitor-case-subtitle{font-size:16px;line-height:1.5;color:var(--af-bg);margin:0 0 18px;}
.case-image-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:10px;}
.case-image-tools button,.case-pagination button{border:1px solid color-mix(in srgb,var(--af-border) 31.373%,transparent);border-radius:5px;background:transparent;color:var(--af-bg);padding:10px 12px;font-size:13px;min-height:40px;}
.case-image-tools button:hover,.case-pagination button:hover{background:color-mix(in srgb,var(--af-bg) 9.412%,transparent);}
.case-image-scroll{max-height:none;overflow:clip;border-radius:4px;background:var(--af-ink);}
.case-image-scroll figure{margin:0;}
.case-image-scroll img{display:block;width:100%;height:auto;}
.case-image-scroll figcaption{font-size:12px;padding:10px;color:var(--af-bg);line-height:1.5;}
.case-image-scroll.enlarged img{aspect-ratio:1;object-fit:cover;object-position:center;}
.case-tabs{display:flex;border-bottom:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);margin-top:24px;gap:5px;}
.case-tabs button{flex:1;min-width:0;padding:12px 5px;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--af-bg);font-size:14px;line-height:1.4;}
.case-tabs button[aria-selected="true"]{color:var(--af-bg);border-bottom-color:var(--af-border);background:color-mix(in srgb,var(--af-bg) 3.137%,transparent);}
.case-tab-panel{padding:18px 0;}
.case-tab-panel[hidden]{display:none;}
.case-tab-panel h4{font-size:20px;font-weight:500;margin:0 0 12px;}
.case-tab-panel p{font-size:16px;line-height:1.7;color:var(--af-bg);margin:0;}
.monitor-case-scope{border-top:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);padding:18px 0;}
.monitor-case-depth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);margin-top:12px;}
.monitor-case-depth section{padding:16px 14px;border-bottom:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);}
.monitor-case-depth span{display:block;font-size:10px;letter-spacing:1px;margin-bottom:8px;}
.monitor-case-depth strong{display:block;font-size:15px;font-weight:500;}
.monitor-case-depth p{font-size:12px;line-height:1.55;margin:7px 0 0;}
.monitor-case-scope>span{font-size:11px;letter-spacing:1px;color:var(--af-text);}
.monitor-case-scope p{font-size:14px;line-height:1.6;color:var(--af-bg);margin:8px 0 0;}
.case-pagination{display:flex;justify-content:space-between;gap:10px;border-top:1px solid color-mix(in srgb,var(--af-border) 21.961%,transparent);padding-top:18px;}
.video-device .screen-view:focus-visible,.video-device .screen-view-content :focus-visible{outline:2px solid var(--af-blue);outline-offset:2px;}
@container (max-width:540px){
.video-device .case-project-grid button{min-height:0;}
.video-device .case-project-grid button small{display:block;}
.case-tabs button{font-size:12px;}
.case-image-tools{align-items:flex-start;}
.case-pagination button{font-size:12px;}
}
@media (max-width:1000px){
.work-index{grid-template-columns:repeat(3,minmax(0,1fr));}
.work-index a:nth-child(3){border-right:0;}
.work-index a:nth-child(n/**/+4){border-top:1px solid var(--af-border);}
.case-depth{grid-template-columns:repeat(2,minmax(0,1fr));}
.case-depth section:nth-child(2){border-right:0;}
.case-depth section:nth-child(n/**/+3){border-top:1px solid var(--af-border);}
.case-depth section:nth-child(3){padding-left:0;}
}
@media (max-width:800px){
.case-studies{padding:60px 6% 45px;}
.work-intro{grid-template-columns:1fr;gap:25px;}
.work-intro>p{max-width:600px;}
.case-story{grid-template-columns:1fr;gap:28px;}
.case-title{align-items:start;flex-direction:column;gap:15px;}
.case-discipline{text-align:left;max-width:none;}
.case-study{padding:50px 0;}
.case-scope{display:block;}
.case-scope p{margin-top:12px;}
}
@media (max-width:500px){
.work-index{grid-template-columns:1fr;margin-top:28px;}
.work-index a,.work-index a:first-child{border-right:0;border-bottom:1px solid var(--af-border);border-top:0;padding:16px 0;}
.work-index a:last-child{border-bottom:0;}
.case-depth{grid-template-columns:1fr;}
.case-depth section,.case-depth section:first-child,.case-depth section:nth-child(3){padding:20px 0;border-right:0;border-top:1px solid var(--af-border);}
.case-depth section:first-child{border-top:0;}
.case-depth span{margin-bottom:10px;}
.case-title h3{font-size:42px;}
.case-studies,.case-study{scroll-margin-top:98px;}
.case-study figure img{border-radius:2px;}
}
.case-delivery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:42px 0 0;border-top:1px solid var(--af-border);border-bottom:1px solid var(--af-border);}
.case-delivery>div{padding:28px 26px 30px;border-right:1px solid var(--af-border);}
.case-delivery>div:last-child{border-right:0;}
.case-delivery span{display:block;margin-bottom:16px;font-size:11px;letter-spacing:1.25px;color:var(--af-text);}
.case-delivery strong{display:block;font:400 22px/1.25 Georgia,serif;letter-spacing:-.4px;}
.case-delivery p{margin:13px 0 0;font-size:15px;line-height:1.65;color:var(--af-body);}
@media (max-width:800px){
.case-delivery{grid-template-columns:1fr;margin-top:30px;}
.case-delivery>div{padding:22px 0;border-right:0;border-bottom:1px solid var(--af-border);}
.case-delivery>div:last-child{border-bottom:0;}
.case-delivery strong{font-size:21px;}
}
.case-lenses{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.case-lenses a{padding:9px 13px;border:1px solid var(--af-border);border-radius:999px;background:var(--af-bg);color:var(--af-text);text-decoration:none;font-size:13px;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.case-lenses a:hover,.case-lenses a:focus-visible{background:var(--af-bg-soft);border-color:var(--af-ink);color:var(--af-ink);}
.work-index a.is-active{background:var(--af-bg-soft);color:var(--af-ink);font-weight:600;}
.case-study{position:relative;}
.case-study figure{overflow:hidden;border:1px solid var(--af-border);background:var(--af-bg-soft);}
.case-study figure img{transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.case-study figure:hover img{transform:scale(1.018);}
.case-engagement{border:1px solid var(--af-border);border-bottom:0;overflow:hidden;background:var(--af-bg);}
.case-engagement>div{transition:background .2s ease;}
.case-engagement>div:hover{background:var(--af-bg-soft);}
.case-delivery{overflow:hidden;background:var(--af-bg-soft);}
.case-delivery>div{position:relative;}
.case-delivery>div:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--af-ink);}
.morrow-case .case-delivery>div:before{background:#bda6d9;}
.offbeat-case .case-delivery>div:before{background:#bcc44c;}
.harbour-pine-case .case-delivery>div:before{background:#bd8c5a;}
.meridian-case .case-delivery>div:before{background:#88a5de;}
.keystone-case .case-delivery>div:before{background:#91a6b4;}
.case-study:target{animation:case-arrival .7s ease both;}
@keyframes case-arrival{
0%{background:var(--af-bg-soft);}
100%{background:transparent;}
}
@media (prefers-reduced-motion:reduce){
.case-study figure img{transition:none;}
.case-study:target{animation:none;}
}
@media (max-width:500px){
.case-lenses{gap:7px;}
.case-lenses a{padding:8px 11px;font-size:12px;}
}
}

/* business.css */
@layer components{
.business-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 22px;background:var(--af-ink);color:var(--af-bg);border:1px solid var(--af-ink);border-radius:30px;font:500 15px/1.4 Arial,sans-serif;min-height:48px;text-align:center;}
.business-button:hover{background:var(--af-ink);border-color:var(--af-ink);}
.business-button:disabled{opacity:.5;cursor:not-allowed;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
.hero-actions .explore-button{margin:0;padding:12px 0;background:none;color:var(--af-ink);font-size:14px;gap:10px;border-radius:0;border-bottom:1px solid var(--af-border);}
.mountain-copy{max-width:800px;}
.mountain-copy h1{font-size:clamp(46px,5vw,76px);}
.business-section{padding:85px 6%;scroll-margin-top:112px;color:var(--af-ink);}
.service-section{order:4;background:var(--af-bg-soft);}
.process-section{order:5;background:var(--af-bg-soft);}
.personal-section{order:6!important;}
.faq-section{order:7;background:var(--af-bg-soft);}
.contact-section{order:8;background:var(--af-bg-soft);}
.business-heading{max-width:750px;}
.business-heading h2{font:400 clamp(36px,4.4vw,64px)/1.08 Georgia,serif;letter-spacing:-1.8px;margin:18px 0 24px;}
.business-heading>p{font-size:18px;line-height:1.65;color:var(--af-ink);}
.package-card{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:var(--af-bg-soft);border:1px solid var(--af-border);padding:45px;border-radius:8px;margin-top:35px;}
.package-card h3{font:400 clamp(28px,3vw,42px)/1.15 Georgia,serif;letter-spacing:-1px;margin:24px 0;}
.package-card h4{font-size:20px;margin:0 0 20px;}
.package-card p,.package-card li{font-size:16px;line-height:1.65;color:var(--af-body);}
.package-card .package-price{font-weight:bold;color:var(--af-ink);}
.package-card ul{padding-left:20px;margin:0;}
.package-card li{padding-left:5px;margin-bottom:12px;}
.package-card .package-note{font-size:14px;border-top:1px solid var(--af-border);padding-top:20px;}
.scope-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:20px;}
.scope-notes p{font-size:15px;line-height:1.65;color:var(--af-body);}
.scope-notes b{display:block;color:var(--af-ink);margin-bottom:8px;}
.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:35px 0 0;}
.process-grid li{border-top:1px solid var(--af-border);padding-top:24px;}
.process-grid span{font-size:12px;letter-spacing:1px;}
.process-grid h3{font:400 26px Georgia,serif;margin:18px 0;}
.process-grid p{font-size:16px;line-height:1.7;color:var(--af-body);}
.personal-section{display:grid;grid-template-columns:.7fr 1fr;gap:80px;align-items:center;background:var(--af-bg);}
.personal-mark{background:var(--af-bg-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:35px;}
.personal-mark img{width:min(240px,100%);height:auto;mix-blend-mode:multiply;}
.personal-mark span{font-size:11px;letter-spacing:2px;}
.business-text-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;margin-top:15px;}
.faq-section details{max-width:950px;border-bottom:1px solid var(--af-border);padding:22px 0;}
.faq-section summary{font-size:18px;cursor:pointer;line-height:1.5;}
.faq-section details p{font-size:16px;line-height:1.75;max-width:800px;color:var(--af-body);}
.business-email{display:block;font-size:20px;text-decoration:underline;overflow-wrap:anywhere;}
.business-email[hidden]{display:none;}
.contact-availability{font-size:14px!important;}
.business-form{display:grid;gap:18px;}
.business-form label{font-size:14px;}
.business-form label span{color:var(--af-text);}
.business-form input,.business-form textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;font:16px/1.5 Arial,sans-serif;border:1px solid var(--af-border);border-radius:5px;background:color-mix(in srgb,var(--af-bg) 80.0%,transparent);color:var(--af-ink);}
.business-form textarea{resize:vertical;}
.business-form .business-button{justify-self:start;}
.enquiry-status{font-size:13px;line-height:1.6;margin:0;color:var(--af-text);}
.work-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:35px;}
.work-actions .work-back{margin:0;}
.demo-launch{margin-top:22px;}
.video-device .demo-launch,.video-device .screen-view .business-button{background:var(--af-bg-soft);color:var(--af-ink);border-color:var(--af-border);}
.business-form.brief-prepared textarea[name="brief"]{animation:brief-ready 1.4s ease both;}
@keyframes brief-ready{
0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--af-ink) 0.0%,transparent);}
35%{box-shadow:0 0 0 5px color-mix(in srgb,var(--af-ink) 25.882%,transparent);}
100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--af-ink) 0.0%,transparent);}
}
.marketing-preference{margin:2px 0 0;padding:0;border:0;}
.marketing-preference legend{margin-bottom:9px;font-size:14px;}
.business-form .marketing-preference label{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);cursor:pointer;}
.business-form .marketing-preference input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--af-ink);}
.marketing-preference label>span{font-size:13px;line-height:1.55;color:var(--af-text);}
.marketing-preference strong{display:block;margin-bottom:3px;font-size:14px;font-weight:500;color:var(--af-ink);}
.marketing-preference small{display:block;margin-top:5px;font-size:12px;color:var(--af-meta);}
.phone-field{min-width:0;margin:0;padding:0;border:0;}
.phone-field legend{margin-bottom:8px;font-size:14px;}
.phone-field legend span{color:var(--af-text);}
.phone-row{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:10px;}
.business-form .phone-row label{font-size:12px;color:var(--af-text);}
.business-form .phone-row select,.business-form .phone-row input{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);color:var(--af-text);font:16px/1.5 Arial,sans-serif;}
.business-form .phone-row select{padding-right:34px;}
@media (max-width:560px){
.phone-row{grid-template-columns:1fr;}
.business-form .phone-row label{font-size:13px;}
}
@media (max-width:900px){
.package-card{gap:30px;padding:30px;}
.process-grid{grid-template-columns:1fr 1fr;}
.personal-section,.contact-section{gap:35px;}
.scope-notes{gap:20px;}
}
@media (max-width:650px){
.business-section{padding:55px 6%;scroll-margin-top:100px;}
.package-card,.personal-section,.contact-section{grid-template-columns:1fr;}
.package-card{padding:24px;}
.scope-notes{grid-template-columns:1fr;gap:0;}
.personal-mark{min-height:220px;}
.personal-mark img{width:160px;}
.work-actions{flex-direction:column;align-items:flex-start;}
.hero-actions{gap:12px;}
.hero-actions .business-button{font-size:14px;}
.process-grid{gap:20px;}
.business-heading>p{font-size:16px;}
.mountain-copy h1{font-size:46px;letter-spacing:-2px;}
}
@media (max-width:370px){
.process-grid{grid-template-columns:1fr;}
}
}

/* identity.css */
@layer components{
body{color:var(--af-ink);background:var(--af-bg);}
body>footer .brand-logo{width:220px;height:auto;overflow:visible;flex-shrink:0;}
body>footer .brand-logo img{display:block;width:100%;height:auto;max-width:100%;transform:none;mix-blend-mode:normal;}
.business-button{background:var(--af-bg-soft);border-color:var(--af-border);color:var(--af-text);letter-spacing:.15px;}
.business-button:hover{background:var(--af-bg-soft);border-color:var(--af-border);}
.mountain-copy h1{font-weight:300;letter-spacing:-3px;font-family:Arial,Helvetica,sans-serif;}
.mountain-copy .eyebrow,.business-heading>.eyebrow,.work-intro .eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;}
.hero-actions .business-button,.hero-actions .explore-button{background:var(--af-bg-soft);color:var(--af-text);border:1px solid var(--af-border);border-radius:999px;}
.hero-actions .business-button,.hero-actions .explore-button{padding:14px 24px;min-height:48px;display:inline-flex;align-items:center;font-size:14px;}
.hero-actions .business-button:hover,.hero-actions .explore-button:hover{background:var(--af-bg-soft);border-color:var(--af-border);}
.business-heading h2,.work-intro h2{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-1.5px;}
.package-card h3,.process-grid h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.5px;}
.business-section,.case-studies{color:var(--af-text);}
.case-studies,.process-section,.faq-section{background:var(--af-bg);}
.service-section{background:var(--af-bg-soft);}
.package-card{background:var(--af-bg);border-color:var(--af-border);border-radius:3px;}
.package-card .concept-label{background:transparent;color:var(--af-meta);border-color:var(--af-border);border-radius:2px;font-weight:600;font-size:11px;}
.package-card p,.package-card li,.scope-notes p,.process-grid p,.business-heading>p,.faq-section details p{color:var(--af-ink);}
.personal-mark{background:var(--af-bg-soft);border:1px solid var(--af-border);min-height:390px;padding:45px;}
.personal-mark img{width:min(330px,100%);height:auto;mix-blend-mode:normal;}
.personal-mark span{margin-top:24px;font-weight:600;color:var(--af-text);}
.contact-section{background:var(--af-bg-soft);color:var(--af-text);}
.contact-section .business-heading>p,.contact-section .enquiry-status,.contact-section .business-form label span{color:var(--af-ink);}
.contact-section .business-form input,.contact-section .business-form textarea{color:var(--af-text);background:var(--af-bg);border-color:var(--af-border);border-radius:3px;}
.contact-section .business-form input::placeholder,.contact-section .business-form textarea::placeholder{color:var(--af-text);}
.contact-section .business-button{background:var(--af-bg);border-color:var(--af-border);color:var(--af-text);}
.contact-section .business-button:hover{background:var(--af-bg-soft);}
body>footer{background:var(--af-bg);border-top:1px solid var(--af-border);color:var(--af-text);padding-block:35px;}
body>footer .brand-logo img{filter:none;}
.video-device .screen-view{background:var(--af-bg);color:var(--af-text);}
.video-device .screen-view-bar{border-color:var(--af-border);padding-bottom:10px;min-height:42px;}
.monitor-brand{display:block;width:145px;height:auto;max-width:55%;filter:none;flex-shrink:0;}
.video-device .screen-view h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.7px;}
.video-device .screen-view-kicker,.video-device .screen-steps b,.monitor-case-scope>span{color:var(--af-meta);}
.video-device .screen-projects button:hover,.video-device .screen-projects button:focus-visible{background:var(--af-bg-soft);color:var(--af-ink);}
.video-device .screen-view .business-button{background:var(--af-bg-soft);color:var(--af-text);border-color:var(--af-border);}
.case-study .demo-launch,.demo-launch,.video-device .screen-view .demo-launch{display:inline-block;background:var(--af-bg-soft);color:var(--af-text);border:1px solid var(--af-border);border-radius:30px;font-size:12px;font-weight:400;letter-spacing:1px;padding:8px 12px;}
.morrow-case .demo-launch,.video-device .screen-view .morrow-demo{background:#eee7f8;border-color:#d3c0e5;}
.offbeat-case .demo-launch,.video-device .screen-view .offbeat-demo{background:#f3ff77;border-color:#c8d158;}
.harbour-case .demo-launch,.video-device .screen-view .harbour-pine-demo{background:#f4dfc4;border-color:#d3ae83;}
.meridian-case .demo-launch,.video-device .screen-view .meridian-demo{background:#dce7ff;border-color:#9eb6e8;}
.keystone-case .demo-launch,.video-device .screen-view .keystone-demo{background:#e6edf1;border-color:#9eafb9;}
.demo-launch:hover{filter:brightness(.97);}
.case-tabs button[aria-selected="true"]{color:var(--af-text);border-bottom-color:var(--af-border);}
.case-image-tools button,.case-pagination button{border-radius:2px;}
.video-device .screen-view:focus-visible,.video-device .screen-view-content :focus-visible{outline-color:var(--af-blue);}
.brief-label{border-radius:2px;font-weight:700;letter-spacing:1px;color:var(--af-text);}
.brief-panel,.brief-options button,.custom-brief input,.custom-brief button{border-radius:3px;}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--af-blue);outline-offset:4px;}
.contact-section :focus-visible{outline-color:var(--af-blue);}
.mountain-copy p,.case-title p,.case-story p,.work-intro>p,.case-scope p{color:var(--af-ink);}
.case-title h3{color:var(--af-ink);}
.case-title .case-discipline{color:var(--af-meta);}
.brand-strip{color:var(--af-text);border-color:var(--af-border);padding-block:30px;}
.package-card{box-shadow:0 10px 35px color-mix(in srgb,var(--af-ink) 2.353%,transparent);}
.package-card .package-price,.scope-notes b{color:var(--af-text);}
.business-form input,.business-form textarea{box-shadow:none;}
.video-device .screen-projects button{background:var(--af-bg);color:var(--af-text);border-color:var(--af-border);box-shadow:none;}
.video-device .screen-projects button b{font-family:Arial,Helvetica,sans-serif;font-weight:400;}
.video-device .screen-projects button small{color:var(--af-meta);}
.video-device .portfolio-note,.monitor-case-subtitle,.case-tab-panel p,.monitor-case-scope p{color:var(--af-ink);}
.video-device .screen-view-bar button,.case-image-tools,.case-image-tools button,.case-pagination button{color:var(--af-text);}
.case-image-tools button,.case-pagination button{border-color:var(--af-border);background:var(--af-bg);}
.case-image-tools button:hover,.case-pagination button:hover{background:var(--af-bg-soft);}
.case-image-scroll{background:var(--af-bg);}
.case-image-scroll figcaption{color:var(--af-meta);background:var(--af-bg);}
.case-tabs,.monitor-case-scope,.case-pagination{border-color:var(--af-border);}
.case-tabs button{color:var(--af-text);}
.case-tabs button[aria-selected="true"]{background:var(--af-bg-soft);}
.video-device .screen-steps,.video-device .screen-steps span{border-color:var(--af-border);}
.video-device .toolbar{background:var(--af-bg-soft);color:var(--af-text);}
.brief-panel{background:color-mix(in srgb,var(--af-bg) 98.039%,transparent);border-color:var(--af-border);box-shadow:0 20px 65px color-mix(in srgb,var(--af-ink) 9.412%,transparent);color:var(--af-text);}
.brief-modal-shade{background:color-mix(in srgb,var(--af-bg-soft) 70.196%,transparent);backdrop-filter:blur(5px);}
.brief-options button,.brief-close{background:var(--af-bg-soft);border-color:var(--af-border);color:var(--af-text);}
.brief-options button:hover,.brief-options button:focus-visible{background:var(--af-bg-soft);border-color:var(--af-ink);}
.custom-brief button{background:var(--af-bg-soft);color:var(--af-text);border:1px solid var(--af-border);}
.custom-brief input{border-color:var(--af-border);color:var(--af-text);}
#explore>.brief{background:color-mix(in srgb,var(--af-bg) 92.941%,transparent);border-color:var(--af-border);box-shadow:0 6px 22px color-mix(in srgb,var(--af-ink) 4.314%,transparent);}
.chin span{font-size:0;}
.chin span:after{content:"air form";font:500 9px/1 Arial,Helvetica,sans-serif;letter-spacing:2px;color:#747b7a;}
@media (max-width:900px){
.personal-mark{padding:30px;}
}
@media (max-width:650px){
.mountain-copy h1{letter-spacing:-2px;}
.business-heading h2,.work-intro h2{letter-spacing:-1.2px;}
.personal-mark{min-height:310px;}
.personal-mark img{width:min(280px,100%);}
body>footer .brand-logo{width:175px;}
.monitor-brand{width:130px;}
}
@media (max-width:380px){
.personal-mark{min-height:260px;padding:24px;}
}
body.motion-free .video-scroll-stage{height:auto;}
body.motion-free .video-viewport{position:relative;height:auto;overflow:visible;}
body.motion-free .video-viewport .mountain-hero{position:relative;inset:auto;height:auto;min-height:650px;background:var(--af-bg-soft) url("airform-hero-poster.webp") center/cover;}
body.motion-free .video-viewport #explore{display:none;}
body.motion-free .hero-video{display:none;}
body.motion-free .skip-intro{display:none;}
.brief-panel.open{max-height:calc(100svh - 32px);overflow-y:auto;}
.brief-panel{text-align:center;padding:30px 34px;}
.brief-panel-head{position:relative;display:block;margin:0 auto 24px;}
.brief-panel-head>div{max-width:620px;margin:0 auto;}
.brief-panel-head h3{font-size:26px;line-height:1.12;margin:8px 0;}
.brief-panel-head p{max-width:540px;margin:0 auto;font-size:13px;}
.brief-close{position:absolute;top:0;right:0;}
.brief-builder{max-width:780px;margin:0 auto;gap:20px;}
.brief-builder legend{text-align:center;margin-bottom:11px;}
.brief-options button{text-align:center;min-height:68px;padding:13px 16px;}
.brief-options button.selected{box-shadow:inset 0 -3px var(--af-ink);}
.brief-options b{margin-bottom:5px;}
.brief-choice-row{justify-content:center;}
.brief-detail>span{text-align:center;}
.brief-detail textarea{text-align:left;}
.brief-submit-row{justify-content:center;flex-wrap:wrap;}
.brief-submit-row p{flex-basis:100%;text-align:center;}
.brief-submit{min-width:150px;}
.brief-step{display:block;text-align:center;}
.contact-section .business-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-content:start;}
.contact-section .business-form>label:nth-of-type(3),.contact-section .business-form>label:nth-of-type(4),.contact-section .phone-field,.contact-section .marketing-preference{grid-column:1/-1;}
.contact-section .business-form input,.contact-section .business-form textarea,.contact-section .business-form .phone-row select{margin-top:7px;min-height:52px;padding:12px 14px;}
.contact-section .business-form textarea{min-height:142px;}
.contact-section .phone-field{padding-top:1px;}
.contact-section .phone-field legend{margin-bottom:9px;}
.contact-section .phone-row{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);gap:14px;}
.contact-section .marketing-preference{margin-top:2px;}
.contact-section .business-form .marketing-preference label{align-items:center;padding:15px 17px;}
.contact-section .marketing-preference label>span{padding-right:5px;}
.contact-section .business-form>.business-button{grid-column:1;justify-self:start;margin-top:2px;}
.contact-section .business-form>.enquiry-status{grid-column:2;align-self:center;text-align:right;margin:0;}
.phone-row>label:first-child{position:relative;}
.country-code-results{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(420px,calc(100vw - 48px));max-height:250px;overflow:auto;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);box-shadow:0 14px 30px color-mix(in srgb,var(--af-ink) 10.98%,transparent);}
.country-code-results button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:0;border-bottom:1px solid var(--af-border);padding:11px 13px;background:var(--af-bg);color:var(--af-text);text-align:left;font:14px Arial;}
.country-code-results button:hover,.country-code-results button:focus-visible{background:var(--af-bg-soft);}
.country-code-results button:last-child{border-bottom:0;}
.country-code-results b{font-weight:500;white-space:nowrap;}
.country-code-results p{margin:0;padding:13px;font-size:13px;color:var(--af-body);}
.brief-options{max-width:720px;margin-inline:auto;grid-auto-rows:88px;}
.brief-options button{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.consultation-preference{grid-column:1/-1;margin:0;padding:0;border:0;}
.consultation-preference legend{margin-bottom:9px;font-size:14px;}
.consultation-preference legend span{color:var(--af-text);}
.business-form .consultation-toggle{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);cursor:pointer;}
.business-form .consultation-toggle input{width:18px;height:18px;min-height:0;flex:0 0 18px;margin:0;accent-color:var(--af-ink);}
.consultation-toggle>span{font-size:13px;line-height:1.5;color:var(--af-text);}
.consultation-toggle strong{display:block;margin-bottom:2px;color:var(--af-ink);font-size:14px;font-weight:500;}
.consultation-details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;}
.consultation-details label{font-size:12px;color:var(--af-text);}
.consultation-details input,.consultation-details select{display:block;width:100%;min-height:52px;margin-top:7px;padding:12px 14px;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);color:var(--af-text);font:16px/1.5 Arial,sans-serif;}
@media (max-width:650px){
.consultation-details{grid-template-columns:1fr;}
}
.contact-section .phone-row,.contact-section .consultation-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
@media (max-width:650px){
.contact-section .phone-row,.contact-section .consultation-details{grid-template-columns:1fr;}
}
@media (min-width:651px) and (min-height:700px){
.contact-section .business-form{gap:11px 16px;}
.contact-section .business-form input,.contact-section .business-form textarea,.contact-section .business-form .phone-row select{min-height:44px;margin-top:5px;padding:8px 12px;}
.contact-section .business-form textarea{min-height:96px;}
.contact-section .phone-field legend,.consultation-preference legend,.marketing-preference legend{margin-bottom:5px;}
.contact-section .business-form .marketing-preference label,.business-form .consultation-toggle{padding:10px 13px;}
.marketing-preference label>span,.consultation-toggle>span{font-size:12px;line-height:1.35;}
.marketing-preference strong,.consultation-toggle strong{margin-bottom:1px;font-size:13px;}
.marketing-preference small{margin-top:2px;font-size:11px;}
.consultation-details{margin-top:7px;gap:12px;}
.consultation-details input,.consultation-details select{min-height:44px;margin-top:5px;padding:8px 12px;}
.contact-section .business-form>.business-button{min-height:42px;padding:10px 17px;}
.contact-section .business-form>.enquiry-status{font-size:11px;line-height:1.35;}
}
@media (max-width:650px){
.contact-section .business-form{grid-template-columns:1fr;gap:16px;}
.contact-section .business-form>label,.contact-section .business-form>label:nth-of-type(3),.contact-section .business-form>label:nth-of-type(4),.contact-section .phone-field,.contact-section .marketing-preference,.contact-section .business-form>.business-button,.contact-section .business-form>.enquiry-status{grid-column:auto;}
.contact-section .phone-row{grid-template-columns:1fr;}
.contact-section .business-form>.enquiry-status{text-align:left;}
.contact-section .business-form textarea{min-height:130px;}
}
.choices button,#replay{min-height:44px;}
.skip-intro{position:absolute;right:6%;bottom:24px;z-index:50;padding:12px 18px;border:1px solid var(--af-border);border-radius:999px;background:color-mix(in srgb,var(--af-bg-soft) 90.98%,transparent);color:var(--af-text);font-size:14px;min-height:44px;text-decoration:none;}
.skip-intro[hidden]{display:none;}
.skip-intro:hover{background:var(--af-bg-soft);}
.case-view-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:22px 0;}
.case-view-actions .demo-launch{margin:0;min-height:44px;display:inline-flex;align-items:center;}
.full-case-link{display:inline-flex;align-items:center;min-height:44px;color:var(--af-text);font-size:14px;text-decoration:underline;text-underline-offset:4px;}
.business-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;line-height:1.4;text-align:center;}
.video-device .screen-view .business-button{border-radius:999px;}
.case-pagination button,.case-image-tools button{min-height:44px;border-radius:999px;}
.video-device .screen-view-content{overscroll-behavior:auto;}
@media (max-width:700px){
.mountain-copy{padding:32px 6% 90px;max-width:100%;}
.mountain-copy h1{font-size:clamp(34px,9vw,46px);line-height:1.08;letter-spacing:-1.5px;margin:20px 0;}
.hero-actions{align-items:stretch;gap:10px;}
.hero-actions>a{justify-content:center;flex:1 1 180px;}
.hero-actions .business-button,.hero-actions .explore-button{padding:12px 16px;font-size:14px;}
.skip-intro{bottom:16px;right:6%;}
.work-actions{align-items:stretch;}
.work-actions .business-button{width:100%;}
.case-view-actions{align-items:stretch;flex-direction:column;}
.case-story{gap:32px;}
.case-story p{line-height:1.7;}
.case-scope>span,.case-discipline{font-size:12px;}
.business-heading h2{overflow-wrap:break-word;}
}
body>footer .brand-logo img,.personal-mark img,.monitor-brand{mix-blend-mode:multiply;}
.agency-site{padding-top:104px;}
.agency-site .mountain-copy{max-width:850px;padding-left:5%;}
.agency-site .mountain-copy h1{font-size:clamp(58px,6.2vw,98px);line-height:.98;letter-spacing:-3.5px;}
.agency-site .mountain-copy p{max-width:650px;font-size:19px;}
.agency-site .brand-strip{padding:28px 5%;text-transform:uppercase;letter-spacing:1px;font-size:11px;}
.agency-site .work-intro h2,.agency-site .business-heading h2{font-size:clamp(48px,5.7vw,82px);line-height:1;letter-spacing:-2.8px;}
.agency-site .agency-services{background:var(--af-bg-soft);}
.agency-site .webflow-section{background:var(--af-bg);}
.webflow-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:60px;border-top:1px solid var(--af-border);border-left:1px solid var(--af-border);}
.webflow-benefits article{min-height:245px;padding:28px;border-right:1px solid var(--af-border);border-bottom:1px solid var(--af-border);}
.webflow-benefits span{font-size:11px;letter-spacing:1.3px;}
.webflow-benefits h3{font-size:25px;font-weight:400;line-height:1.15;letter-spacing:-.6px;margin:45px 0 14px;}
.webflow-benefits p{max-width:330px;font-size:14px;line-height:1.65;color:var(--af-body);}
.webflow-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:70px;}
.webflow-offers article{display:flex;flex-direction:column;align-items:flex-start;min-height:355px;padding:30px;background:var(--af-bg-soft);border:1px solid var(--af-border);}
.webflow-offers h3{font-size:28px;font-weight:400;line-height:1.12;letter-spacing:-.7px;margin:38px 0 15px;}
.webflow-offers p{font-size:15px;line-height:1.65;color:var(--af-body);}
.webflow-offers .business-button{margin-top:auto;}
.platform-note{max-width:720px;margin:25px 0 0;font-size:12px;line-height:1.6;color:var(--af-text);}
.agency-site .agency-services>.business-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;}
.agency-site .agency-services>.business-heading .eyebrow{grid-column:1/-1;}
.agency-site .agency-services>.business-heading h2,.agency-site .agency-services>.business-heading p{margin:0;}
.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:65px;border-top:1px solid var(--af-border);border-left:1px solid var(--af-border);}
.capability-grid article{min-height:290px;padding:28px;border-right:1px solid var(--af-border);border-bottom:1px solid var(--af-border);background:var(--af-bg-soft);}
.capability-grid span,.agency-engagements .eyebrow{font-size:11px;letter-spacing:1.3px;}
.capability-grid h3{font-size:27px;font-weight:400;line-height:1.12;letter-spacing:-.7px;margin:58px 0 14px;}
.capability-grid p{font-size:14px;line-height:1.65;color:var(--af-body);max-width:330px;}
.agency-engagements{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-block:1px solid var(--af-border);}
.agency-engagements>div{padding:38px 38px 42px 0;}
.agency-engagements>div+div{padding-left:38px;border-left:1px solid var(--af-border);}
.agency-engagements h3{font-size:34px;font-weight:400;line-height:1.08;letter-spacing:-1px;margin:28px 0 16px;}
.agency-engagements p{color:var(--af-body);max-width:520px;}
.agency-site .process-section{background:var(--af-bg);}
.agency-site .process-grid li{min-height:280px;}
.agency-site .agency-profile{background:var(--af-bg-soft);}
.agency-site .agency-profile .personal-mark{background:var(--af-bg);border-color:var(--af-border);}
.agency-site .agency-profile .personal-mark span{letter-spacing:1.4px;}
.agency-site .contact-section{background:var(--af-bg);}
@media (max-width:900px){
.agency-site{padding-top:96px;}
.agency-site .agency-services>.business-heading{grid-template-columns:1fr;gap:24px;}
.capability-grid,.webflow-benefits{grid-template-columns:repeat(2,minmax(0,1fr));}
.webflow-offers{grid-template-columns:1fr;}
.webflow-offers article{min-height:290px;}
}
@media (max-width:650px){
.agency-site{padding-top:102px;}
.agency-site .mountain-copy{padding-top:28px;}
.agency-site .mountain-copy h1{font-size:clamp(39px,11vw,54px);line-height:1.02;}
.agency-site .mountain-copy p{font-size:16px;}
.agency-site .brand-strip{font-size:9px;letter-spacing:.6px;}
.capability-grid,.webflow-benefits{grid-template-columns:1fr;margin-top:38px;}
.capability-grid article,.webflow-benefits article{min-height:220px;}
.capability-grid h3,.webflow-benefits h3{margin-top:35px;}
.agency-engagements{grid-template-columns:1fr;}
.agency-engagements>div,.agency-engagements>div+div{padding:28px 0;border-left:0;}
.agency-engagements>div+div{border-top:1px solid var(--af-border);}
.webflow-offers{margin-top:45px;}
.webflow-offers article{min-height:310px;padding:24px;}
.agency-site .work-intro h2,.agency-site .business-heading h2{font-size:42px;}
}
}

/* home-focus.css */
@layer components{
.home-page .case-studies,.home-page .business-section{display:none;}
.home-page footer{margin-top:0;}
.home-page .demo-caption{margin-bottom:28px;}
}

/* site-shell.css */
@layer components{
body{padding-top:0!important;}
img[src*="airvo-horizontal-"],img[src*="airvo-wordmark"],img[src*="airvo-mark-"],img[src*="airform-wordmark"],img[src*="airform-mark"]{background:transparent;mix-blend-mode:multiply;}
body>footer.site-footer>a:first-child,.personal-mark,.screen-view-bar{background:transparent;}
[hidden]{display:none!important;}
body>footer.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 5%;border-top:1px solid var(--af-border);background:var(--af-bg-soft);color:var(--af-text);font:13px/1.4 Arial,sans-serif;}
body>footer.site-footer>a:first-child{display:block;width:130px;max-width:130px;flex:0 0 130px;overflow:visible;}
body>footer.site-footer>a:first-child img{display:block;width:130px!important;max-width:130px!important;height:auto!important;transform:none!important;object-fit:contain;}
body>footer.site-footer>a{color:inherit;text-decoration:none;}
.detail-page .case-studies{display:block;}
.work-page #work-heading,.contact-page #contact-title{font:400 clamp(38px,5vw,72px)/1.08 var(--airform-serif);letter-spacing:-2px;margin:20px 0;color:var(--af-ink);}
.contact-page #contact{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:50px;margin:0;padding:55px 5%;align-items:start;}
.contact-page .business-form{min-width:0;}
.contact-page .business-form input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;flex:0 0 18px;}
.contact-page .business-form .consultation-details input,.contact-page .business-form .consultation-details select{width:100%;min-height:44px;box-sizing:border-box;}
@media (max-width:800px){
.contact-page #contact{grid-template-columns:1fr;gap:24px;}
body>footer.site-footer{align-items:flex-start;flex-direction:column;}
}
body.home-page .mountain-hero{isolation:isolate;}
.hero-services{position:absolute;z-index:1;top:29%;right:clamp(28px,7vw,112px);display:grid;gap:7px;text-align:left;font:500 9px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.24em;}
.hero-location{position:absolute;z-index:1;right:clamp(28px,5vw,84px);bottom:42px;padding-left:13px;border-left:1px solid var(--af-ink);color:var(--af-ink);font:500 8px/1.65 Arial,Helvetica,sans-serif;letter-spacing:.22em;}
@media (max-width:700px){
.hero-services{top:auto;right:auto;bottom:76px;left:7%;grid-template-columns:1fr 1fr;font-size:8px;gap:7px 16px;}
.hero-location{right:7%;bottom:28px;}
}
body.home-page .hero-services{position:static;display:grid;gap:7px;margin-top:27px;font:500 10px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.24em;text-align:left;}
body.home-page .hero-location{right:clamp(28px,5vw,84px);bottom:42px;}
body.home-page .video-device .screen,body.home-page .video-device .screen-view-content{overscroll-behavior:auto!important;}
body.home-page .video-scroll-stage{overflow:visible;}
@media (max-width:700px){
html{scroll-padding-top:82px;}
body.home-page .hero-services{grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:22px;font-size:9px;}
body.home-page #explore>.brief{top:94px!important;}
}
html{scroll-padding-top:var(--airform-header-height);}
body.home-page main>section{scroll-margin-top:var(--airform-header-height);}
body.home-page .video-scroll-stage{isolation:isolate;}
body.home-page #explore>.brief{z-index:5!important;}
body.home-page .video-device{z-index:2;}
@media (max-width:700px){
body.home-page #explore>.brief{top:106px!important;}
}
body.home-page #explore>.brief{top:122px!important;}
@media (max-width:700px){
body.home-page #explore>.brief{top:96px!important;}
}
body.home-page .brief-cta{padding:34px 5.5% 42px;border-bottom:1px solid var(--af-border);}
body.home-page .brief-cta .brief{display:flex;align-items:center;justify-content:center;gap:16px;width:min(700px,100%);min-height:68px;margin:0 auto;padding:15px 22px;border:1px solid var(--af-border);border-radius:999px;background:var(--af-bg-soft);box-shadow:0 12px 30px color-mix(in srgb,var(--af-ink) 5.098%,transparent);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
body.home-page .brief-cta .brief:hover,body.home-page .brief-cta .brief:focus-visible{background:var(--af-bg-soft);border-color:var(--af-ink);transform:translateY(-2px);}
body.home-page .brief-cta .brief-label{flex:0 0 auto;margin:0;border:0;padding:0;color:var(--af-text);font-size:10px;letter-spacing:.16em;}
body.home-page .brief-cta .brief p{min-width:0;margin:0;color:var(--af-body);font-size:15px;text-align:center;}
body.home-page .brief-cta .caret{color:var(--af-text);}
body.home-page .brief-cta-arrow{font-size:19px;color:var(--af-text);}
@media (max-width:700px){
body.home-page .brief-cta{padding:22px 6% 28px;}
body.home-page .brief-cta .brief{gap:10px;min-height:60px;padding:13px 16px;border-radius:16px;}
body.home-page .brief-cta .brief-label{font-size:8px;}
body.home-page .brief-cta .brief p{font-size:13px;text-align:left;}
.brief-cta-arrow{font-size:16px!important;}
}
body.home-page #explore>.brief-cta{position:absolute;z-index:4;top:78.5%;left:50%;width:min(480px,42vw);margin:0;padding:0;translate:-50% 0;border:0;opacity:0;pointer-events:none;transition:opacity .32s ease;}
body.video-handoff #explore>.brief-cta{opacity:1;pointer-events:auto;}
body.home-page #explore>.brief-cta .brief{min-height:46px;padding:9px 16px;box-shadow:0 10px 24px rgb(17 21 22 / .14);}
.hero-up-arrow{display:inline-flex;white-space:nowrap;}
.hero-up-arrow svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;}
@media (max-width:700px){
body.home-page #explore>.brief-cta{top:74%;width:min(82%,330px);}
body.home-page #explore>.brief-cta .brief{min-height:44px;padding:8px 10px;}
}
.hero-up-arrow{width:.86em;height:.86em;margin-left:.08em;vertical-align:-.06em;}
.hero-up-arrow svg{stroke-width:3.15;}
body.home-page .brief-cta{padding:28px 5.5% 34px!important;background:var(--af-bg-soft);}
body.home-page .brief-cta .brief{width:min(760px,100%)!important;min-height:62px!important;}
body.home-page .brief-cta .brief p{font-size:14px!important;}
.menu-toggle{display:none;}
@media (max-width:760px){
.menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 0;border:0;background:transparent;color:var(--af-ink);font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;}
.menu-toggle i,.menu-toggle i:before{display:block;width:15px;height:1px;background:currentColor;content:"";transition:transform .2s ease;}
.menu-toggle i:before{transform:translateY(-5px);}
body.home-page .hero-services{bottom:54px!important;gap:6px 16px!important;}
body.home-page .brief-cta .brief{align-items:flex-start;border-radius:14px!important;}
}
.brief-panel{z-index:1200!important;}
.brief-modal-shade{z-index:1190!important;}
body.home-page #explore>.brief-cta{display:block!important;width:min(560px,48vw)!important;margin:0!important;padding:0!important;background:transparent;border:0!important;}
body.home-page #explore>.brief-cta .brief{display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content!important;align-items:center!important;gap:14px!important;width:100%!important;min-width:0!important;min-height:52px!important;margin:0!important;padding:10px 18px!important;box-sizing:border-box!important;border-radius:999px!important;background:color-mix(in srgb,var(--af-bg-soft) 94.902%,transparent);}
body.home-page #explore>.brief-cta .brief-label{white-space:nowrap!important;}
body.home-page #explore>.brief-cta .brief p{width:auto!important;min-width:0!important;margin:0!important;font-size:14px!important;line-height:1.25!important;text-align:center!important;overflow-wrap:normal!important;}
body.home-page .home-proof-head{padding-bottom:28px!important;}
body.home-page .home-proof-head h2{max-width:600px!important;}
body.home-page .home-proof-head p{max-width:430px!important;font-size:17px!important;line-height:1.48!important;}
@media (max-width:700px){
body.home-page #explore>.brief-cta{width:min(88%,360px)!important;}
body.home-page #explore>.brief-cta .brief{gap:9px!important;padding:9px 12px!important;}
body.home-page #explore>.brief-cta .brief-label{font-size:8px!important;}
body.home-page #explore>.brief-cta .brief p{font-size:12px!important;text-align:left!important;}
}
body.agency-site{font-family:var(--airform-sans);}
body.agency-site ::selection{background:var(--airform-blue);color:var(--af-bg);}
body.agency-site main a:focus-visible,body.agency-site main button:focus-visible{outline-color:var(--airform-blue);}
body.agency-site .page-hero .eyebrow,body.agency-site .work-intro .eyebrow,body.agency-site .business-heading>.eyebrow,body.agency-site .home-commercial>.eyebrow,body.agency-site .airvo-trust>div>.eyebrow{display:inline-flex;align-items:center;gap:10px;}
body.agency-site .page-hero .eyebrow::before,body.agency-site .work-intro .eyebrow::before,body.agency-site .business-heading>.eyebrow::before,body.agency-site .home-commercial>.eyebrow::before,body.agency-site .airvo-trust>div>.eyebrow::before{content:"";width:24px;height:2px;flex:0 0 24px;background:var(--airform-blue);}
body.agency-site .brand-strip span{position:relative;padding-left:18px;}
body.agency-site .brand-strip span::before{content:"";position:absolute;left:0;top:50%;width:9px;height:2px;background:var(--airform-blue);}
@keyframes airform-crossbar-in{
from{opacity:0;transform:scaleX(.15);}
to{opacity:1;transform:scaleX(1);}
}
@keyframes airform-wordmark-in{
from{opacity:0;transform:translateY(-4px);}
to{opacity:1;transform:none;}
}
}

/* world-class.css */
@layer components{
html{scroll-behavior:smooth;}
body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;padding:12px 16px;background:var(--af-ink);color:var(--af-bg);transform:translateY(-180%);transition:transform 0.2s;}
.skip-link:focus{transform:none;}
main:focus{outline:none;}
.home-proof{padding:clamp(80px, 9vw, 130px) 5%;border-top:1px solid var(--af-border);background:var(--af-bg);}
.home-proof-head{display:grid;grid-template-columns:1.05fr 0.95fr;gap:7vw;align-items:end;max-width:1400px;margin:auto;}
.home-proof-head h2{margin:18px 0 0;font:400 clamp(46px, 6vw, 82px)/1 Georgia,
    serif;letter-spacing:-3px;color:var(--af-ink);}
.home-proof-head > p{max-width:580px;margin:0;color:var(--af-body);font-size:18px;line-height:1.65;}
.home-proof-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));align-items:start;gap:18px;max-width:1400px;margin:56px auto 0;}
.home-proof-grid > a{display:flex;min-width:0;flex-direction:column;overflow:hidden;color:var(--af-ink);text-decoration:none;border:0;background:transparent;transition:transform 0.22s ease,
    border-color 0.22s ease;}
.home-proof-grid > a:hover{transform:translateY(-4px);}
.home-proof-grid img{width:100%;aspect-ratio:3 / 2;object-fit:cover;object-position:center;}
.home-proof-grid span,.home-proof-grid h3,.home-proof-grid p,.home-proof-grid b{margin-inline:22px;}
.home-proof-grid span{margin-top:22px;font-size:10px;letter-spacing:1.15px;color:var(--af-meta);}
.home-proof-grid h3{margin-top:16px;margin-bottom:8px;font:400 30px/1.05 Georgia,
    serif;}
.home-proof-grid p{margin-top:0;color:var(--af-body);font-size:15px;line-height:1.55;}
.home-proof-grid b{margin-top:auto;padding:18px 0 22px;border-top:1px solid var(--af-border);font-size:13px;font-weight:500;}
.home-page .home-proof-grid p,.home-page .home-proof-grid b{display:none;}
.home-page .home-proof-grid > a{position:relative;aspect-ratio:16 / 9;background:var(--af-ink);}
.home-page .home-proof-grid > a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 45%, rgb(17 21 22 / .82));pointer-events:none;}
.home-page .home-proof-grid img{position:absolute;inset:0;height:100%;aspect-ratio:auto;transition:transform 0.45s ease;}
.home-page .home-proof-grid > a:hover img{transform:scale(1.025);}
.home-page .home-proof-grid span,.home-page .home-proof-grid h3{position:absolute;z-index:1;left:22px;right:22px;margin:0;color:var(--af-bg);}
.home-page .home-proof-grid span{bottom:57px;font-size:10px;letter-spacing:1.25px;}
.home-page .home-proof-grid h3{bottom:20px;font:400 27px/1 Georgia, serif;letter-spacing:-0.7px;}
.home-proof-all{display:block;width:max-content;margin:30px auto 0;color:var(--af-ink);font-size:14px;text-decoration:none;border-bottom:1px solid var(--af-border);padding-bottom:5px;}
.work-page .work-intro{max-width:1400px;margin-inline:auto;}
.work-page .case-story h4{font-size:clamp(24px, 2vw, 32px);}
.work-page .case-story p{font-size:16px;line-height:1.7;}
.work-page .concept-label{display:inline-flex;padding:7px 10px;border:1px solid currentColor;border-radius:999px;}
.case-engagement{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));margin:26px 0 22px;border-top:1px solid var(--af-border);border-bottom:1px solid var(--af-border);}
.case-engagement > div{min-height:132px;padding:22px;border-right:1px solid var(--af-border);}
.case-engagement > div:last-child{border-right:0;}
.case-engagement span,.case-engagement strong{display:block;}
.case-engagement span{margin-bottom:18px;color:var(--af-meta);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;}
.case-engagement strong{font-size:15px;line-height:1.55;font-weight:500;}
.work-page .demo-launch{min-height:46px;}
.site-footer{min-height:104px;}
.site-footer a{min-height:44px;display:inline-flex;align-items:center;}
.legal-note{max-width:720px;color:var(--af-meta);font-size:13px;line-height:1.6;}
.privacy-page .page-content{max-width:900px;}
.privacy-page h2{margin:48px 0 12px;font:400 32px/1.15 Georgia,
    serif;}
.privacy-page p,.privacy-page li{color:var(--af-body);font-size:16px;line-height:1.7;}
.privacy-page ul{padding-left:20px;}
@media (max-width: 900px){
.home-proof-grid{grid-template-columns:1fr 1fr;}
.home-proof-head{grid-template-columns:1fr;gap:24px;}
}
@media (max-width: 620px){
.case-engagement{grid-template-columns:1fr;}
.case-engagement > div{min-height:auto;border-right:0;border-bottom:1px solid var(--af-border);}
.case-engagement > div:last-child{border-bottom:0;}
.home-proof-grid{grid-template-columns:1fr;}
.home-proof-head h2{letter-spacing:-2px;}
.home-proof{padding-inline:6%;}
}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto;}
*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}
.work-page .work-intro{align-items:start;}
.work-page .work-intro > p{margin-top:40px;}
@media (max-width: 800px){
.work-page .work-intro > p{margin-top:0;}
}
}

/* commercial.css */
@layer components{
.commercial-section{max-width:1400px;margin:0 auto;padding:64px clamp(22px,5vw,80px);color:var(--af-text);scroll-margin-top:110px;}
.commercial-section>p{max-width:800px;line-height:1.7;}
.commercial-section h2{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:12px 0 24px;}
.commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0;}
.commercial-grid article,.service-links>a{background:var(--af-bg-soft);border:1px solid var(--af-border);border-radius:12px;padding:26px;text-decoration:none;color:inherit;}
.commercial-grid h3{font-size:23px;line-height:1.25;font-weight:400;margin:15px 0;}
.commercial-grid p,.commercial-grid li{font-size:16px;line-height:1.65;}
.commercial-grid ul{padding-left:20px;}
.commercial-grid li{margin:8px 0;}
.commercial-grid a,.commercial-actions a{color:var(--af-text);text-underline-offset:5px;}
.scope-note{font-size:14px;line-height:1.65;}
.commercial-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;}
.commercial-actions a{border:1px solid var(--af-border);border-radius:32px;padding:14px 22px;text-decoration:none;background:var(--af-bg-soft);}
.service-links{grid-template-columns:repeat(2,minmax(0,1fr));}
.prototype-note{padding:22px 26px;background:var(--af-bg-soft);border-left:3px solid var(--af-border);line-height:1.7;margin:24px 0;}
.prototype-note p{margin:8px 0 0;}
a:focus-visible{outline:2px solid var(--af-blue);outline-offset:5px;}
@media (max-width:760px){
.commercial-grid,.service-links{grid-template-columns:1fr;}
.commercial-section{padding:40px 22px;}
.commercial-actions{flex-direction:column;}
.commercial-grid article{padding:22px;}
}
}

/* conversion.css */
@layer components{
.airvo-trust,.case-assurance{max-width:1400px;margin:0 auto;padding:80px clamp(22px,6vw,90px);display:grid;grid-template-columns:1fr 1.15fr;gap:56px;color:var(--af-text);background:var(--af-bg);}
.airvo-trust h2,.case-assurance h2{font:400 clamp(34px,4.2vw,62px)/1.05 Georgia,serif;letter-spacing:-2px;margin:16px 0;}
.airvo-trust>div>p,.case-assurance>p{font-size:17px;line-height:1.7;margin:0;max-width:650px;}
.trust-list{display:grid;gap:0;border-top:1px solid var(--af-border);}
.trust-list article{display:grid;grid-template-columns:52px 1fr;column-gap:16px;padding:20px 0;border-bottom:1px solid var(--af-border);}
.trust-list article>span{grid-row:span 2;font-size:12px;letter-spacing:1.5px;color:var(--af-text);}
.trust-list h3{margin:0;font-size:19px;font-weight:500;}
.trust-list p{grid-column:2;margin:7px 0 0;line-height:1.55;}
.airvo-trust .commercial-actions{grid-column:1/-1;}
.case-assurance{padding-block:50px;margin-top:0;background:var(--af-bg-soft);}
.case-assurance h2{font-size:clamp(28px,3.3vw,46px);}
.qualification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;grid-column:1/-1;}
.qualification-grid label{font-size:14px;}
.qualification-grid select{display:block;width:100%;min-height:50px;margin-top:7px;padding:10px 12px;border:1px solid var(--af-border);border-radius:3px;background:var(--af-bg);color:var(--af-text);font:16px/1.4 Arial,sans-serif;}
.longform{max-width:1080px;}
.process-timeline{border-top:1px solid var(--af-border);}
.process-timeline article{display:grid;grid-template-columns:170px 1fr 1.2fr;gap:24px;border-bottom:1px solid var(--af-border);padding:30px 0;}
.process-timeline span{font-size:12px;letter-spacing:1.2px;color:var(--af-text);}
.process-timeline h2{font:400 29px/1.15 Georgia,serif;margin:0;}
.process-timeline p{margin:0;line-height:1.7;}
.standards-grid article{min-height:210px;}
@media (max-width:800px){
.airvo-trust,.case-assurance{grid-template-columns:1fr;padding:52px 22px;gap:26px;}
.qualification-grid{grid-template-columns:1fr;}
.process-timeline article{grid-template-columns:1fr;gap:10px;padding:24px 0;}
.process-timeline h2{font-size:27px;}
.standards-grid article{min-height:0;}
}
.service-faq{max-width:900px;margin:56px 0 12px;border-top:1px solid var(--af-border);}
.service-faq details{border-bottom:1px solid var(--af-border);padding:19px 0;}
.service-faq summary{cursor:pointer;font-size:17px;line-height:1.45;}
.service-faq p{max-width:720px;margin:13px 0 3px;line-height:1.7;}
@media (max-width:800px){
.service-faq{margin-top:38px;}
}
}

/* airform-components.css */
/* Layer 2: shared Air Form components. Project content is deliberately excluded. */
@layer components {
  html { scroll-padding-top: var(--airform-header-height); }
  body.theme-airform { background: var(--af-bg); color: var(--af-ink); }
  body > header.airvo-header {
    box-sizing: border-box; position: sticky; inset: auto; top: 0; z-index: 350;
    isolation: isolate; display: flex; align-items: center; justify-content: space-between;
    gap: 24px; width: 100%; height: auto; min-height: 76px; margin: 0;
    padding: 11px clamp(24px, 4.5vw, 72px); background: var(--af-toolbar);
    color: var(--af-text); border: 0; border-bottom: 1px solid var(--af-border);
    box-shadow: var(--af-shadow); backdrop-filter: blur(8px);
    font-family: var(--airform-sans);
  }
  body > header.airvo-header .brand-logo { display: block; width: 192px; height: 49px; flex: 0 0 auto; overflow: visible; background: transparent; }
  body > header.airvo-header .brand-logo img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: contain; transform: none; mix-blend-mode: normal; animation: none; }
  body > header.airvo-header nav { display: flex; position: static; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 3px; max-width: none; transform: none; }
  body > header.airvo-header nav > a {
    display: inline-flex; align-items: center; justify-content: center; min-height: 36px;
    width: auto; max-width: none; margin: 0; padding: 8px 11px;
    border: 1px solid transparent; border-radius: 4px; background: transparent;
    color: var(--af-text); font: 600 12px/1 var(--airform-sans); letter-spacing: .13em;
    text-transform: uppercase; text-decoration: none; white-space: nowrap;
    text-shadow: none; box-shadow: none; backdrop-filter: none;
  }
  body > header.airvo-header nav > a:hover { background: var(--af-bg-soft); color: var(--af-ink); border-color: var(--af-border); }
  body > header.airvo-header nav > a[aria-current="page"] { background: var(--af-blue-soft); color: var(--af-blue-hover); border-color: var(--af-border); }
  body > header.airvo-header nav > a.airvo-contact-link { margin-left: 8px; padding-inline: 13px; background: var(--af-action); border-color: var(--af-action); color: var(--af-white); }
  body > header.airvo-header nav > a.airvo-contact-link:hover { background: var(--af-action-hover); border-color: var(--af-action-hover); }
  body > header.airvo-header::after { content: ""; position: absolute; left: clamp(24px, 4.5vw, 72px); bottom: -1px; width: 46px; height: 2px; background: var(--af-blue); animation: airform-crossbar-in .7s ease both; transform-origin: left center; }
  body > header.airvo-header nav > a::after { content: none; }
  body > header.airvo-header .menu-toggle { display: none; font:500 13px/1 var(--airform-sans); text-transform:none; letter-spacing:0; border-radius:0; }
  body > header.airvo-header a:focus-visible,
  body > header.airvo-header button:focus-visible,
  body.theme-airform :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
  body > footer.site-footer a:focus-visible { outline: 2px solid var(--af-blue-hover); outline-offset: 3px; }
  body.theme-airform :where(h1,h2,h3,h4,h5,h6) { color: var(--af-ink); }
  body.theme-airform :where(main > section > p, .page-hero p, .business-heading > p, .case-story p, .airvo-trust > div > p) { color: var(--af-body); }
  body.theme-airform :where(.commercial-grid p, .trust-list p, .home-proof-head p, .package-card p, .scope-notes p, .platform-note) { color: var(--af-text); }
  body.theme-airform :where(.eyebrow,.brief-label,.demo-caption,.meta,.kicker,.concept-label,.case-discipline,.story-number) { color: var(--af-meta); }
  body.theme-airform :where(.commercial-actions a,.home-proof-all,.home-proof-grid > a > b,.text-link,.full-case-link) { color: var(--af-blue-hover); }
  body.theme-airform :where(.commercial-actions a,.home-proof-all,.home-proof-grid > a > b,.text-link,.full-case-link):hover { color: var(--af-blue-hover); }
  body.theme-airform .caret { color: var(--af-blue); }
  body.theme-airform :where(.commercial-section,.airvo-trust,.brief-cta) { background: var(--af-bg-soft); border-color: var(--af-border); }
  body.theme-airform :where(.home-proof,.studio,.business-section,.contact-section) { background: var(--af-bg); border-color: var(--af-border); }
  body.home-page .mountain-hero:after { background: var(--af-hero-wash); }
  body.home-page .mountain-copy,
  body.home-page .mountain-copy h1,
  body.home-page .mountain-copy h1 em,
  body.home-page .mountain-copy p,
  body.home-page .hero-services { color: var(--af-ink); text-shadow: none; }
  .hero-project-button { background: var(--af-ink); color: var(--af-bg); border-color: var(--af-ink); }
  .hero-project-button:hover,.hero-project-button:focus-visible { background: var(--af-action-hover); border-color: var(--af-action-hover); }
  body.home-page .brief-cta .brief,
  body.home-page #explore > .brief-cta .brief { background: var(--af-bg); border-color: var(--af-border); box-shadow: var(--af-shadow); }
  body.home-page .brief-cta .brief:hover { background: var(--af-bg-soft); border-color: var(--af-border); }
  body.home-page .brief-cta .brief-label,
  body.home-page .brief-cta .brief p,
  body.home-page .brief-cta-arrow { color: var(--af-text); }
  body > footer.site-footer { background: var(--af-bg-soft); color: var(--af-text); border-top-color: var(--af-border); }
  @media (max-width: 1000px) and (min-width: 761px) {
    body > header.airvo-header { gap: 12px; padding-inline: 3%; }
    body > header.airvo-header .brand-logo { width: 190px; }
    body > header.airvo-header nav > a { padding-inline: 8px; font-size: 10px; }
  }
  @media (max-width: 760px) {
    body > header.airvo-header { min-height: 68px; padding: 8px 6%; gap: 8px; flex-wrap: wrap; }
    body > header.airvo-header .brand-logo { width: 162px; height: 42px; }
    body > header.airvo-header nav { width: 100%; justify-content: flex-start; }
    body > header.airvo-header nav > a { min-height: 44px; padding: 8px; font-size: 10px; }
    body > header.airvo-header:has(.menu-toggle) nav { display: none; }
    body > header.airvo-header .menu-toggle { display: inline-flex; color: var(--af-ink); }
    body > header.airvo-header.menu-open nav { display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding-block: 8px; background: var(--af-bg); }
    body > header.airvo-header.menu-open nav > a { justify-content: flex-start; min-height: 44px; padding: 12px; }
    body > header.airvo-header.menu-open nav > a.airvo-contact-link { margin-left: 0; }
    body > header.airvo-header::after { left: 6%; width: 34px; }
  }
  @media (prefers-reduced-motion: reduce) {
    body > header.airvo-header::after,
    body > header.airvo-header .brand-logo img { animation: none; }
  }

  body.theme-airform { font-family: var(--airform-sans); }
  body.theme-airform main :is(h1,h2), body.theme-airform .brand-promise strong { font-family: var(--airform-serif); font-weight:400; }
  body.theme-airform main :is(h1,h2) { letter-spacing: -.045em; }
  body.theme-airform :is(.business-button,.demo-launch) { border-radius:4px; background:var(--af-action); border-color:var(--af-action); color:var(--af-white); text-decoration:none; }
  body.theme-airform :is(.business-button,.demo-launch):hover { background:var(--af-action-hover); border-color:var(--af-action-hover); }
  body.theme-airform .commercial-actions a { border:0; border-radius:0; padding:10px 0; text-decoration:underline; text-underline-offset:5px; background:transparent; }
  body.theme-airform :is(.commercial-grid article,.trust-list article,.package-card,.business-form) { border-radius:4px; box-shadow:none; }
  body > footer.site-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:32px 5%; border-top:1px solid var(--af-border); font:13px/1.5 var(--airform-sans); }
  body > footer.site-footer img { width:145px; height:auto; }
  body > footer.site-footer a { color:var(--af-ink); text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
  .menu-toggle { align-items:center; gap:10px; min-height:44px; padding:10px 12px; border:1px solid var(--af-border); background:var(--af-bg); font:14px/1 var(--airform-sans); }
  body.theme-airform .work-intro { padding-bottom:24px; }
  .af-project-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:32px 0 52px; }
  .af-project-index a { color:var(--af-ink); text-decoration:none; }
  .af-project-index img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block; margin-bottom:14px; }
  .af-project-index span { display:block; margin-top:5px; color:var(--af-text); font-size:13px; }
  @media(max-width:760px) { .af-project-index { grid-template-columns:1fr 1fr; gap:20px 14px; } }
  @media(max-width:480px) { .af-project-index { grid-template-columns:1fr; } }
}
@layer components {
.af-service-introduction { padding:clamp(60px,8vw,100px) 6% 30px; max-width:1500px; margin:auto; }
.af-service-introduction h1 { font:400 clamp(45px,6vw,84px)/1.06 var(--airform-sans); margin:24px 0; }
.af-service-introduction > p { max-width:720px; font-size:20px; line-height:1.6; }
.af-service-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:50px; }
.af-service-intro-grid article { border-top:1px solid var(--af-border); padding-top:24px; }
.af-service-intro-grid h2 { font-size:34px; margin:0 0 20px; }
.af-service-intro-grid p { font-size:17px; line-height:1.7; color:var(--af-text); }
@media(max-width:760px) { .af-service-intro-grid { grid-template-columns:1fr; gap:40px; } }
}

/* studio.css */
@layer components {
.af-studio * { box-sizing:border-box; }
.af-studio { margin:0; font-family:var(--airform-sans); -webkit-font-smoothing:antialiased; }
.af-studio img { max-width:100%; }
.af-studio a { -webkit-tap-highlight-color:transparent; }
.af-studio p { font-size:17px; line-height:1.7; color:var(--af-text); }
.af-studio h1,.af-studio h2,.af-studio h3 { margin:0; font-weight:400; }
.af-studio h2 { font-size:clamp(34px,4.2vw,62px); line-height:1.07; }
.af-studio h3 { font-size:clamp(25px,2.5vw,36px); line-height:1.2; letter-spacing:-.035em; }
.af-studio .skip-link { position:fixed; z-index:9999; left:16px; top:12px; padding:12px; background:var(--af-ink); color:var(--af-white); transform:translateY(-180%); }
.af-studio .skip-link:focus { transform:none; }
.af-studio main:focus { outline:none; }
.af-wrap { width:100%; max-width:1512px; margin:0 auto; padding:96px 6%; }
.af-eyebrow { display:block; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.16em; color:var(--af-text); }
.af-hero { position:relative; height:clamp(580px,calc(100svh - 80px),820px); min-height:580px; isolation:isolate; background:var(--af-bg); }
.af-hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.af-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(245,244,240,.76) 0%,rgba(245,244,240,.68) 37%,rgba(245,244,240,.1) 66%,transparent 85%); }
.af-hero-copy { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; height:100%; padding:56px 6% 90px; max-width:780px; }
.af-hero-copy .af-eyebrow { color:var(--af-ink); }
.af-hero-copy h1 { margin:30px 0 22px; font-size:clamp(78px,8.6vw,132px); line-height:.92; letter-spacing:-.065em; }
.af-hero-copy p { color:var(--af-ink); font-size:19px; line-height:1.5; margin:0 0 28px; }
.af-button { display:inline-flex; align-items:center; justify-content:center; gap:32px; min-height:48px; padding:15px 21px; background:var(--af-blue); border:1px solid var(--af-blue); border-radius:3px; color:var(--af-white); font:500 14px/1.2 var(--airform-sans); text-decoration:none; }
.af-button:hover { background:var(--af-blue-hover); border-color:var(--af-blue-hover); }
.af-hero-caption { position:absolute; bottom:24px; left:6%; right:6%; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:10px; letter-spacing:.14em; color:var(--af-ink); }
.af-hero-caption a { color:var(--af-ink); text-decoration:none; font-size:13px; letter-spacing:0; min-height:44px; display:inline-flex; align-items:center; }
.af-intro { display:grid; grid-template-columns:.7fr 1.3fr; gap:60px; }
.af-intro > .af-eyebrow { padding-top:10px; }
.af-intro p { max-width:610px; }
.af-services { padding-top:96px; }
.af-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:42px; }
.af-section-head .af-eyebrow { margin-bottom:18px; }
.af-section-head > p { max-width:390px; margin:0; }
.af-text-link { display:inline-flex; align-items:center; min-height:44px; padding:6px 0; border-bottom:1px solid var(--af-blue); color:var(--af-blue-hover); font-size:14px; line-height:1.4; text-decoration:none; }
.af-text-link:hover { border-color:var(--af-ink); color:var(--af-ink); }
.af-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.af-service-grid article { border-top:1px solid var(--af-border); padding-top:26px; }
.af-number { display:block; font-size:11px; letter-spacing:.14em; color:var(--af-blue-hover); margin-bottom:35px; }
.af-service-grid h3 { margin-bottom:20px; }
.af-service-grid p { max-width:540px; }
.af-service-list { display:block; margin-top:30px; font-size:13px; line-height:1.6; color:var(--af-text); }
.af-editorial { display:grid; grid-template-columns:1fr 1fr; background:var(--af-bg-soft); }
.af-editorial > img { width:100%; height:100%; min-height:470px; object-fit:cover; }
.af-editorial > div { padding:clamp(40px,6vw,94px); align-self:center; }
.af-editorial .af-eyebrow { margin-bottom:26px; }
.af-editorial p { max-width:480px; }
.af-work .af-section-head h2 { max-width:680px; }
.af-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; margin:48px 0 28px; }
.af-projects > a { display:block; color:var(--af-ink); text-decoration:none; }
.af-projects img { width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block; }
.af-projects > a > div { padding:23px 0 0; }
.af-projects small { color:var(--af-text); font-size:10px; letter-spacing:.1em; }
.af-projects h3 { margin-top:14px; font-size:25px; display:flex; justify-content:space-between; gap:12px; }
.af-projects h3 span { color:var(--af-blue-hover); font-size:20px; }
.af-projects p { font-size:13px; margin-top:8px; }
.af-process { border-top:1px solid var(--af-border); }
.af-process > .af-eyebrow { margin-bottom:24px; }
.af-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:50px; }
.af-process-grid article { border-top:1px solid var(--af-border); padding-top:24px; }
.af-process-grid span { display:block; color:var(--af-blue-hover); font-size:12px; margin-bottom:25px; }
.af-process-grid h3 { font-size:28px; }
.af-process-grid p { font-size:15px; }
.af-invitation { background:var(--af-bg-soft); max-width:none; text-align:center; padding-top:84px; padding-bottom:88px; }
.af-invitation .af-eyebrow { margin-bottom:24px; }
.af-invitation h2 { font-size:clamp(46px,6.5vw,92px); margin-bottom:35px; }
.af-email { display:block; width:max-content; max-width:100%; margin:23px auto 0; color:var(--af-text); text-decoration:none; font-size:14px; }
.af-page-intro h1 { font-size:clamp(52px,7.7vw,112px); line-height:1; margin:28px 0; }
.af-page-intro p { max-width:710px; font-size:20px; }
.af-studio .af-editorial + .af-services { padding-top:90px; }
.af-brand-spec { padding-top:0; }
.af-logo-display { padding:65px 10%; background:var(--af-bg-soft); margin-bottom:60px; }
.af-logo-display img { display:block; width:500px; margin:auto; height:auto; }
.af-colour-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; padding:50px 0; }
.af-colour-grid > div > span { display:block; height:120px; border:1px solid var(--af-border); margin-bottom:15px; }
.af-colour-grid b,.af-colour-grid small { display:block; font-size:14px; line-height:1.8; font-weight:400; }
.af-colour-grid small { font-size:12px; color:var(--af-text); }
.af-brand-spec > .af-text-link { margin-top:30px; }
@media(max-width:1000px) {
.af-hero-copy h1 { font-size:100px; }
.af-intro { grid-template-columns:.5fr 1.5fr; gap:30px; }
.af-section-head { align-items:flex-start; flex-direction:column; gap:25px; }
.af-section-head > p { max-width:650px; }
.af-service-grid { gap:35px; }
.af-editorial > div { padding:44px 30px; }
.af-projects h3 { font-size:22px; }
}
@media(max-width:760px) {
.af-wrap { padding:64px 6%; }
.af-hero { height:auto; min-height:700px; display:flex; flex-direction:column; }
.af-hero-image { position:relative; order:2; height:290px; min-height:0; object-position:76% 60%; z-index:auto; }
.af-hero::before { content:none; }
.af-hero-copy { padding:48px 6% 40px; height:auto; min-height:390px; }
.af-hero-copy h1 { font-size:clamp(68px,15vw,104px); margin:23px 0 20px; }
.af-hero-copy .af-eyebrow { font-size:10px; letter-spacing:.09em; }
.af-hero-copy p { font-size:17px; }
.af-hero-caption { position:relative; order:3; left:auto; right:auto; bottom:auto; padding:10px 6%; background:var(--af-bg); }
.af-hero-caption > span { font-size:8px; letter-spacing:.07em; }
.af-intro { grid-template-columns:1fr; gap:25px; }
.af-services { padding-top:64px; }
.af-service-grid { grid-template-columns:1fr; gap:42px; }
.af-number { margin-bottom:24px; }
.af-editorial { grid-template-columns:1fr; }
.af-editorial > img { min-height:0; height:auto; aspect-ratio:3/2; }
.af-editorial > div { padding:48px 6%; }
.af-projects { grid-template-columns:1fr; gap:38px; margin-top:30px; }
.af-projects h3 { font-size:28px; }
.af-projects img { aspect-ratio:3/2; }
.af-process-grid { grid-template-columns:1fr; gap:24px; margin-top:34px; }
.af-process-grid article { display:grid; grid-template-columns:28px 1fr; gap:5px 18px; }
.af-process-grid span { margin-top:7px; }
.af-process-grid p { grid-column:2; margin-top:6px; }
.af-page-intro p { font-size:18px; }
.af-colour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.af-logo-display { padding:40px 5%; }
.af-studio .af-editorial + .af-services { padding-top:60px; }
.af-studio footer.site-footer { align-items:flex-start; gap:12px 22px; }
.af-studio footer.site-footer > a:first-child { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
}

/* alpine.css */
@layer components {
  body.theme-airform main :is(h1,h2) { letter-spacing:-.035em; }
  .af-studio .af-button { background:var(--af-action); border-color:var(--af-action); color:var(--af-white); }
  .af-studio .af-button:hover { background:var(--af-action-hover); border-color:var(--af-action-hover); }
  .af-studio .af-number,.af-studio .af-text-link,.af-studio .af-process-grid span { color:var(--af-blue-hover); }
  body.alpine-home .mountain-copy { top:27%; left:6%; width:65%; max-width:790px; }
  body.alpine-home .mountain-copy h1 { white-space:nowrap; }
  .alpine-kicker { display:block; max-width:560px; margin-bottom:24px; font:500 12px/1.5 var(--airform-sans); letter-spacing:.18em; color:var(--af-ink); }
  body.alpine-home .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; }
  body.alpine-home .hero-project-button { background:var(--af-action); border-color:var(--af-action); color:var(--af-white); }
  body.alpine-home .mountain-copy p { font-weight:400; }
  body.alpine-home main > .af-wrap { order:3; }
  body.alpine-home main > .af-editorial { order:3; }
  body.alpine-home main > .af-invitation { order:4; }
  body.alpine-home #animation-case-source { display:none; }
  body.alpine-home .af-intro > div { min-width:0; }
  body.alpine-home .mountain-copy p { max-width:460px; }
  body.alpine-home .video-device .screen-view h3 { font-family:var(--airform-serif); }
  .af-editorial { background:var(--af-bg-soft); }
  @media(max-width:760px) {
    body.alpine-home .mountain-copy { left:6%; top:20%; width:88%; max-width:none; }
    body.alpine-home .mountain-copy h1 { white-space:normal; }
    .alpine-kicker { font-size:12px; letter-spacing:.1em; max-width:280px; }
  }
}

@layer components {
 body > header.airvo-header .brand-logo { width:172px; height:58px; }
 body > header.airvo-header .brand-logo img { object-fit:contain; }
 body > footer.site-footer img { width:145px; }
 .af-logo-display img { width:450px; }
 @media(max-width:760px) { body > header.airvo-header .brand-logo { width:142px; height:48px; } }
}

@layer components {
 body.alpine-home .hero-actions a { text-decoration:none; }
 body.alpine-home .hero-actions .hero-project-button { display:inline-flex; align-items:center; padding:15px 22px; border-radius:3px; font:500 15px/1.3 var(--airform-sans); }
 body.alpine-home .hero-enquiry-link { color:var(--af-ink); font-size:15px; }
 body.alpine-home .hero-film-link { flex-basis:100%; width:fit-content; font-size:14px; }
 body.alpine-home .mountain-copy p { font-size:clamp(19px,2vw,25px); max-width:570px; line-height:1.45; }
 .af-projects small { font-size:12px; } .af-projects p { font-size:16px; }
 .featured-breakdown { padding:32px 0; border-top:1px solid var(--af-border); }
 .featured-breakdown > h3 { margin:16px 0 28px; font-size:clamp(26px,3vw,40px); }
 .featured-breakdown-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
 .featured-breakdown-grid span,.concept-caption { font-size:12px; color:var(--af-meta); }
 .featured-breakdown-grid h4 { margin:12px 0; font-size:20px; }
 .featured-breakdown-grid p { font-size:16px; line-height:1.7; }
 .featured-breakdown-grid a { color:var(--af-blue-hover); font-size:14px; }
 .concept-caption { margin-top:26px; }
 .enquiry-extras { grid-column:1/-1; padding:18px 0; border-top:1px solid var(--af-border); border-bottom:1px solid var(--af-border); }
 .enquiry-extras summary { cursor:pointer; font-size:16px; padding:8px 0; }
 .enquiry-extras[open] summary { margin-bottom:20px; }
 .enquiry-extras .qualification-grid { margin-top:20px; }
 .business-form > label:has(textarea) { grid-column:1/-1; }
 @media(max-width:760px) { .featured-breakdown-grid { grid-template-columns:1fr; } }
}

@layer components {
 .visual-journal { max-width:1280px; margin:0 auto; padding:clamp(36px,5vw,76px) 6%; }
 .visual-journal h2 { font-size:clamp(30px,3.7vw,52px); line-height:1.1; margin:14px 0 32px; }
 .visual-journal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
 .visual-journal-grid > a { display:block; text-decoration:none; color:var(--af-ink); }
 .brand-image { margin:0; min-width:0; }
 .brand-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
 .brand-image figcaption { font:400 13px/1.6 var(--airform-sans); color:var(--af-meta); margin:12px 0 24px; }
 .case-study > .brand-image { margin-top:28px; }
 .case-method { margin:28px 0; padding:20px 0; border-block:1px solid var(--af-border); }
 .case-method summary { cursor:pointer; font:500 16px/1.5 var(--airform-sans); }
 .case-method[open] summary { margin-bottom:24px; }
 body.alpine-home .hero-enquiry-link { background:none; border:0; padding:12px 0; cursor:pointer; font-family:var(--airform-sans); }
 .concept-brand-spread { display:grid; grid-template-columns:.75fr 1.25fr; gap:48px; align-items:center; padding:clamp(35px,6vw,90px) 6%; max-width:1500px; margin:auto; }
 .concept-brand-spread h2 { font-size:clamp(30px,3.8vw,54px); line-height:1.08; margin:20px 0; }
 .concept-brand-spread p { font-size:16px; line-height:1.7; max-width:440px; }
 .concept-brand-spread a { color:inherit; font-size:15px; }
 @media(max-width:760px){.visual-journal-grid,.concept-brand-spread{grid-template-columns:1fr;}.concept-brand-spread{gap:24px;}.visual-journal{padding-inline:6%;}}
}

@layer components {
 .customer-journey { padding:clamp(40px,6vw,90px) 6%; max-width:1500px; margin:auto; }
 .journey-heading { max-width:780px; } .journey-heading h2 { font-size:clamp(32px,4vw,58px); line-height:1.06; margin:18px 0; }
 .journey-heading p,.journey-detail p { font-size:17px; line-height:1.7; }
 .journey-tools { display:flex; align-items:end; flex-wrap:wrap; gap:24px; margin:30px 0; }
 .journey-tools label { display:grid; gap:8px; font-size:14px; }
 .journey-tools input { background:transparent; color:inherit; border:1px solid currentColor; padding:13px 16px; border-radius:3px; min-width:240px; font:inherit; }
 .journey-filters { display:flex; flex-wrap:wrap; gap:9px; }
 .customer-journey button { font:500 14px/1.4 var(--airform-sans); min-height:44px; cursor:pointer; color:inherit; background:transparent; border:1px solid currentColor; border-radius:3px; padding:10px 15px; }
 .journey-filters button[aria-pressed="true"],.journey-card button[aria-pressed="true"] { background:var(--af-ink); color:var(--af-white); border-color:var(--af-ink); }
 .journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
 .journey-card { padding:26px; border:1px solid currentColor; border-radius:4px; display:flex; flex-direction:column; min-width:0; }
 .journey-card img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; margin-bottom:22px; }
 .journey-card > span { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
 .journey-card h3 { font-size:25px; margin:16px 0 12px; line-height:1.15; }
 .journey-card p { font-size:16px; line-height:1.6; flex:1; } .journey-card > div { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
 .journey-status,.journey-note { font-size:13px; line-height:1.6; } .journey-note { margin-top:26px; }
 .journey-dialog { background:var(--af-bg); color:var(--af-ink); border:0; padding:32px; border-radius:8px; width:min(680px,90vw); max-height:85vh; overflow:auto; }
 .journey-dialog::backdrop { background:rgb(0 0 0/.5); } .journey-dialog > button { display:block; margin-left:auto; }
 .journey-detail h2 { font-size:clamp(28px,4vw,40px); margin:20px 0; line-height:1.1; }
 @media(max-width:900px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
 @media(max-width:600px){.journey-grid{grid-template-columns:1fr;}.journey-tools input{min-width:0;width:100%;}.journey-tools label{width:100%;}}
}

@layer components {
 @media(max-width:760px){
  body.alpine-home .video-scroll-stage,body.alpine-home .video-viewport { height:auto!important; min-height:0; position:relative; overflow:visible; }
  body.alpine-home .video-viewport .mountain-hero { position:relative; inset:auto; height:auto; min-height:0; padding:0; background:var(--af-bg); pointer-events:auto; }
  body.alpine-home .mountain-hero::before { content:""; display:block; position:relative; inset:auto; width:100%; height:220px; background:url('second-scene-mountains-1024.webp') center 46%/cover; opacity:1; }
  body.alpine-home .mountain-hero::after,body.alpine-home .hero-video,body.alpine-home #explore,body.alpine-home .skip-intro { display:none!important; }
  body.alpine-home .mountain-copy { position:relative!important; top:auto!important; left:auto!important; width:auto!important; max-width:none; padding:32px 6% 40px; visibility:visible!important; opacity:1!important; pointer-events:auto!important; transform:none!important; }
  body.alpine-home .mountain-copy h1 { font-size:clamp(40px,10vw,58px)!important; line-height:1.06!important; white-space:normal; }
  body.alpine-home .mountain-copy p { font-size:19px!important; text-transform:none!important; letter-spacing:0!important; margin:20px 0; line-height:1.5!important; }
  body.alpine-home .alpine-kicker { font-size:12px; margin-bottom:18px; }
  body.alpine-home .hero-actions { display:grid; grid-template-columns:1fr; gap:9px; }
  body.alpine-home .hero-actions .hero-project-button { justify-content:center; min-height:48px; }
  body.alpine-home .hero-enquiry-link { min-height:48px; text-align:center; border:1px solid var(--af-border); border-radius:3px; }
  body.alpine-home .hero-film-link,body.alpine-home .hero-services { display:none!important; }
  .demo-project-bar { display:none!important; }
  body.project-theme > header:not(.airvo-header) { flex-wrap:wrap; gap:15px; padding:22px 6%; }
  body.project-theme > header:not(.airvo-header) nav { display:flex; flex-wrap:wrap; gap:14px; }
  body.project-theme main h1 { font-size:clamp(38px,10vw,56px); line-height:1.05; overflow-wrap:break-word; }
  .brand-image figcaption { font-size:12px; }
  .business-form input,.business-form textarea,.business-form select { font-size:16px; }
  .brief-panel.open { max-height:calc(100dvh - 24px); overflow-y:auto; }
  .brief-options span { font-size:13px; } .brief-choice-row label>span { font-size:14px; min-height:44px; }
 }
}

@layer components {
 .collection-controls { flex-wrap:wrap; gap:18px; } .collection-controls .filters { flex-wrap:wrap; }
 #product-search { font:inherit; background:transparent; padding:12px; border:1px solid currentColor; width:230px; }
 #checkout-dialog { padding:32px; width:min(560px,90vw); max-height:85vh; overflow:auto; color:var(--af-ink); background:var(--af-bg); border:0; border-radius:8px; }
 #checkout-dialog::backdrop { background:rgb(0 0 0/.5); } #checkout-dialog h2 { font-size:32px; margin:22px 0; } #checkout-dialog p { font-size:16px; line-height:1.6; }
 #checkout-dialog select { font:inherit; display:block; padding:12px; margin:14px 0; max-width:100%; } #checkout-demo { margin-top:20px; }
 @media(max-width:600px){.collection-controls{align-items:stretch;}.collection-controls label,#product-search{width:100%;}.product-card>div{flex-wrap:wrap;gap:12px;}}
}

@layer components {
 body.alpine-home .mountain-copy { position:absolute; z-index:2; top:25%; left:6%; width:55%; max-width:650px; padding:0; }
 body.alpine-home .mountain-copy h1 { font:400 clamp(50px,5.7vw,82px)/1.05 var(--airform-serif); letter-spacing:-.045em; margin:0 0 22px; }
 body.alpine-home .mountain-copy p { font:400 clamp(18px,1.75vw,23px)/1.5 var(--airform-sans); text-transform:none; letter-spacing:0; max-width:500px; margin:0 0 26px; }
 body.alpine-home .alpine-kicker { font:500 12px/1.5 var(--airform-sans); letter-spacing:.13em; margin-bottom:25px; max-width:none; }
 body.alpine-home .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0; }
 body.alpine-home .hero-actions .hero-project-button,body.alpine-home .hero-actions .hero-enquiry-link { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 20px; font:500 14px/1.4 var(--airform-sans); letter-spacing:0; text-transform:none; border:1px solid var(--af-ink); border-radius:4px; }
 body.alpine-home .hero-actions .hero-enquiry-link { background:rgb(247 247 245/.78); color:var(--af-ink); }
 body.alpine-home .hero-actions .hero-film-link { flex:0 0 100%; justify-content:flex-start; min-height:44px; padding:8px 0; margin-top:1px; border:0; background:none; color:var(--af-ink); font:400 14px/1.4 var(--airform-sans); border-radius:0; }
 body.alpine-home .hero-actions .hero-film-link:hover { text-decoration:underline; text-underline-offset:5px; }
 body.alpine-home .skip-intro { display:none; }
 @media(max-width:760px){body.alpine-home .mountain-copy{padding:32px 6% 40px;}body.alpine-home .hero-actions{display:grid;grid-template-columns:1fr;}body.alpine-home .alpine-kicker{font-size:11px;letter-spacing:.09em;}body.alpine-home .mountain-copy h1{margin-bottom:18px;}body.alpine-home .mountain-copy p{margin-bottom:24px;}}
 @media(prefers-reduced-motion:no-preference){
  .af-projects img,.visual-journal-grid img { transition:transform .35s ease; }
  .af-projects a:hover img,.visual-journal-grid a:hover img { transform:translateY(-4px); }
  .journey-card { transition:transform .2s ease; } .journey-card:hover { transform:translateY(-3px); }
 }
}

@layer components {
 .video-device .screen-view { padding:16px 22px; background:var(--af-bg); color:var(--af-ink); }
 .video-device .screen-view-bar { padding-bottom:10px; }
 .video-device .screen-view-bar a { color:var(--af-ink); font-size:13px; letter-spacing:0; }
 .video-device .screen-view-content { padding-top:14px; }
 .video-device .studio-selector h3 { font-size:clamp(22px,3.5cqw,34px); margin:8px 0 14px; letter-spacing:-.025em; }
 .studio-goals,.studio-project-rail { display:flex; flex-wrap:wrap; gap:7px; }
 .studio-goals button,.studio-project-rail button,.studio-next button { border:1px solid var(--af-border); background:transparent; color:var(--af-ink); border-radius:4px; font:500 12px/1.4 var(--airform-sans); padding:8px 12px; cursor:pointer; }
 .studio-goals button[aria-pressed="true"],.studio-project-rail button[aria-pressed="true"] { background:var(--af-blue-soft); border-color:var(--af-blue-hover); }
 .studio-live-preview { display:grid; grid-template-columns:1.35fr 1fr; gap:20px; align-items:center; margin:16px 0; }
 .studio-live-preview > img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
 .studio-live-preview h4 { font:400 clamp(22px,3.4cqw,34px)/1.1 var(--airform-serif); margin:9px 0; }
 .video-device .studio-live-preview p { font-size:14px; line-height:1.5; margin:10px 0 16px; color:var(--af-body); }
 .studio-live-preview a,.studio-live-preview button { display:block; color:var(--af-ink); border:0; background:none; text-align:left; padding:7px 0; font:500 12px/1.4 var(--airform-sans); cursor:pointer; }
 .studio-live-preview .studio-launch { background:var(--af-ink); color:var(--af-white); padding:10px 13px; border-radius:4px; text-decoration:none; }
 .studio-next { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--af-border); padding-top:12px; margin-top:14px; }
 .studio-next span { font-size:12px; color:var(--af-meta); } .studio-next button:last-child { background:var(--af-ink); color:var(--af-white); border-color:var(--af-ink); }
 @media(prefers-reduced-motion:no-preference){.studio-live-preview{animation:studio-preview-in .24s ease-out;}@keyframes studio-preview-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}
 @container(max-width:650px){.studio-live-preview{grid-template-columns:1fr 1fr;gap:12px;}.video-device .studio-live-preview p{font-size:12px;}.studio-next{flex-wrap:wrap;}}
}
@layer components {
 @media(max-width:760px){
  body.alpine-home .mountain-hero::before { height:170px; }
  body.alpine-home .mountain-copy { padding:26px 6% 26px; }
  body.alpine-home .af-work { padding-top:32px; padding-bottom:38px; }
  body.alpine-home .af-section-head { gap:16px; }
  body.alpine-home .af-work .af-section-head h2 { font-size:34px; }
  body.alpine-home .af-work .af-section-head p { font-size:15px; line-height:1.6; }
  body.alpine-home .af-projects { margin-top:24px; gap:28px; }
  body.alpine-home .af-projects > a > div { padding-top:15px; }
  body.alpine-home .af-wrap { padding-top:42px; padding-bottom:42px; }
  body.alpine-home .af-work { padding-top:28px; }
 }
}
@layer components {
 .video-device .screen-view .monitor-brand { width:112px; height:40px; object-fit:contain; }
 .video-device .screen-view-bar { min-height:44px; padding-bottom:6px; }
 .video-device .screen-view-content { padding-top:8px; }
 .video-device .studio-selector-heading > .screen-view-kicker { font-size:10px; }
 .video-device .studio-selector h3 { font-size:26px; margin:6px 0 9px; }
 .studio-goals button,.studio-project-rail button { padding:6px 9px; }
 .studio-live-preview { margin:10px 0; gap:18px; }
 .studio-live-preview > img { height:145px; aspect-ratio:auto; object-fit:cover; }
 .video-device .studio-live-preview p { font-size:13px; margin:7px 0; }
 .studio-live-preview h4 { font-size:26px; margin:5px 0; }
 .studio-live-preview a,.studio-live-preview button { padding:5px 0; }
 .studio-live-preview .studio-launch { padding:8px 10px; }
 .studio-next { padding-top:9px; margin-top:9px; }
}
@layer projects {
 @media(max-width:760px){
  body.project-theme main :is(.hero,.demo-hero,.forme-hero) h1 { font-size:clamp(34px,9.6vw,46px); letter-spacing:-.035em; line-height:1.08; overflow-wrap:normal; word-break:normal; }
  body.project-theme .hero-copy { padding:36px 6%; }
  body.project-theme .customer-journey h2,body.project-theme .concept-brand-spread h2 { font-size:32px; line-height:1.1; letter-spacing:-.025em; }
  body.project-theme .journey-card h3 { font-size:24px; letter-spacing:-.02em; }
  body.project-theme .journey-dialog h2 { font-size:30px; letter-spacing:-.02em; }
  body.project-theme .customer-journey p { font-size:16px; line-height:1.6; }
 }
}

@layer projects {
 @media(max-width:760px){
  body.theme-keystone > header:not(.airvo-header) .logo { font-size:clamp(20px,6vw,25px); letter-spacing:.015em; max-width:100%; line-height:1.2; }
  body.project-theme > header:not(.airvo-header) { box-sizing:border-box; max-width:100%; }
  body.project-theme > header:not(.airvo-header) nav { min-width:0; max-width:100%; flex-wrap:wrap; }
 }
}

@layer projects {
 .demo-banner a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 12px; border:1px solid currentColor; border-radius:4px; text-decoration:none; font-size:12px; line-height:1.3; }
 @media(max-width:760px){.demo-banner a{min-height:44px;flex:0 0 auto;max-width:135px;}}
}
@layer components {
 .video-device .screen-view-bar { flex:0 0 auto; }
 .video-device .screen-view-content { flex:1 1 auto; min-height:0; }
 .video-device .screen-view-content:has(.studio-selector) { overflow:hidden; }
 .studio-selector { height:100%; min-height:0; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto auto; gap:7px; }
 .studio-selector .studio-live-preview { min-height:0; margin:0; overflow:hidden; }
 .studio-selector .studio-live-preview > img { height:100%; max-height:100%; min-height:0; object-fit:cover; }
 .studio-selector .studio-live-preview > div { min-height:0; }
 .studio-selector .studio-next { margin:0; padding-top:7px; }
 .studio-selector .studio-next span { display:none; }
 .studio-selector .studio-next { justify-content:flex-end; }
 .studio-selector .studio-selector-heading > .screen-view-kicker { font-size:9px; }
 .video-device .studio-selector h3 { font-size:clamp(20px,3cqw,26px); margin:4px 0; }
 .studio-selector .studio-project-rail button { font-size:11px; padding:5px 8px; }
 .studio-selector .studio-live-preview h4 { font-size:24px; }
 .studio-selector .studio-live-preview p { font-size:12px; line-height:1.4; margin:5px 0; }
 .studio-selector .studio-live-preview .screen-view-kicker { font-size:10px; }
}

@layer components {
 .video-device .screen-view-content { padding-top:10px; }
 .studio-selector { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
 .studio-selector-heading { grid-column:1; grid-row:1; align-self:center; }
 .studio-selector-heading > .screen-view-kicker { display:none; }
 .video-device .studio-selector h3 { font-size:22px; }
 .studio-selector .studio-goals { grid-column:2; grid-row:1; align-items:center; gap:4px; }
 .studio-selector .studio-goals button { padding:7px; font-size:11px; }
 .studio-selector .studio-live-preview { grid-column:1/-1; grid-row:2; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; background:#e5edf0; padding:12px; border-radius:8px; }
 .studio-selector .studio-live-preview > img { object-fit:cover; background:#d8e1e4; }
 .studio-selector .studio-live-preview > div { padding-right:8px; }
 .studio-selector .studio-live-preview h4 { font-size:28px; margin:9px 0; }
 .studio-selector .studio-live-preview p { font-size:13px; line-height:1.5; margin:10px 0 15px; }
 .studio-selector .studio-project-rail { grid-column:1; grid-row:3; align-content:center; gap:5px; }
 .studio-selector .studio-project-rail button { padding:6px 8px; }
 .studio-selector .studio-next { grid-column:2; grid-row:3; padding:0; border:0; align-self:center; }
 @container(max-width:650px) {
  .studio-selector { gap:8px; }
  .video-device .studio-selector h3 { font-size:18px; }
  .studio-selector .studio-goals button { font-size:10px; padding:5px; }
  .studio-selector .studio-live-preview { gap:12px; padding:9px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .studio-selector .studio-live-preview h4 { font-size:23px; }
  .studio-selector .studio-live-preview p { font-size:11px; margin:6px 0; }
 }
}

@layer components { .consultation-choice { margin:4px 0 10px; padding:20px; border:1px solid var(--af-border); border-radius:8px; background:var(--af-blue-soft); } .consultation-choice legend { font-weight:600; padding:0 6px; } .consultation-choice legend span { font-weight:400; } .consultation-choice p { font-size:14px; line-height:1.6; margin:0 0 14px; } .consultation-choice #consultation-note { font-size:12px; margin:12px 0 0; } }

@layer components {
 [data-concept="forme"] { --concept-surface:#e5edf0; --concept-mat:#d8e1e4; --concept-accent:#394940; --concept-on-accent:#ffffff; }
 [data-concept="morrow"] { --concept-surface:#eee4f1; --concept-mat:#e5d5e9; --concept-accent:#48223e; --concept-on-accent:#ffffff; }
 [data-concept="offbeat"] { --concept-surface:#f0f2d5; --concept-mat:#e4e7be; --concept-accent:#24271d; --concept-on-accent:#f1ff76; }
 [data-concept="harbour-pine"] { --concept-surface:#e5ece4; --concept-mat:#d8e3d7; --concept-accent:#244b3f; --concept-on-accent:#ffffff; }
 [data-concept="meridian"] { --concept-surface:#e0efea; --concept-mat:#cfe5dd; --concept-accent:#173a49; --concept-on-accent:#ffffff; }
 [data-concept="keystone"] { --concept-surface:#eee4dc; --concept-mat:#e1d3c8; --concept-accent:#623f33; --concept-on-accent:#ffffff; }
 .studio-selector[data-concept] .studio-live-preview,.studio-case[data-concept] .studio-live-preview { background:var(--concept-surface); }
 .studio-selector[data-concept] .studio-live-preview > img { background:var(--concept-mat); }
 [data-concept] .studio-goals button[aria-pressed="true"],[data-concept] .studio-project-rail button[aria-pressed="true"] { background:var(--concept-surface); border-color:var(--concept-accent); color:var(--concept-accent); }
 [data-concept] .studio-live-preview .studio-launch,[data-concept] .studio-next button:last-child { background:var(--concept-accent); color:var(--concept-on-accent); border-color:var(--concept-accent); }
 .studio-case[data-concept] .studio-live-preview { padding:12px; border-radius:8px; }
}

@layer components {
 body.alpine-home .af-work { padding-bottom:36px; }
 body.alpine-home .af-intro { padding-top:36px; padding-bottom:52px; border-top:1px solid var(--af-border); }
 @media(max-width:760px) { body.alpine-home .af-work { padding-bottom:24px; } body.alpine-home .af-intro { padding-top:28px; padding-bottom:32px; gap:14px; } }
}
@layer components { .consultation-choice { min-width:0; scroll-margin-top:100px; } .consultation-choice select { display:block; width:100%; min-width:0; min-height:48px; padding:10px 12px; margin-top:8px; border:1px solid var(--af-border); border-radius:4px; background:var(--af-white); color:var(--af-ink); font:inherit; font-size:14px; } }

@layer components {
 .theme-airform .page-hero { padding-top:72px; padding-bottom:44px; }
 .theme-airform .page-content { padding-top:44px; padding-bottom:44px; }
 .theme-airform .commercial-section { padding-top:40px; padding-bottom:40px; }
 .services-page .af-service-introduction { padding-top:44px; padding-bottom:24px; }
 .services-page .af-service-intro-grid { gap:28px; margin-top:28px; }
 .services-page .af-service-intro-grid article { border:0; padding:0; }
 .service-example { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; margin:0 0 20px; border-radius:5px; }
 .services-page .capability-grid article { min-height:0; padding:24px; }
 .services-page .capability-grid h2 { margin:18px 0 12px; font-size:30px; }
 .services-page .page-content > .text-link { display:inline-block; margin-top:24px; }
 @media(max-width:760px){
  .theme-airform .page-hero { padding-top:36px; padding-bottom:28px; }
  .theme-airform .page-content,.theme-airform .commercial-section { padding-top:28px; padding-bottom:28px; }
  .services-page .af-service-introduction { padding-top:28px; }
  .services-page .af-service-intro-grid { gap:28px; }
  .services-page .capability-grid article { padding:20px 0; }
 }
}

@layer components {
 .contact-section .business-form > .consultation-choice { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:0; padding:20px; }
 .consultation-choice h3 { font:600 17px/1.35 var(--airform-sans); margin:0 0 8px; }
 .consultation-choice h3 span { font-size:13px; font-weight:400; }
 .consultation-choice p { margin:0; font-size:13px; line-height:1.5; }
 .contact-section .business-form > .business-button { margin-top:0; }
 @media(max-width:760px) { .contact-section .business-form > .consultation-choice { grid-template-columns:1fr; gap:14px; padding:18px; } }
}
@layer components {
 .video-device::after { content:""; position:absolute; inset:0; border:2px solid #171817; border-radius:3px; pointer-events:none; z-index:50; box-shadow:inset 0 0 2px #171817; }
 .contact-page .business-section { padding-top:44px; padding-bottom:44px; }
}

@layer components {
 body.alpine-home .af-invitation-art { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:48px; text-align:left; padding-top:56px; padding-bottom:56px; }
 .af-invitation-art .af-invitation-copy { min-width:0; }
 .af-invitation-art h2 { font-size:clamp(42px,5.2vw,76px); margin:20px 0 28px; }
 .af-invitation-art figure { min-width:0; margin:0; }
 .af-invitation-art img { display:block; width:100%; height:auto; border-radius:5px; }
 .af-invitation-art figcaption { font-size:12px; line-height:1.5; margin-top:10px; color:var(--af-meta); }
 @media(max-width:760px) { body.alpine-home .af-invitation-art { grid-template-columns:1fr; gap:24px; padding-top:28px; padding-bottom:32px; } .af-invitation-art figure { grid-row:1; } .af-invitation-art h2 { font-size:42px; margin:14px 0 22px; } }
}
@layer components { body > header.airvo-header::after { content:none; display:none; } }

@layer components {
 body.alpine-home .af-intro { grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
 .af-intro-heading .af-eyebrow { display:block; margin-bottom:16px; }
 .af-intro-heading h2 { font-size:clamp(36px,4vw,58px); margin:0; }
 .case-action-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 24px; align-items:start; margin-top:24px; }
 .case-action-row .case-method { grid-column:1; grid-row:1; margin:0; }
 .case-action-row .demo-launch { grid-column:2; grid-row:1; margin:0; align-self:start; position:relative; z-index:1; }
 .case-action-row .case-method summary { min-height:48px; display:flex; align-items:center; }
 .case-action-row .case-method[open] { grid-column:1/-1; }
 .case-action-row .case-method[open] summary { padding-right:390px; }
 @media(max-width:760px) { body.alpine-home .af-intro { grid-template-columns:1fr; gap:22px; } .case-action-row { display:flex; flex-direction:column; gap:12px; } .case-action-row .case-method,.case-action-row .demo-launch { width:100%; } .case-action-row .case-method[open] summary { padding-right:0; } }
}
@layer components { .case-action-row .case-method { padding:0; border:0; } .af-invitation-art .af-email { text-align:left; margin-left:0; margin-right:0; } }

/* Open Form: primary mark at the left of the wordmark. */
body > header.airvo-header .brand-logo{width:230px;height:62px;flex-shrink:0}body > header.airvo-header .brand-logo img{width:100%;height:100%;object-fit:contain}.site-footer .brand-logo{max-width:230px}.site-footer .brand-logo img{width:100%;height:auto}@media(max-width:760px){body > header.airvo-header .brand-logo{width:180px;height:52px}}

@layer components {
 body.contact-page #main-content { display:block; }
 body.contact-page #contact { margin-top:0; padding-top:clamp(32px,5vw,64px); }
 .qualification-grid #budget-help { display:block; margin-top:8px; font-size:13px; font-weight:400; line-height:1.5; }
 .service-faq summary { min-height:48px; padding-block:16px; }
 .demo-banner a { min-height:44px; font-size:14px; }
 body.theme-airform :where(a,button,input,textarea,select,summary):focus-visible { outline:2px solid #375d72; outline-offset:4px; }
}

@layer components {
 .video-device .screen-view { padding:12px; }
 .video-device .screen-view-bar { min-height:30px; padding-bottom:5px; }
 .video-device .screen-view .monitor-brand { width:100px; height:28px; }
 .video-device .screen-view-content { padding-top:6px; }
 .studio-selector { gap:8px; }
 .studio-selector .studio-live-preview { padding:8px; align-items:stretch; }
 .studio-selector .studio-live-preview > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
 .studio-selector .studio-live-preview > div { display:flex; flex-direction:column; justify-content:center; padding:0; }
 .studio-selector .studio-live-preview h4 { font-size:22px; line-height:1.05; margin:4px 0; }
 .studio-selector .studio-live-preview p { font-size:11px; line-height:1.35; margin:4px 0 6px; }
 .studio-selector .studio-live-preview .screen-view-kicker { font-size:9px; }
 .studio-selector .studio-live-preview a,.studio-selector .studio-live-preview button { font-size:11px; line-height:1.25; padding:4px 0; }
 .studio-selector .studio-live-preview .studio-launch { padding:7px 8px; }
 .studio-selector .studio-project-rail { gap:4px; }
 .studio-selector .studio-project-rail button { padding:5px 6px; font-size:10px; }
}

@layer components {
.case-enquiry {display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;border-top:1px solid #cbd0d2;margin-top:24px;}
.case-enquiry h4{font-size:24px;margin:10px 0;}
.case-enquiry p{max-width:540px;margin:0;font-size:16px;line-height:1.6;}
.case-enquiry .business-button{flex-shrink:0;max-width:100%;white-space:normal;}
.enquiry-context{grid-column:1/-1;padding:14px 18px;border-left:3px solid #a5c4d8;background:#eef3f6;margin:0;font-size:15px;line-height:1.5;}
.enquiry-context[hidden]{display:none;}
@media(max-width:760px){.case-enquiry{align-items:stretch;flex-direction:column;gap:18px}.case-enquiry .business-button{width:100%;text-align:center}}
}
@layer components {

}
@layer components {
.featured-intro{font-size:16px;line-height:1.6;max-width:760px;margin:24px 0;}
.af-walkthrough{padding-top:60px;padding-bottom:60px;border-top:1px solid #d6dadd;}
.walkthrough-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 18px;}
.walkthrough-tabs button{font:inherit;font-size:15px;padding:12px 18px;border:1px solid #aab4ba;background:transparent;border-radius:4px;cursor:pointer;color:#2e2e2e;}
.walkthrough-tabs button[aria-pressed=true]{background:#2e2e2e;color:white;border-color:#2e2e2e;}
.walkthrough-stage{background:#edf1f3;border:1px solid #c9d1d6;border-radius:8px;overflow:hidden;}
.walkthrough-cover{position:relative;display:grid;place-items:center;min-height:320px;text-decoration:none;}
.walkthrough-cover img{display:block;width:100%;height:450px;object-fit:cover;}
.walkthrough-cover .af-button{position:absolute;bottom:28px;box-shadow:0 3px 20px #0002;}
.walkthrough-stage [hidden]{display:none!important;}
.walkthrough-caption{display:flex;gap:32px;align-items:center;justify-content:space-between;padding:24px 0;}
.walkthrough-caption h3{font-size:24px;line-height:1.3;margin:12px 0;}.walkthrough-caption p{max-width:650px;margin:0;font-size:16px;line-height:1.6;}
.walkthrough-note{font-size:14px!important;color:#5c6469;}
.guided-prototype>header.airvo-header,.guided-prototype>.demo-project-bar,.guided-prototype>.demo-capability-note,.guided-prototype>.demo-experience-guide{display:none!important;}.guided-prototype{scroll-padding-top:80px;}
.delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0;}.delivery-grid>article>h3{font-size:25px;line-height:1.2;margin:24px 0 12px;}.delivery-grid>article>p{font-size:16px;line-height:1.6;}.delivery-grid a{color:#405e72;font-size:15px;text-underline-offset:4px;}
.delivery-sample{padding:24px;background:#eef2f4;border:1px solid #ccd4d8;min-height:310px;color:#2e2e2e;}.delivery-sample>span{display:block;font-size:12px;letter-spacing:.1em;margin-bottom:25px;}.brand-guidelines>strong{display:block;font:500 46px/1.2 Arial,sans-serif;letter-spacing:-3px;margin-bottom:24px;}.guide-swatches{display:flex;}.guide-swatches span{flex:1;padding:18px 8px;font-size:12px;line-height:1.7;background:#2e2e2e;color:#fff;}.guide-swatches span:nth-child(2){background:#f7f7f5;color:#2e2e2e;}.guide-swatches span:nth-child(3){background:#a5c4d8;color:#2e2e2e;}.brand-guidelines p{font-size:15px;line-height:1.6;}
.page-map>strong{display:block;margin:16px auto;padding:12px;border:1px solid #91a5b2;background:#fff;text-align:center;font-size:17px;}.page-map>div{display:flex;justify-content:space-between;gap:6px;}.page-map>div>span{border:1px solid #b7c4cd;background:#f7f7f5;padding:9px 8px;font-size:14px;}.page-map small{display:block;font-size:13px;line-height:1.5;}.handover-sample h4{font-size:32px;margin:0 0 20px;}.handover-sample ul{padding-left:18px;font-size:15px;line-height:1.8;}
@media(max-width:900px){.delivery-grid{grid-template-columns:1fr}.delivery-sample{min-height:0;max-width:600px;}.walkthrough-caption{flex-direction:column;align-items:stretch}.walkthrough-cover img{height:320px;}}
@media(max-width:760px){.af-walkthrough{padding-top:32px;padding-bottom:32px}.walkthrough-tabs{gap:8px}.walkthrough-tabs button{flex:1;padding:10px 8px;font-size:14px}.walkthrough-cover .af-button{left:14px;right:14px;text-align:center;font-size:15px}.walkthrough-cover img{height:260px}.walkthrough-cover{min-height:260px}.walkthrough-caption{gap:18px}.delivery-grid{gap:32px}}
}

@layer components {
.buying-questions{max-width:1100px}.buying-questions details{border-top:1px solid #cdd3d6;padding:20px 0}.buying-questions summary{font-size:18px;font-weight:600;cursor:pointer;line-height:1.5}.buying-questions details p{max-width:760px;margin:14px 0 0;line-height:1.7}.buying-questions>.business-button{display:inline-flex;margin-top:24px}.enquiry-status:empty{display:none}.enquiry-recovery[hidden]{display:none}.enquiry-recovery{grid-column:1/-1;color:#2e2e2e;text-decoration:underline;padding:12px 0}.enquiry-privacy{grid-column:1/-1;font-size:14px}.enquiry-status:focus{outline:2px solid #527691;outline-offset:5px}.airvo-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px} .af-invitation-copy>p{max-width:30em;line-height:1.6}
}

/* Portfolio actions share geometry, with colours taken from each concept identity. */
@layer components {
.work-page .forme-case { --case-action:#283429; --case-action-ink:#f7f6ef; --case-hover:#41563d; }
.work-page .morrow-case { --case-action:#c5b0ed; --case-action-ink:#4a246b; --case-hover:#e7d9f5; }
.work-page .offbeat-case { --case-action:#f3ff77; --case-action-ink:#181818; --case-hover:#e1ed63; }
.work-page .harbour-case { --case-action:#173b36; --case-action-ink:#f5f0e6; --case-hover:#28534c; }
.work-page .meridian-case { --case-action:#101b35; --case-action-ink:#8ff0cf; --case-hover:#243653; }
.work-page .keystone-case { --case-action:#25364d; --case-action-ink:#f3f5f7; --case-hover:#3b506a; }
body.theme-airform.work-page .case-study .business-button {
  display:inline-flex; align-items:center; justify-content:center;
  width:360px; max-width:100%; min-height:52px; box-sizing:border-box;
  padding:14px 20px; border:1px solid var(--case-action); border-radius:4px;
  background:var(--case-action); color:var(--case-action-ink);
  font:500 14px/1.5 Arial,sans-serif; letter-spacing:0; text-align:center;
  white-space:normal; text-decoration:none; filter:none;
  transition:background-color .18s ease,border-color .18s ease;
}
body.theme-airform.work-page .case-study .business-button:hover {
  background:var(--case-hover); border-color:var(--case-hover); color:var(--case-action-ink); filter:none;
}
body.theme-airform.work-page .case-study .business-button:focus-visible {
  outline:2px solid var(--case-action); outline-offset:4px;
}
@media(max-width:760px) {
  body.theme-airform.work-page .case-study .business-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
  body.theme-airform.work-page .case-study .business-button { transition:none; }
}
}

/* vendor/swiper-14.2.0.min.css */
/**
 * Swiper 14.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 26, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/* work-panorama.css */
/* Shared project panorama. A 3:2 frame preserves the complete original images. */
.af-panorama { overflow: clip; padding: 76px 0; background: #f7f7f5; }
.af-panorama .panorama-heading { padding-top: 0; padding-bottom: 0; }
.af-panorama .af-section-head { margin-bottom: 12px; }
.af-panorama .panorama-stage { width: 100%; padding: 12px 0; }
.af-panorama .work-panorama { width: 100%; height: clamp(520px, 82vh, 900px); aspect-ratio: auto; overflow: visible; }
.af-panorama .swiper-slide { box-sizing: border-box; height: 100%; border-radius: 20px; overflow: hidden; background: #e8f0f5; }
.af-panorama .panorama-project { display: block; width: 100%; height: 100%; position: relative; color: white; text-decoration: none; }
.af-panorama .panorama-project > img { position: absolute; width: 100%; height: 100%; max-width: none; left: 0; top: 0; object-fit: cover; object-position: center; }
.af-panorama .panorama-project::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(15, 24, 29, .83)); pointer-events: none; }
.af-panorama .panorama-project-copy { position: absolute; z-index: 1; left: 5%; right: 5%; bottom: 7%; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.af-panorama .panorama-project-copy span:not(.panorama-project-arrow) { display: block; font: 500 13px/1.4 var(--airform-sans, sans-serif); letter-spacing: .15em; }
.af-panorama .panorama-project-copy h3 { color: white; font-size: clamp(32px, 4.1vw, 64px); margin: 12px 0; line-height: 1.05; }
.af-panorama .panorama-project-copy p { color: white; font-size: clamp(16px, 1.5vw, 22px); margin: 0; line-height: 1.5; }
.af-panorama .panorama-project-arrow { display: grid; place-items: center; flex: 0 0 62px; height: 62px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-size: 28px; transition: background .2s, color .2s; }
.af-panorama .panorama-project:hover .panorama-project-arrow { color: #2e2e2e; background: white; }
.service-intro-panorama .panorama-project-arrow { display: none; }
.af-panorama .panorama-project:focus-visible { outline: 5px solid #a8c7dc; outline-offset: -8px; }
.af-panorama .panorama-footer { padding-top: 6px; padding-bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.af-panorama .panorama-controls { display: flex; align-items: center; gap: 10px; }
.af-panorama .panorama-controls[hidden] { display: none; }
.af-panorama .panorama-counter { margin-right: 18px; color: #5c6469; font: 12px/1.5 var(--airform-sans, sans-serif); letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.af-panorama .panorama-controls button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 46px; min-height: 46px; padding: 10px; border: 1px solid #c8cdce; border-radius: 50%; color: #2e2e2e; background: transparent; font: 16px/1 var(--airform-sans, sans-serif); cursor: pointer; }
.af-panorama .panorama-controls button[data-panorama-pause] { min-width: 100px; border-radius: 24px; font-size: 13px; }
.af-panorama .panorama-controls button[hidden] { display: none; }
.af-panorama .panorama-controls button:hover { background: #e8f0f5; }
.af-panorama .panorama-controls button:focus-visible { outline: 2px solid #405e72; outline-offset: 4px; }
/* A usable list remains if the slider library or JavaScript is unavailable. */
.af-panorama .work-panorama:not(.swiper-initialized) { height: auto; padding: 20px 6%; }
.af-panorama .work-panorama:not(.swiper-initialized) .swiper-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.af-panorama .work-panorama:not(.swiper-initialized) .swiper-slide { aspect-ratio: 3/2; }
.af-panorama .work-panorama:not(.swiper-initialized) h3 { font-size: 26px; }
.af-panorama .work-panorama:not(.swiper-initialized) .panorama-project-copy p,
.af-panorama .work-panorama:not(.swiper-initialized) .panorama-project-arrow { display: none; }
@media (max-width: 760px) {
  .af-panorama { padding: 53px 0; }
  .af-panorama .work-panorama { height: clamp(420px, 68vh, 620px); }
  .af-panorama .af-section-head { gap: 20px; margin-bottom: 20px; }
  .af-panorama .swiper-slide { border-radius: 16px; }
  .af-panorama .panorama-project-copy { left: 7%; right: 7%; bottom: 8%; gap: 12px; }
  .af-panorama .panorama-project-copy h3 { font-size: 26px; margin: 8px 0; }
  .af-panorama .panorama-project-copy span:not(.panorama-project-arrow) { font-size: 11px; }
  .af-panorama .panorama-project-copy p { font-size: 13px; max-width: 240px; }
  .af-panorama .panorama-project-arrow { flex-basis: 42px; height: 42px; font-size: 22px; }
  .af-panorama .panorama-footer { flex-wrap: wrap; gap: 16px; padding-top: 24px; }
  .af-panorama .panorama-controls { justify-content: space-between; width: 100%; order: -1; }
  .af-panorama .panorama-counter { margin-right: auto; }
  .af-panorama .work-panorama:not(.swiper-initialized) .swiper-wrapper { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .af-panorama .panorama-project-arrow { transition: none; }
}

/* imac-brief.css */
/* The same real form runs in the monitor on desktop and in a roomy dialog on mobile. */
.stepped-brief { color: #2e2e2e; background: #f7f7f5; text-align: left; }
.stepped-brief [hidden] { display: none !important; }
.stepped-brief .brief-panel-head { display: flex; margin: 0; padding: 0 0 14px; gap: 16px; }
.stepped-brief .brief-panel-head > div { max-width: none; margin: 0; }
.stepped-brief .brief-panel-head h3 { font: 400 28px/1.1 var(--airform-serif); letter-spacing: -.035em; margin: 7px 0; color: #2e2e2e; }
.stepped-brief .brief-panel-head p { margin: 0; font-size: 13px; line-height: 1.4; color: #5c6469; }
.stepped-brief .brief-step { font-size: 9px; letter-spacing: .16em; color: #5c6469; }
.brief-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; padding: 0 0 12px; }
.brief-progress button { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 7px 9px; border: 1px solid #d6dde0; border-radius: 5px; background: transparent; font: 500 12px/1.2 var(--airform-sans); color: #5c6469; cursor: pointer; }
.brief-progress button[aria-selected=true] { color: #263d4c; border-color: #8cabbf; background: #e8f0f5; }
.brief-tab-number { display: grid; place-items: center; border-radius: 50%; width: 21px; height: 21px; font-size: 10px; border: 1px solid #c6d3db; flex: 0 0 21px; }
.brief-progress button[aria-selected=true] .brief-tab-number { background: #405e72; color: #fff; border-color: #405e72; }
.brief-progress button.is-complete .brief-tab-number { background: #dce7df; color: #34533e; border-color: #b6c8bd; }
.stepped-brief .brief-builder { display: flex; flex-direction: column; width: 100%; max-width: none; margin: 0; gap: 0; min-height: 0; flex: 1; }
.brief-step-body { flex: 0 0 auto; min-height: auto; overflow: visible; padding: 8px 4px; }
.stepped-brief .brief-step-pane { outline-offset: -2px; }
.stepped-brief .brief-builder legend { font-size: 12px; line-height: 1.4; margin: 0 0 10px; }
.stepped-brief .brief-builder legend > span { display: none; }
.stepped-brief .brief-options { gap: 7px; grid-auto-rows: auto; max-width: none; margin: 0; }
.stepped-brief .brief-options button { display: block; text-align: left; }
.stepped-brief .brief-options b { margin-bottom: 0; }
.stepped-brief .brief-options button { position: relative; min-height: 60px; padding: 10px 25px 10px 12px; background: #eef2f3; border: 1px solid #d6dfe3; border-radius: 5px; cursor: pointer; }
.stepped-brief .brief-options button:nth-child(-n+2) { border-top: 1px solid #d6dfe3; }
.stepped-brief .brief-options button b { display: block; font: 600 13px/1.25 var(--airform-sans); }
.stepped-brief .brief-options button span { display: block; font: 400 11px/1.4 var(--airform-sans); color: #5c6469; margin-top: 4px; }
.stepped-brief .brief-options button.selected { background: #e3edf3; border-color: #7897a9; box-shadow: inset 3px 0 #405e72; }
.stepped-brief .brief-options button.selected::after { content: '✓'; position: absolute; right: 10px; top: 11px; color: #405e72; font-size: 14px; }
.stepped-brief .brief-choice-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.stepped-brief .brief-choice-row label > span { min-height: 42px; display: flex; align-items: center; padding: 9px 13px; border: 1px solid #cbd5da; border-radius: 24px; font-size: 12px; line-height: 1.3; color: #40515b; background: transparent; }
.stepped-brief .brief-choice-row input:checked + span { background: #e3edf3; border-color: #7897a9; color: #263d4c; }
.stepped-brief .brief-choice-row input:focus-visible + span { outline: 2px solid #405e72; outline-offset: 2px; }
.stepped-brief .brief-detail { display: block; margin-top: 16px; font-size: 12px; }
.stepped-brief .brief-detail textarea { width: 100%; box-sizing: border-box; min-height: 65px; height: 75px; margin-top: 8px; padding: 10px; border: 1px solid #cbd5da; border-radius: 5px; background: white; font: 13px/1.4 var(--airform-sans); color: #2e2e2e; resize: vertical; }
.stepped-brief .brief-submit-row { display: flex; flex-direction: row; flex-wrap: nowrap; flex-shrink: 0; align-items: center; gap: 10px; margin: 0; padding: 10px 0 0; border-top: 1px solid #d6dde0; }
.stepped-brief #brief-builder-status { flex: 1; font: 11px/1.4 var(--airform-sans); margin: 0; color: #5c6469; }
.stepped-brief .brief-next,.stepped-brief .brief-submit,.stepped-brief .brief-back { min-height: 36px; padding: 8px 14px; border-radius: 5px; border: 1px solid #2e2e2e; color: white; background: #2e2e2e; font: 500 12px/1.3 var(--airform-sans); cursor: pointer; }
.stepped-brief .brief-back { color: #40515b; background: transparent; border-color: #cbd5da; }
.stepped-brief button:disabled { opacity: .4; cursor: default; }
.stepped-brief button:focus-visible,.stepped-brief textarea:focus-visible { outline: 2px solid #405e72; outline-offset: 2px; }
.brief-review { margin: 0; }
.brief-review > div { display: grid; grid-template-columns: 75px 1fr auto; align-items: baseline; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e0e4e6; }
.brief-review dt { color: #5c6469; font: 11px/1.4 var(--airform-sans); }
.brief-review dd { margin: 0; color: #2e2e2e; font: 13px/1.45 var(--airform-sans); white-space: pre-wrap; overflow-wrap: anywhere; }
.brief-review button { padding: 5px 0; background: none; border: 0; font: 11px/1.4 var(--airform-sans); color: #405e72; cursor: pointer; }
.brief-review-note { color: #5c6469; font: 11px/1.4 var(--airform-sans); margin: 12px 0 0; }
.video-device .brief-screen { background: #f7f7f5; padding: 10px 14px; }
.video-device .brief-screen .screen-view-bar { height: 28px; min-height: 0; box-sizing: border-box; padding: 0 0 5px; flex: 0 0 auto; border-bottom: 1px solid #d6dde0; }
.video-device .brief-screen .screen-view-bar .monitor-brand { width: 85px; height: 22px; }
.video-device .brief-screen .screen-view-bar button { font-size: 11px; color: #405e72; }
.video-device .brief-screen .screen-view-content { display: flex; flex: 1; padding-top: 6px; overflow: hidden; }
.video-device .inline-brief { position: static; inset: auto; translate: none; transform: none; transition: none; visibility: visible; opacity: 1; display: flex; flex-direction: column; width: 100%; min-height: 0; height: 100%; max-height: none; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.inline-brief .brief-panel-head .brief-step,.inline-brief .brief-close { display: none; }
.video-device .inline-brief .brief-panel-head h3 { font-size: 24px; line-height: 1.1; margin: 0 0 5px; }
.inline-brief .brief-panel-head { padding-bottom: 4px; }
.inline-brief .brief-panel-head p { font-size: 11px; }
.inline-brief .brief-progress { gap: 4px; padding-bottom: 4px; }
.inline-brief .brief-step-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: 4px 4px 12px; }
.inline-brief .brief-review > div { padding: 6px 0; }
.inline-brief .brief-review-note { margin: 30px 0 4px; }
.inline-brief #brief-step-0,
.inline-brief #brief-step-0 fieldset,
.inline-brief #brief-step-0 .brief-options { height: 100%; min-height: 0; }
.inline-brief #brief-step-0 .brief-options { grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4px; }
.inline-brief .brief-options button { min-height: 0; padding: 8px 25px 8px 12px; }
.inline-brief .brief-builder legend { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.inline-brief .brief-submit-row { padding-top: 4px; }
.inline-brief #brief-step-1 .brief-choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.inline-brief #brief-step-1 .brief-choice-row label > span { border-radius: 5px; min-height: 49px; }
@container (max-width: 720px) {
  .video-device .brief-screen { padding: 8px 12px; }
  .video-device .inline-brief .brief-panel-head h3 { font-size: 21px; }
  .inline-brief .brief-options button { min-height: 0; padding: 5px 24px 5px 10px; }
  .inline-brief .brief-options button b { font-size: 12px; }
  .inline-brief .brief-options button span { font-size: 10px; margin-top: 3px; }
  .inline-brief .brief-progress { padding-bottom: 8px; }
  .inline-brief .brief-progress button { min-height: 32px; padding: 5px 7px; font-size: 11px; }
  .inline-brief .brief-builder legend { margin-bottom: 7px; font-size: 11px; }
}
@media (max-width: 760px) {
  .stepped-brief.brief-panel { padding: 20px; width: calc(100% - 24px); box-sizing: border-box; max-height: calc(100dvh - 24px); }
  .stepped-brief.brief-panel.open { display: flex; flex-direction: column; height: min(690px, calc(100dvh - 24px)); overflow: hidden; }
  .stepped-brief .brief-panel-head h3 { font-size: 26px; }
  .brief-progress { gap: 4px; padding-bottom: 14px; }
  .brief-progress button { flex-direction: column; gap: 5px; padding: 7px 3px; font-size: 11px; }
  .stepped-brief .brief-options { grid-template-columns: 1fr; }
  .stepped-brief .brief-options button { min-height: 62px; }
  .stepped-brief .brief-options button b { font-size: 14px; }
  .stepped-brief .brief-options button span { font-size: 12px; }
  .stepped-brief .brief-choice-row label > span { min-height: 44px; font-size: 14px; }
  .stepped-brief .brief-detail textarea { font-size: 16px; height: 110px; }
  .stepped-brief .brief-next,.stepped-brief .brief-submit,.stepped-brief .brief-back { min-height: 44px; }
  .brief-review > div { grid-template-columns: 65px 1fr auto; }
}

/* work-page.css */
/* The compact Work page: selected work, process, image gallery, enquiry. */
.work-page main { display:block; }
.work-opening { padding:60px 6% 36px; background:var(--af-bg); }
.work-opening .work-intro { gap:48px; padding-bottom:0; align-items:center; }
.work-opening h1 { font:400 clamp(44px,6vw,84px)/1.04 var(--airform-serif,Georgia,serif); margin:16px 0 0; letter-spacing:-.045em; }
.work-opening .work-intro > p { font-size:18px; max-width:410px; }
.work-process { padding:68px 6%; background:#e8f0f5; scroll-margin-top:100px; }
.work-process-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:end; }
.work-process h2 { font:400 clamp(36px,4.2vw,60px)/1.06 var(--airform-serif,Georgia,serif); margin:18px 0 0; }
.work-process-heading > p { align-self:center; max-width:470px; margin:26px 0 0; font-size:17px; line-height:1.65; transform:translateY(-15px); }
.work-process-grid { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:40px 0 24px; }
.work-process-grid li { padding-top:22px; border-top:1px solid #bbcbd4; }
.work-process-grid span { font:500 11px/1.4 var(--airform-sans,Arial,sans-serif); letter-spacing:.12em; }
.work-process-grid h3 { font:400 27px/1.15 var(--airform-serif,Georgia,serif); margin:18px 0 12px; }
.work-process-grid p { font:400 15px/1.65 var(--airform-sans,Arial,sans-serif); margin:0; }
.work-process-link { font-size:14px; color:#405e72; text-underline-offset:5px; }
.work-gallery { position:relative; background:#1e2425; color:#fff; scroll-margin-top:0; }
.work-gallery-swiper { height:calc(100svh - 84px); min-height:560px; border-radius:20px; overflow:hidden; }
.work-gallery .swiper-slide { position:relative; overflow:hidden; background:#1e2425; }
.work-gallery .swiper-slide > img { display:block; width:100%; height:100%; object-fit:cover; }
.work-gallery .swiper-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.48),transparent 28%,transparent 40%,rgba(0,0,0,.75)); pointer-events:none; }
.work-gallery-label { position:absolute; z-index:2; left:6%; right:6%; top:36px; display:flex; align-items:center; justify-content:space-between; gap:16px; pointer-events:none; }
.work-gallery-label h2 { color:white; font:400 30px/1.1 var(--airform-serif,Georgia,serif); margin:0; }
.work-gallery-label > span { font:500 11px/1.4 var(--airform-sans,Arial,sans-serif); letter-spacing:.14em; }
.work-gallery-caption { position:absolute; z-index:1; bottom:48px; left:6%; right:30%; }
.work-gallery-caption .eyebrow { color:#fff; font-size:11px; }
.work-gallery-caption h3 { font:400 clamp(42px,6vw,80px)/1.04 var(--airform-serif,Georgia,serif); color:#fff; margin:14px 0; letter-spacing:-.035em; }
.work-gallery-caption p { color:#fff; font-size:18px; margin:0 0 20px; }
.work-gallery-caption a { color:#fff; font-size:14px; text-underline-offset:6px; display:inline-block; padding-block:10px; }
.work-gallery-controls { position:absolute; z-index:3; left:50%; bottom:54px; transform:translateX(-50%); display:flex; align-items:center; gap:12px; }
.work-gallery-controls[hidden] { display:none; }
.work-gallery-controls > span { font:400 12px/1.5 var(--airform-sans,Arial,sans-serif); letter-spacing:.1em; margin-right:16px; }
.work-gallery-controls button { width:48px; height:48px; border:1px solid #ffffff80; border-radius:50%; background:#1e24254d; color:#fff; cursor:pointer; font-size:22px; }
.work-gallery-controls button:hover { background:#fff; color:#2e2e2e; }
.work-gallery :focus-visible { outline:3px solid #a8c7dc; outline-offset:4px; }
.work-gallery-swiper:focus-visible { outline-offset:-4px; }
.work-gallery-swiper:not(.swiper-initialized) { height:auto; }
.work-gallery-swiper:not(.swiper-initialized) .swiper-wrapper { display:block; }
.work-gallery-swiper:not(.swiper-initialized) .swiper-slide { height:80vh; min-height:500px; }
.work-page .work-contact { padding:72px 6%; gap:70px; background:#f7f7f5; }
.work-contact .business-heading { display:block; }
.work-contact .business-heading h2 { font-size:clamp(42px,4.6vw,64px); }
.work-contact .business-heading > p { max-width:400px; }
.work-contact .work-contact-note { font-size:14px; margin-top:28px; color:#5c6469; }
.work-contact .business-form { align-self:start; }
.work-contact .enquiry-status:empty { display:none; }
.work-contact .enquiry-extras .consultation-choice { margin-top:24px; }
@media (max-width:760px) {
 .work-opening { padding:36px 6% 24px; }
 .work-opening .work-intro { grid-template-columns:1fr; gap:20px; }
 .work-opening .work-intro > p { font-size:16px; }
 .work-process { padding:44px 6%; }
 .work-process-heading { grid-template-columns:1fr; gap:24px; }
 .work-process-heading > p { margin-top:0; transform:none; }
 .work-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; margin-top:30px; }
 .work-process-grid h3 { font-size:24px; }
 .work-gallery-swiper { height:calc(100svh - 72px); min-height:560px; }
 .work-gallery-label { top:28px; align-items:start; }
 .work-gallery-label > span { max-width:120px; text-align:right; }
 .work-gallery-caption { left:6%; right:6%; bottom:116px; }
 .work-gallery-caption h3 { font-size:44px; }
 .work-gallery-caption p { font-size:16px; }
 .work-gallery-controls { left:6%; right:6%; bottom:28px; transform:none; }
 .work-gallery-controls > span { margin-right:auto; }
 .work-page .work-contact { grid-template-columns:1fr; padding:44px 6%; gap:30px; }
 .work-contact .business-heading { display:block; }
 .work-contact .business-heading h2 { margin:18px 0; }
 .work-contact .business-heading > p { margin-bottom:20px; }
 .work-contact .work-contact-note { margin-top:20px; }
}

/* Homepage services gallery: the shared Work gallery under its own heading. */
.af-services:has(+ .services-gallery) { padding-bottom: 96px; }
@media (max-width: 760px) {
  .af-services:has(+ .services-gallery) { padding-bottom: 64px; }
}
.services-gallery .work-gallery-swiper { height: clamp(520px, 82vh, 900px); }
@media (max-width: 760px) { .services-gallery .work-gallery-swiper { height: clamp(420px, 68vh, 620px); } }

/* cta-panel.css */
@layer components {
/* --- Full-screen call to action ---------------------------------------- */
.cta-panel { display: grid; place-items: center; min-height: 100vh; min-height: 100svh; padding: clamp(60px, 10vh, 120px) 6%; background: #e8f0f5; text-align: center; }
.cta-panel-inner { max-width: 680px; }
.cta-panel .eyebrow { color: #5c6469; font-size: 11px; letter-spacing: .15em; }
.cta-panel h2 { font: 400 clamp(34px, 4.4vw, 62px)/1.08 var(--airform-serif, Georgia, serif); letter-spacing: -.03em; margin: 20px 0 22px; color: var(--af-ink); }
.cta-panel p { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.65; color: var(--af-text); margin: 0 auto; max-width: 52ch; }
.cta-panel .business-button { margin-top: 34px; }
.cta-panel .cta-panel-note { margin-top: 26px; font-size: 14px; color: #5c6469; }

@media (max-width: 640px) {
  .cta-panel { min-height: 0; padding: 72px 6%; }
}
}

/* Optional photographic backdrop. The wash keeps graphite text and the button
   legible over the image, and the panel still works on the flat mist colour
   alone if the image fails to load. */
.cta-panel-image { position: relative; isolation: isolate; overflow: hidden; min-height: clamp(520px, 82vh, 900px); }
.services-gallery { margin-top: 8px; }
.cta-panel-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.cta-panel-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(247,247,245,.74), rgba(232,240,245,.88) 46%, rgba(247,247,245,.74)); }
.cta-panel-image .cta-panel-inner { position: relative; }
@media (prefers-reduced-motion: no-preference) { .cta-panel-media { will-change: auto; } }
@media (max-width: 760px) { .cta-panel-image { min-height: clamp(420px, 68vh, 620px); } }

/* af-motion.css */
@layer components {
/* ==========================================================================
   Site-wide GSAP reveal animations.
   The `af-motion` class is added to <html> by a small inline script in <head>,
   so revealable elements start hidden without a flash. af-motion.js removes
   that class immediately if GSAP is unavailable or the visitor prefers reduced
   motion, so content is never left hidden.
   GENERATED to match the REVEAL list in af-motion.js — keep the two in step.
   ========================================================================== */
.af-motion [data-reveal],
.af-motion .af-page-intro > *,
.af-motion .af-intro > *,
.af-motion .af-services > *,
.af-motion .af-process > *,
.af-motion .af-editorial > *,
.af-motion .af-invitation > *,
.af-motion .af-section-head > *,
.af-motion .page-hero > *,
.af-motion .af-service-introduction > *,
.af-motion .cta-panel-inner > *,
.af-motion .commercial-section > .eyebrow,
.af-motion .commercial-section > h2,
.af-motion .commercial-section > p,
.af-motion .brand-stack-intro > *,
.af-motion .commercial-grid > article,
.af-motion .service-links > a,
.af-motion .process-grid > li,
.af-motion .faq-section > details,
.af-motion .faq-body > *,
.af-motion .faq-media,
.af-motion .scope-notes > p,
.af-motion .work-opening > *,
.af-motion .work-process > *,
.af-motion .business-heading > *,
.af-motion .visual-journal-heading > *,
.af-motion .visual-journal-grid > a { opacity: 0; }

/* Smooth in-page jumps (the #packages links, FAQ and case-study anchors). */
html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .af-motion [data-reveal],
  .af-motion .af-page-intro > *,
  .af-motion .af-intro > *,
  .af-motion .af-services > *,
  .af-motion .af-process > *,
  .af-motion .af-editorial > *,
  .af-motion .af-invitation > *,
  .af-motion .af-section-head > *,
  .af-motion .page-hero > *,
  .af-motion .af-service-introduction > *,
  .af-motion .cta-panel-inner > *,
  .af-motion .commercial-section > .eyebrow,
  .af-motion .commercial-section > h2,
  .af-motion .commercial-section > p,
  .af-motion .brand-stack-intro > *,
  .af-motion .commercial-grid > article,
  .af-motion .service-links > a,
  .af-motion .process-grid > li,
  .af-motion .faq-section > details,
  .af-motion .faq-body > *,
  .af-motion .faq-media,
.af-motion .faq-body > *,
.af-motion .faq-media,
  .af-motion .scope-notes > p,
  .af-motion .work-opening > *,
  .af-motion .work-process > *,
  .af-motion .business-heading > *,
  .af-motion .visual-journal-heading > *,
  .af-motion .visual-journal-grid > a { opacity: 1; transform: none; }
}
}

/* Homepage conversion hierarchy: a clear service proposition and one
   dominant action, with selected work as a deliberately quieter proof link. */
body.alpine-home .mountain-copy { max-width: 690px; }
body.alpine-home .mountain-copy h1 { max-width: 11ch; }
body.alpine-home .mountain-copy p { max-width: 34ch; }
body.alpine-home .hero-actions { gap: 14px; }
body.alpine-home .hero-actions .hero-project-button {
  background: var(--af-ink);
  border-color: var(--af-ink);
  color: var(--af-bg);
  box-shadow: 0 10px 24px rgba(30,36,37,.16);
}
body.alpine-home .hero-actions .hero-project-button:hover,
body.alpine-home .hero-actions .hero-project-button:focus-visible {
  background: var(--af-action-hover);
  border-color: var(--af-action-hover);
  color: var(--af-white);
}
body.alpine-home .hero-actions .hero-enquiry-link {
  background: rgba(247,247,245,.9);
  border-color: rgba(46,46,46,.34);
  color: var(--af-ink);
  text-decoration: none;
}
body.alpine-home .hero-actions .hero-enquiry-link:hover,
body.alpine-home .hero-actions .hero-enquiry-link:focus-visible {
  background: var(--af-bg);
  border-color: var(--af-ink);
}
@media (max-width: 760px) {
  body.alpine-home .mountain-copy h1,
  body.alpine-home .mountain-copy p { max-width: none; }
  body.alpine-home .hero-actions .hero-project-button { min-height: 54px; }
}

/* Centre the selected-work explanation using the same vertical alignment as
   the services-section action. */
@media (min-width: 1001px) {
  .af-panorama .af-section-head > p {
    align-self: center;
    margin: 0;
    position: relative;
    top: 28px;
    transform: none !important;
  }

  /* Keep the supporting actions optically centred in the height of their
     accompanying display headlines. */
  .af-panorama .af-section-head,
  .af-services .af-section-head {
    align-items: center;
  }

  /* Use a shared, centred heading field so the larger left-hand display
     type has the same surrounding white space above and below. */
  .af-panorama .panorama-heading,
  .af-services {
    box-sizing: border-box;
    min-height: clamp(280px, 22vw, 360px);
    display: flex;
    align-items: center;
  }

  .af-panorama .af-section-head,
  .af-services .af-section-head {
    width: 100%;
    margin-bottom: 0;
  }

  .af-panorama .panorama-heading .af-section-head {
    position: relative;
    top: -42px;
    transform: none !important;
  }

  .af-panorama .panorama-footer {
    height: 96px;
    min-height: 0;
    box-sizing: border-box;
    padding-block: 0;
  }

  .af-panorama .panorama-footer > .af-text-link {
    height: 46px;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 18px;
    border: 1px solid var(--af-blue);
    border-radius: 999px;
    align-items: center;
  }

  .af-panorama .panorama-controls button {
    height: 46px;
    min-height: 46px;
    box-sizing: border-box;
  }

  .af-panorama .panorama-stage {
    position: relative;
  }

  .af-panorama .panorama-stage .panorama-controls {
    position: absolute;
    z-index: 4;
    left: 50%;
    right: auto;
    bottom: 2.5%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff;
  }

  .af-panorama .panorama-stage > .af-text-link {
    position: absolute;
    z-index: 4;
    left: 6%;
    bottom: 2.5%;
    height: 46px;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    color: #fff;
    background: rgba(24,31,35,.22);
  }

  .af-panorama .panorama-stage > .af-text-link:hover {
    color: #2e2e2e;
    background: #fff;
    border-color: #fff;
  }

  .af-panorama .panorama-project-copy {
    bottom: 18%;
  }

  .work-gallery-caption a {
    display: inline-flex;
    min-height: 46px;
    box-sizing: border-box;
    padding: 0 18px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: rgba(24,31,35,.22);
    text-decoration: none;
  }

  .work-gallery-caption a:hover {
    color: #2e2e2e;
    background: #fff;
    border-color: #fff;
  }

  .af-panorama .panorama-stage .panorama-counter {
    margin-right: 8px;
    color: #fff;
  }

  .af-panorama .panorama-stage .panorama-controls button {
    width: 62px;
    height: 62px;
    min-width: 62px;
    min-height: 62px;
    border-color: rgba(255,255,255,.72);
    color: #fff;
    background: rgba(24,31,35,.22);
  }

  .af-panorama .panorama-stage .panorama-controls button:hover {
    color: #2e2e2e;
    background: #fff;
  }

  .af-panorama:has(.panorama-footer) {
    padding-bottom: 0;
  }

  .af-panorama:has(.panorama-stage > .panorama-controls) {
    padding-bottom: 0;
  }

  .af-process {
    padding-top: 0;
  }

  .af-process-heading {
    min-height: clamp(280px, 22vw, 360px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .af-process-heading > .af-eyebrow {
    margin-bottom: 24px;
  }

  /* Selected-work captions follow the same in-image treatment as the
     services gallery. */
  .af-panorama .panorama-project-copy {
    left: 6%;
    right: 30%;
    bottom: 124px;
    display: block;
  }

  .af-panorama .panorama-project-copy span:not(.panorama-project-arrow) {
    font-size: 11px;
  }

  .af-panorama .panorama-project-copy h3 {
    font: 400 clamp(42px, 6vw, 80px)/1.04 var(--airform-serif, Georgia, serif);
    letter-spacing: -.035em;
    margin: 14px 0;
  }

  .af-panorama .panorama-project-copy p {
    font-size: 18px;
    margin: 0;
  }

  .af-panorama .panorama-stage > .af-text-link,
  .af-panorama .panorama-stage .panorama-controls {
    bottom: 48px;
  }
}
