@charset "UTF-8";

/* Ash Tech ordered source: fonts.css */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-400-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-400-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/ibm-plex-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Ash Tech ordered source: style.css?v=native-1 */

:root{--paper:#e9eeea;--ink:#182823;--muted:#65756c;--line:#c9d2ca;--accent:#c8f06a;--dark:#12241e;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);font-size:16px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #407846;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:14px;z-index:100}.skip-link:focus{top:20px}.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;height:104px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:34px;font-weight:650;letter-spacing:-2px;line-height:1}.brand svg{width:31px;height:32px;fill:currentColor}.brand-period{color:#667f63}.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto;margin-right:24px}.desktop-nav a{font-size:14px;font-weight:500;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-7px;left:0;right:100%;height:1px;background:var(--ink);transition:right .25s}.desktop-nav a:hover:after{right:0}.contact-button{border:1px solid #a8b7ad;border-radius:6px;background:transparent;padding:12px 17px;font-size:14px;font-weight:550;display:flex;gap:30px;align-items:center;transition:background .2s}.contact-button:hover{background:var(--ink);color:var(--paper)}.mobile-menu-button,.mobile-nav{display:none}.experience{height:520svh;position:relative;isolation:isolate}.scene-stage{position:sticky;top:0;height:100svh;overflow:hidden;z-index:0}.scene-stage #scene{position:absolute;inset:0}.scene-stage canvas{width:100%;height:100%;display:block}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(233,238,234,.2),transparent 56%)}.chapters{position:relative;margin-top:-100svh;pointer-events:none}.chapter{height:104svh;min-height:600px;display:flex;align-items:center;position:relative;padding:110px 5.1% 120px}.chapter-copy{max-width:490px;width:40%;pointer-events:auto}.eyebrow{font-family:var(--mono);font-weight:450;letter-spacing:.08em;font-size:12px;line-height:1.6;display:flex;align-items:center;gap:10px;margin:0 0 25px}.tiny-cross{font-size:20px;line-height:1}.hero h1{font-size:clamp(52px,5.25vw,86px);font-weight:500;line-height:1.03;letter-spacing:-.066em;margin:0 0 26px;white-space:nowrap}.hero h1 span{color:#60766b}.chapter h2{font-size:clamp(40px,4.35vw,70px);font-weight:450;line-height:1.04;letter-spacing:-.055em;margin:0 0 25px}.chapter-description{font-size:18px;line-height:1.6;max-width:360px;margin:0 0 30px;color:#576b60}.hero .chapter-description{font-size:19px}.primary-button{border:0;border-radius:5px;display:inline-flex;gap:32px;align-items:center;justify-content:space-between;background:var(--ink);color:#f4f7f3;font-size:14px;font-weight:500;padding:16px 20px;transition:background .2s,transform .2s}.primary-button span{font-size:20px;line-height:1}.primary-button:hover{background:#31563d;transform:translateY(-2px)}.hero-services{font-family:var(--mono);font-size:12px;margin-top:30px;color:#718076;display:flex;gap:12px}.hero-services span{color:#a4afa6}.hero-bottom{position:absolute;left:5.1%;right:5.1%;bottom:103px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.09em;color:#697b6f}.hero-bottom>span:last-child{display:flex;gap:25px}.chapter-progress{position:absolute;bottom:28px;left:5.1%;display:flex;gap:8px;z-index:7;pointer-events:auto}.chapter-progress a{display:flex;align-items:center;gap:10px;padding:10px 11px;color:#8a998e;transition:color .2s;border-top:1px solid #b9c5ba}.chapter-progress a span{font-family:var(--mono);font-size:11px}.chapter-progress b{font-size:12px;font-weight:500}.chapter-progress a.is-active{color:#172b20;border-color:#233d29}.scene-caption{position:absolute;right:5.1%;bottom:109px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.025em;color:#6d7d71}.caption-dot{width:5px;height:5px;border-radius:50%;background:#557749}.scene-control{position:absolute;bottom:29px;right:5.1%;z-index:8}.scene-control button{width:36px;height:36px;border-radius:50%;border:1px solid #a9b9ac;background:transparent;display:grid;place-items:center;font-size:13px}.chapter-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.chapter-tags span{font-family:var(--mono);font-size:11px;letter-spacing:.005em;padding:8px 10px;border:1px solid #bec9bf;border-radius:3px}.text-link{border:0;background:transparent;border-bottom:1px solid currentColor;padding:0 0 7px;font-size:14px;display:inline-flex;gap:22px;align-items:center;font-weight:500}.text-link span{font-size:18px}.support-sequence{display:flex;gap:13px;flex-wrap:wrap;margin:0 0 30px;font-size:12px}.support-sequence span{display:flex;align-items:center;gap:6px}.support-sequence i{font-family:var(--mono);font-style:normal;font-size:10px;color:#7b8d7f}.section-pad{padding:110px 5.1%}.expertise{background:#f7f8f4;position:relative;z-index:2}.section-heading{display:grid;grid-template-columns:1fr 1.8fr 1fr;align-items:start;gap:32px;margin-bottom:70px}.section-heading h2{font-size:clamp(38px,4vw,63px);font-weight:450;letter-spacing:-.055em;line-height:1.07;margin:0}.section-heading>p:last-child{font-size:16px;color:#67766c;line-height:1.6;padding-top:7px;margin:0}.section-heading .eyebrow{padding-top:9px}.service-list details{border-top:1px solid #cbd3ca}.service-list details:last-child{border-bottom:1px solid #cbd3ca}.service-list summary{list-style:none;display:grid;grid-template-columns:70px 1fr 1fr 24px;align-items:center;gap:24px;padding:30px 0;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-number{font-family:var(--mono);font-size:12px;color:#7c8b7f}.service-list h3{font-size:30px;letter-spacing:-.035em;font-weight:450;margin:0}.service-summary{font-size:15px;color:#6e7d71}.expand-icon{width:18px;height:18px;position:relative}.expand-icon:before,.expand-icon:after{content:'';position:absolute;top:8px;left:0;width:16px;height:1px;background:var(--ink)}.expand-icon:after{transform:rotate(90deg);transition:transform .3s}details[open] .expand-icon:after{transform:rotate(0)}.service-detail{padding:0 48px 35px 94px;display:grid;grid-template-columns:1fr 1fr;gap:18px 70px}.service-detail p{font-size:16px;line-height:1.65;max-width:490px;color:#607064;margin:0}.service-detail ul{list-style:none;padding:0;margin:0;color:#4c6354;font-size:14px;line-height:2}.service-detail li:before{content:'+';font-family:var(--mono);margin-right:12px;color:#7f947e}.service-detail .text-link{justify-self:start}.approach{background:var(--dark);color:#e7eee4;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.approach-image{position:relative;align-self:stretch;min-height:620px;overflow:hidden;border-radius:3px;background:#243a31}.approach-image img{height:100%;width:100%;object-fit:cover;position:absolute}.approach-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(7,22,16,.7))}.approach-image>span{position:absolute;bottom:30px;left:30px;z-index:1;font-family:var(--mono);font-size:12px;letter-spacing:.07em;color:#dee7df}.approach-copy>.eyebrow{color:#a5b8a8}.approach-copy h2{font-size:clamp(34px,3.7vw,60px);font-weight:450;line-height:1.09;letter-spacing:-.055em;margin:0 0 26px}.approach-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:400px;color:#a8bbae}.approach-copy ol{padding:0;margin:35px 0 0;list-style:none}.approach-copy li{display:flex;gap:22px;border-top:1px solid #354b3f;padding:22px 0}.approach-copy li>span{font-family:var(--mono);font-size:11px;color:#a5c08b;padding-top:5px}.approach-copy h3{font-size:18px;font-weight:500;margin:0 0 7px;letter-spacing:-.015em}.approach-copy li p{margin:0;font-size:14px;color:#9eafa2;line-height:1.6}.ai-section{background:#e4ebdf;display:grid;grid-template-columns:1fr 1.25fr;gap:9%;align-items:center}.ai-intro h2{font-size:clamp(38px,4vw,65px);font-weight:450;letter-spacing:-.055em;line-height:1.06;margin:0 0 25px}.ai-intro>p:not(.eyebrow){font-size:17px;line-height:1.65;max-width:360px;color:#657560}.demo-label{display:block;font-family:var(--mono);font-size:10px;margin-top:17px;color:#74816b}.workflow{border:1px solid #b4c2aa;background:#edf1e7;padding:24px 28px;border-radius:5px}.workflow-top{display:flex;justify-content:space-between;gap:15px;font-family:var(--mono);font-size:10px;color:#708064;border-bottom:1px solid #c5cfbc;padding-bottom:21px}.workflow-step{display:grid;grid-template-columns:35px 1fr 16px;gap:16px;padding:25px 0;border-bottom:1px solid #d1d8c9;opacity:.48;transition:opacity .5s}.workflow-step:last-child{border:0;padding-bottom:7px}.workflow-step.active,.workflow-step.done{opacity:1}.workflow-icon{width:34px;height:34px;border:1px solid #bdcbb1;border-radius:6px;display:grid;place-items:center;font-size:20px}.workflow-step.active .workflow-icon{background:var(--accent);border-color:#a6c770}.mono{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:#7d8c72}.workflow-step h3{font-size:16px;font-weight:550;letter-spacing:-.02em;margin:6px 0 7px}.workflow-step p{font-size:13px;line-height:1.5;color:#6d7c64;margin:0}.step-state{font-size:14px;padding-top:8px;color:#81986e}.closing{background:#182c23;color:#eaf1e5;position:relative;overflow:hidden;isolation:isolate}.closing>.eyebrow{color:#b8c6b7}.closing h2{font-size:clamp(52px,7.3vw,115px);font-weight:450;letter-spacing:-.065em;line-height:1.02;margin:35px 0 50px;position:relative;z-index:1}.closing h2 span{color:#a9c08c}.closing-bottom{display:flex;align-items:center;justify-content:space-between;max-width:840px;position:relative;z-index:1}.closing-bottom p{font-size:17px;line-height:1.6;color:#b0c1af}.primary-button.light{background:var(--accent);color:#1d3320}.primary-button.light:hover{background:#dbfba0}.closing-mark{position:absolute;font-size:750px;font-weight:700;line-height:.7;right:-40px;bottom:-80px;color:#223e2d;letter-spacing:-.1em;z-index:-1;user-select:none}footer{background:#14251d;color:#b6c6b5;padding:38px 5.1%;display:flex;align-items:center;gap:28px;flex-wrap:wrap;font-size:12px}footer .brand{color:#edf2e8;margin-right:16px;font-size:29px}footer .text-link{margin-left:auto;font-size:12px}footer>span:last-child{margin-left:auto}.footer-preview{width:70%;font-family:var(--mono);font-size:10px;color:#7b917d}dialog{width:min(580px,calc(100% - 32px));border:1px solid #aebbab;background:#f1f4ec;color:var(--ink);border-radius:10px;padding:48px;max-height:90svh;overflow:auto}dialog::backdrop{background:#102016a6;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:20px;top:14px;font-size:28px;border:0;background:none}.dialog-description{font-size:15px;color:#697b68;line-height:1.5}dialog h2{font-size:44px;font-weight:450;line-height:1.04;letter-spacing:-.05em;margin:0 0 20px}form label{display:block;font-size:13px;margin:20px 0}form select,form textarea{width:100%;display:block;background:#e6ecdf;border:1px solid #c0cdb8;border-radius:4px;padding:12px;margin-top:9px;color:#334b35;font-size:15px}form textarea{resize:vertical;min-height:105px}.form-note{font-size:12px;color:#73816b;line-height:1.6;margin-top:18px}#form-status{font-size:13px;color:#3e713a}.scene-fallback{position:absolute;right:10%;top:30%;color:#455e4b}.scene-fallback p{font-size:50px;letter-spacing:-.05em}.scene-fallback span{font-size:16px}body.has-fallback .scene-caption{display:none}
@media(min-width:1600px){.chapter-copy{max-width:620px}.chapter-description{max-width:430px;font-size:20px}.section-pad{padding-top:145px;padding-bottom:145px}}
@media(max-width:1050px){.desktop-nav{gap:18px;margin-right:6px}.desktop-nav a{font-size:12px}.chapter-copy{width:43%}.hero h1{font-size:61px}.chapter h2{font-size:49px}.chapter-description{font-size:16px}.chapter-progress{gap:2px}.chapter-progress a{padding:8px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.approach{gap:5%}.approach-image{min-height:570px}.ai-section{gap:5%}.scene-caption{bottom:98px}}
@media(max-width:760px){html{scroll-padding-top:70px}.site-header{height:82px;padding:0 6%;gap:16px}.brand{font-size:29px}.brand svg{width:26px;height:28px}.desktop-nav{display:none}.contact-button{margin-left:auto;font-size:12px;padding:10px 12px;gap:16px}.mobile-menu-button{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:8px 0 8px 8px;width:28px}.mobile-menu-button span{display:block;width:20px;height:1px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:76px;right:5%;left:5%;z-index:31;flex-direction:column;background:#f6f8f1;border:1px solid #bdcbb8;padding:15px 22px;border-radius:6px;box-shadow:0 12px 30px #1b31221a}.mobile-nav a,.mobile-nav button{font-size:16px;padding:14px 0;border:0;border-bottom:1px solid #d3ddce;background:none;text-align:left}.experience{height:470svh}.chapter{height:94svh;min-height:0;padding:110px 6% 0;align-items:flex-start}.chapter-copy{width:100%;max-width:460px;pointer-events:auto}.eyebrow{font-size:10px;margin-bottom:17px;letter-spacing:.055em}.hero h1{font-size:clamp(44px,10.8vw,75px);letter-spacing:-.06em;line-height:1.04;margin-bottom:18px;white-space:normal}.hero .chapter-description{font-size:15px;line-height:1.55;margin-bottom:20px}.primary-button{padding:13px 16px;font-size:12px;gap:20px}.hero-services{display:none}.chapter h2{font-size:clamp(38px,9.3vw,63px);margin-bottom:17px}.chapter-description{font-size:15px;line-height:1.55;max-width:340px;margin-bottom:18px}.chapter-tags{margin-bottom:18px;gap:7px}.chapter-tags span{font-size:10px;padding:6px 8px}.text-link{font-size:12px}.support-sequence{margin-bottom:15px;font-size:11px}.hero-bottom{left:6%;right:6%;bottom:62px;font-size:9px}.hero-bottom>span:first-child{display:none}.hero-bottom>span:last-child{margin-left:auto;gap:15px}.chapter-progress{left:6%;right:17%;bottom:20px;justify-content:space-between;gap:0}.chapter-progress a{gap:0;padding:8px 9px}.chapter-progress b{display:none}.chapter-progress a.is-active b{display:block;margin-left:7px;font-size:10px}.chapter-progress a span{font-size:10px}.scene-control{bottom:16px;right:6%}.scene-control button{height:32px;width:32px}.scene-caption{right:auto;left:6%;bottom:67px;font-size:9px}.scene-vignette{background:linear-gradient(180deg,#e9eeea33,transparent 55%)}.section-pad{padding:65px 6%}.section-heading{display:block;margin-bottom:38px}.section-heading h2{font-size:42px}.section-heading>p:last-child{margin-top:22px;font-size:15px}.service-list summary{grid-template-columns:24px 1fr 16px;gap:15px;padding:25px 0}.service-list h3{font-size:25px}.service-summary{display:none}.service-detail{padding:0 0 28px 39px;display:block}.service-detail p{font-size:15px;margin-bottom:16px}.service-detail ul{font-size:13px;margin-bottom:20px}.approach{display:flex;flex-direction:column;gap:40px}.approach-image{width:100%;min-height:360px;max-height:400px;aspect-ratio:1.1}.approach-image>span{font-size:10px;left:20px;bottom:20px}.approach-copy h2{font-size:39px}.approach-copy>p:not(.eyebrow){font-size:16px}.approach-copy h3{font-size:17px}.ai-section{display:flex;flex-direction:column;gap:40px;align-items:stretch}.ai-intro h2{font-size:42px}.ai-intro>p:not(.eyebrow){font-size:16px}.workflow{padding:19px}.workflow-top{font-size:9px}.workflow-step{gap:10px;grid-template-columns:30px 1fr 12px;padding:20px 0}.workflow-icon{width:29px;height:29px;font-size:17px}.workflow-step h3{font-size:14px}.workflow-step p{font-size:12px}.closing h2{font-size:50px;margin:22px 0 30px}.closing-bottom{display:block}.closing-bottom p{font-size:16px;margin-bottom:27px}.closing-mark{font-size:480px;right:-15px;bottom:-50px}footer{padding:30px 6%;gap:24px;font-size:11px}footer>.brand{width:100%}footer>.text-link{margin-left:auto}.footer-preview{width:100%;font-size:9px}footer>span:last-child{margin-left:0}dialog{padding:35px 26px}dialog h2{font-size:37px}.scene-fallback{left:6%;right:auto;top:65%}.scene-fallback p{font-size:30px}}
@media(max-height:620px) and (min-width:761px){.site-header{height:80px}.chapter{padding-top:90px;padding-bottom:90px;min-height:0}.hero h1{font-size:54px}.chapter h2{font-size:44px}.chapter-description{font-size:15px;line-height:1.5}.hero-services{display:none}.hero-bottom{bottom:80px}.scene-caption{bottom:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.primary-button:hover{transform:none}}
/* Keep chapter controls above text while the scene remains behind it. */
.scene-overlay{position:sticky;top:0;height:100svh;margin-top:-100svh;z-index:4;pointer-events:none;overflow:hidden}
.scene-overlay:after{content:'';position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--paper) 78%);z-index:-1}
.scene-control{pointer-events:auto}.workflow-step{opacity:1}.workflow-step:not(.active):not(.done) .workflow-icon{color:#718466}.workflow-step:not(.active):not(.done) .step-state{opacity:.55}
@media(max-width:760px){.chapter-progress a{min-height:44px;min-width:39px;justify-content:center}.scene-control{bottom:13px}.scene-control button{width:40px;height:40px}.scene-caption{bottom:78px}}
/* Production-rendered narrative, with a complete six-part resolution. */
:root{--paper:#dfe5e5;--muted:#52656b}.experience{height:630svh}.chapter{height:105svh}.scene-stage{background:var(--paper)}.scene-vignette{background:linear-gradient(90deg,rgba(223,229,229,.98) 0%,rgba(223,229,229,.96) 25%,rgba(223,229,229,.78) 35%,rgba(223,229,229,.03) 55%,transparent 70%)}
.chapter-copy{width:39%;max-width:500px}.chapter-progress a{color:#627677}.chapter-progress{gap:5px}.scene-caption{color:#4e666b}.hero h1{font-size:clamp(50px,5.2vw,84px)}.story-ending h2 span{color:#536f73}.story-case{max-width:345px;border-top:1px solid #adbcbc;padding:17px 0;margin-top:25px}.case-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:#607579}.story-case>div{display:flex;align-items:center;gap:9px;margin:13px 0 10px}.story-case strong{font-size:15px;font-weight:500}.case-indicator{width:7px;height:7px;border-radius:50%;background:#b17b36}.resolved .case-indicator{background:#527e70}.story-case p{font-size:13px;color:#526b71;margin:0}.story-replay{display:block;margin-top:24px;font-size:13px;color:#527078;text-decoration:underline;text-underline-offset:5px}.scene-overlay:after{height:112px}.chapter-progress a{min-height:43px}.scene-control button{background:#e2e8e7b0}.scene-stage #scene canvas{display:block}html:not(.native-mobile) .scene-stage #scene:not(.is-ready){background:url('assets/cinema/0000.webp?v=access-quality-1') 79% center/cover no-repeat}
@media(max-width:1050px) and (min-width:761px){.chapter-progress b{font-size:11px}.chapter-progress a{gap:7px;padding:8px}.chapter-copy{width:41%}.chapter h2{font-size:46px}}
@media(max-width:760px){.experience{height:630svh}.chapter{height:105svh;padding-top:98px;min-height:0}.chapter-copy{width:100%;max-width:460px}.scene-stage #scene{top:48%;bottom:7%;mask-image:linear-gradient(transparent 0%,black 12%,black 90%,transparent 100%)}.scene-vignette{background:none}html:not(.native-mobile) .scene-stage #scene:not(.is-ready){background-position:79% center;background-size:cover}.hero h1{font-size:clamp(42px,10.5vw,68px)}.chapter h2{font-size:clamp(35px,9vw,56px)}.chapter-description,.hero .chapter-description{font-size:16px;line-height:1.5;max-width:350px}.chapter-progress{left:5%;right:18%;bottom:16px;gap:1px}.chapter-progress a{padding:8px 5px;min-width:30px}.chapter-progress a.is-active b{font-size:10px;margin-left:4px}.chapter-progress a span{font-size:10px}.scene-caption{bottom:77px;left:6%;font-size:10px}.hero-bottom{display:none}.story-case{margin-top:17px;padding-top:12px}.case-label{font-size:10px}.story-case>div{margin:10px 0 8px}.story-case strong{font-size:14px}.story-case p{font-size:12px}.story-replay{margin-top:17px}.chapter-tags span{font-size:12px}.chapter-tags{margin-bottom:16px}}
@media(max-height:700px) and (max-width:760px){.chapter{padding-top:74px}.chapter h2{font-size:31px}.chapter-description,.hero .chapter-description{font-size:14px}.story-case{margin-top:10px;padding-top:8px}.scene-stage #scene{top:51%;bottom:7%}}

.site-header{background:linear-gradient(180deg,#dfe5e5ed 0%,#dfe5e5dc 55%,#dfe5e500 100%)}.hero-bottom{display:none}

@media(max-width:760px){.chapter{scroll-margin-top:-70px}.story-case{background:#dfe5e5f5;padding:12px;border-radius:3px}.story-ending .chapter-description{max-width:335px}}
.support-editorial{border-top:1px solid #adbfc0;padding-top:21px;margin-top:30px;max-width:370px}.support-editorial>p{font-size:20px;line-height:1.5;color:#334f50;margin:15px 0 11px}.support-editorial-note{font-size:13px;line-height:1.5;color:#6b8183}.support-editorial .case-label{font-size:11px;letter-spacing:.055em}.support-editorial.resolved>p{font-size:24px;letter-spacing:-.025em}.scene-stage #scene{overflow:hidden}
@media(max-width:760px){.support-editorial{margin-top:18px;padding:14px 0;background:linear-gradient(#dfe5e5,#dfe5e5e8);max-width:335px}.support-editorial>p{font-size:16px;margin:10px 0 8px}.support-editorial .case-label{font-size:10px}.support-editorial.resolved>p{font-size:19px}.support-editorial-note{font-size:12px}}


/* Ash Tech ordered source: support-screen.css?v=access-quality-1 */
.monitor-interface{position:absolute;left:0;top:0;width:1200px;height:750px;transform-origin:0 0;overflow:hidden;pointer-events:none;opacity:0;background:#e8eef0;color:#263b40;font-family:'DM Sans',sans-serif;box-shadow:inset 0 0 22px #1c353638;will-change:transform,opacity;font-size:25px;contain:layout paint}
.monitor-toolbar{height:84px;display:flex;align-items:center;gap:35px;padding:0 38px;background:#f3f6f6;border-bottom:1px solid #c8d3d7;font-size:25px}.workspace-wordmark{font-size:38px;font-weight:650;letter-spacing:-2px;color:#233f3a}.workspace-wordmark>span{color:#5c887b}.toolbar-meta{margin-left:auto;color:#708189;font-size:22px}.monitor-layout{display:flex;height:622px}.monitor-sidebar{width:235px;flex:none;background:#e1e9eb;padding:44px 23px;display:flex;flex-direction:column;gap:15px;color:#687e85;font-size:24px}.monitor-sidebar>span{padding:10px 15px}.monitor-sidebar .sidebar-caption{font-family:var(--mono);font-size:16px;letter-spacing:.08em;margin-bottom:20px}.monitor-sidebar .selected{background:#cfdedc;border-radius:5px;color:#315249;font-weight:550}.monitor-sidebar small{margin-top:auto;padding:10px 15px;line-height:1.5;font-size:17px}.monitor-content{position:relative;flex:1;min-width:0}.screen-view{position:absolute;inset:0;opacity:0;visibility:hidden;padding:48px 55px}.monitor-interface[data-state=blocked] .screen-blocked,.monitor-interface[data-state=consent] .screen-consent,.monitor-interface[data-state=diagnosis] .screen-diagnosis,.monitor-interface[data-state=files] .screen-files,.monitor-interface[data-state=document] .screen-document{opacity:1;visibility:visible}.screen-blocked,.screen-consent{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:52px}.screen-folder{width:80px;height:66px;color:#7a8f92;margin:8px 0 20px}.monitor-interface h3{font-weight:500;font-size:42px;line-height:1.1;letter-spacing:-1.6px;margin:20px 0 12px}.screen-view p{font-size:27px;line-height:1.5;color:#6c8087;margin:0 0 26px}.screen-action{display:flex;align-items:center;justify-content:space-between;gap:55px;background:#274a43;color:#eef4f3;padding:19px 25px;border-radius:5px;font-size:25px;margin:22px 0 24px}.screen-action b{font-weight:400}.muted-action{background:#dae4e5;color:#3a595a;border:1px solid #b7cccd}.screen-view>small{font-size:20px;color:#788d94}.support-wordmark{font-size:63px;letter-spacing:-5px;line-height:1;font-weight:600;color:#2b5146;margin:0 0 21px}.screen-overline{font-family:var(--mono);font-size:17px;letter-spacing:.08em;color:#6f858b}.screen-consent h3{margin-top:15px}.screen-consent .screen-action{margin-top:10px}.is-allowing .consent-action{background:#4c7066;box-shadow:0 0 0 6px #c4d6d0}.session-label{font-size:19px;display:inline-block;border-bottom:1px solid #a9c3bc;color:#426b60;padding-bottom:9px;margin:0 0 9px}.screen-diagnosis h3{margin-bottom:40px}.diagnostic-row{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #c7d3d6;font-size:24px}.diagnostic-row b{font-size:22px;font-weight:500;color:#5f7c78}.diagnostic-row:nth-of-type(2) b{color:#997649}.technician-note{padding:28px 0;margin-top:13px}.technician-note>span{font-family:var(--mono);font-size:16px;letter-spacing:.06em;color:#6f858b}.technician-note p{font-size:30px;color:#3f5b5c;margin-top:15px;line-height:1.45}.file-heading{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 40px;font-size:38px;letter-spacing:-1px}.file-heading small{font-size:19px;color:#7c8f94;letter-spacing:0}.file-row{height:100px;display:flex;align-items:center;gap:26px;padding:20px 23px;border-bottom:1px solid #cbd7da}.file-row svg{width:36px;height:43px;color:#6f9695;flex:none}.file-row>span{display:flex;flex-direction:column;gap:5px}.file-row strong{font-size:26px;font-weight:500}.file-row small{font-size:19px;color:#809399}.file-row>b{margin-left:auto;font-weight:400}.selected-file{background:#d4e3e3;border-radius:4px;border:1px solid #bbd1d0}.file-status{font-size:22px;color:#607f79;margin-top:40px}.screen-document{padding:0 35px 18px;background:#d4dfe3}.document-toolbar{display:flex;align-items:center;justify-content:space-between;height:65px;font-size:20px;color:#5c767d}.document-toolbar small{font-size:17px}.document-paper{height:418px;background:#f9faf7;border:1px solid #c0cdd0;box-shadow:0 6px 18px #344c5510;padding:39px 47px}.document-overline{font-family:var(--mono);font-size:13px;letter-spacing:.11em;color:#87958e}.document-paper h3{font-size:51px;color:#263c34;margin:19px 0 24px;letter-spacing:-2px}.document-rule{height:2px;background:#b4c7b9;margin-bottom:22px}.document-paper h4{font-size:26px;font-weight:500;color:#4e695a;margin:0 0 10px}.document-paper p{font-size:19px;line-height:1.5;color:#7b8981;margin:0}.document-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:28px}.document-columns b{font-family:var(--mono);font-size:12px;color:#5c7466;font-weight:500}.document-columns p{font-size:15px;margin-top:9px}.document-confirm{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0 0;font-size:23px}.confirm-question{font-size:23px;color:#526f71}.confirm-action{background:#2d554b;padding:16px 19px;border-radius:4px;color:#f4f7f6;font-size:22px}.confirm-action b{margin-left:16px}.confirm-finished{display:none;color:#446c5c;font-size:25px;padding:17px 0}.confirm-finished b{margin-left:16px}.is-confirmed .confirm-question,.is-confirmed .confirm-action{display:none}.is-confirmed .confirm-finished{display:block}.screen-session{position:absolute;bottom:0;left:0;right:0;height:44px;display:flex;justify-content:space-between;align-items:center;background:#dbe4e5;border-top:1px solid #c6d4d6;padding:0 26px;color:#7a8e92;font-size:16px}.screen-session b{font-weight:500;color:#42645b;font-size:17px}.screen-reflection{position:absolute;inset:0;pointer-events:none;background:linear-gradient(126deg,#ffffff0d 0%,#ffffff00 48%,#cad8df13 100%);box-shadow:inset 0 0 12px #081b281e}.screen-cursor{position:absolute;left:0;top:0;width:27px;height:37px;opacity:0;filter:drop-shadow(0 1px 1px #172b2830)}
.monitor-interface{z-index:4}
.monitor-interface[data-state=document] .monitor-sidebar .selected{background:#cfdddc}
@media(max-width:760px){
 .monitor-sidebar{display:none}.monitor-toolbar{height:88px;padding:0 40px;font-size:32px}.workspace-wordmark{font-size:49px}.toolbar-meta{font-size:29px}.monitor-layout{height:612px}.screen-session{height:50px;font-size:25px}.screen-session b{font-size:25px}.screen-view{padding:42px 54px}.screen-blocked,.screen-consent{padding-top:25px}.screen-folder{width:70px;height:57px;margin:0 0 10px}.monitor-interface h3{font-size:63px;letter-spacing:-2px;margin:15px 0 15px}.screen-view p{font-size:45px;line-height:1.3;margin-bottom:16px}.screen-action{font-size:41px;padding:22px 30px;gap:50px;margin:18px 0 17px}.screen-view>small{font-size:29px}.support-wordmark{font-size:61px;margin-bottom:11px}.screen-overline{font-size:24px}.screen-consent h3{margin-top:13px}.screen-consent .screen-action{margin-top:12px}.session-label{font-size:30px;margin-bottom:8px}.screen-diagnosis h3{margin-bottom:28px}.diagnostic-row{font-size:36px;padding:24px 0}.diagnostic-row b{font-size:33px}.technician-note{margin-top:4px;padding-top:26px}.technician-note>span{font-size:24px}.technician-note p{font-size:41px;line-height:1.3;margin-top:17px}.file-heading{font-size:52px;margin-bottom:33px}.file-heading small{font-size:26px}.file-row{height:109px}.file-row strong{font-size:38px}.file-row small{font-size:27px}.file-row svg{width:44px;height:47px}.file-status{font-size:34px;margin-top:27px}.screen-document{padding:0 30px 18px}.document-toolbar{height:71px;font-size:32px}.document-toolbar small{font-size:26px}.document-paper{height:399px;padding:30px 39px}.document-overline{font-size:23px}.document-paper h3{font-size:66px;margin:15px 0 20px}.document-paper h4{font-size:34px}.document-paper p{font-size:27px}.document-columns{margin-top:20px}.document-columns b{font-size:21px}.document-columns p{font-size:22px}.document-confirm{margin-top:20px}.confirm-question{font-size:34px}.confirm-action{font-size:32px;padding:20px 24px}.confirm-finished{font-size:38px}.screen-cursor{width:34px;height:46px}
}
.helpdesk-enhanced #support .chapter-copy,.helpdesk-enhanced #intelligence .chapter-copy{opacity:0!important;pointer-events:none}.helpdesk-narrative{position:absolute;left:5.1%;top:50%;transform:translateY(-50%);width:39%;max-width:500px;opacity:0;pointer-events:none}.helpdesk-copy{display:none}.helpdesk-narrative[data-chapter=support] .helpdesk-copy-support,.helpdesk-narrative[data-chapter=intelligence] .helpdesk-copy-intelligence{display:block}.helpdesk-narrative h2{font-size:clamp(40px,4.35vw,70px);font-weight:450;line-height:1.04;letter-spacing:-.055em;margin:0 0 25px}
@media(max-width:1050px) and (min-width:761px){.helpdesk-narrative{width:41%}.helpdesk-narrative h2{font-size:46px}}
@media(max-width:760px){.helpdesk-narrative{left:6%;top:96px;width:88%;max-width:460px;transform:none}.helpdesk-narrative h2{font-size:clamp(35px,9vw,56px);margin-bottom:17px}.helpdesk-narrative .eyebrow{font-size:10px}.helpdesk-narrative .chapter-description{font-size:16px;line-height:1.5;margin-bottom:15px}.helpdesk-narrative .support-editorial{margin-top:14px;padding:12px 0}}
@media(max-height:700px) and (max-width:760px){.helpdesk-narrative{top:68px}.helpdesk-narrative h2{font-size:31px}.helpdesk-narrative .chapter-description{font-size:14px}.helpdesk-narrative .support-editorial{margin-top:10px;padding:9px 0}.helpdesk-narrative .support-editorial-note{display:none}}
.helpdesk-narrative[data-chapter=verification] .helpdesk-copy-verification{display:block}


/* Ash Tech ordered source: living-security.css?v=pro-reader-6 */
.experience{height:945svh}.chapter.security-chapter{height:315svh}.security-render{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none}.living-office{position:absolute;z-index:3;max-width:none;opacity:0;pointer-events:none;object-fit:fill;transition:opacity .22s linear}.security-enhanced #security .chapter-copy{opacity:0!important;pointer-events:none}.security-narrative{position:absolute;left:5.1%;top:50%;transform:translateY(-50%);width:37%;max-width:490px;opacity:0;pointer-events:none}.security-narrative h2{font-size:clamp(40px,4.35vw,70px);font-weight:450;line-height:1.04;letter-spacing:-.055em;margin:0 0 25px}.security-detail{border-top:1px solid #adbfc0;padding-top:21px;margin-top:30px;max-width:370px}.security-detail>p{font-size:18px;line-height:1.5;color:#3e595c;margin:15px 0 0}.security-steps{display:flex;gap:18px;margin-top:30px;font-family:var(--mono);font-size:11px;color:#849797}.security-steps .is-active{color:#233d39}.security-viewer{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:43%;max-width:790px;background:#eef2f2;border:1px solid #bcc9c9;border-radius:8px;box-shadow:0 26px 70px #102d3922;overflow:hidden;opacity:0;pointer-events:none}.security-viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:19px 24px;border-bottom:1px solid #c6d1d1}.security-viewer-brand{font-size:27px;font-weight:600;letter-spacing:-1.6px}.security-viewer-mode{font-size:13px;color:#617a7c}.security-feed{position:relative;aspect-ratio:1.6;background:#b6c1c2;overflow:hidden}.security-feed video{display:block;width:100%;height:100%;object-fit:cover}.feed-label{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:12px;padding:25px 22px 16px;color:#fff;background:linear-gradient(transparent,#172d3694);font-family:var(--mono);font-size:11px;letter-spacing:.04em}.feed-corners{position:absolute;inset:20px;border:1px solid #ffffff3d;clip-path:polygon(0 0,15% 0,15% 1px,1px 1px,1px 15%,0 15%,0 0,100% 0,100% 15%,calc(100% - 1px) 15%,calc(100% - 1px) 1px,85% 1px,85% 0,100% 0,100% 100%,85% 100%,85% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 85%,100% 85%,100% 100%,0 100%,0 85%,1px 85%,1px calc(100% - 1px),15% calc(100% - 1px),15% 100%,0 100%)}.security-viewer-bottom{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.security-viewer-status{font-size:16px;color:#365454;margin:8px 0 0;line-height:1.5}.security-viewer-bottom .case-label{font-size:10px;letter-spacing:.055em}.viewer-indicator{width:7px;height:7px;border-radius:50%;background:#5c8070;flex:none}.recording-track{height:5px;position:relative;background:#d9e1df;display:none}.recording-track span{position:absolute;inset:0 auto 0 0;width:100%;transform-origin:left;background:#92aaa2;transform:scaleX(0)}.recording-track i{position:absolute;left:0;top:0;width:2px;height:100%;background:#274d42;}.security-viewer[data-mode=playback] .recording-track{display:block}.ambient-paused .recording-track *{animation-play-state:paused}.feed-unavailable .recording-track{display:none}.security-viewer.feed-unavailable .viewer-indicator{background:#829391}
@media(min-width:761px){.desktop-nav{gap:24px}.desktop-nav a{white-space:nowrap}.chapter-progress{gap:3px}.chapter-progress a{padding-left:9px;padding-right:9px}}
@media(max-width:1150px) and (min-width:761px){.desktop-nav{gap:15px;margin-right:8px}.desktop-nav a{font-size:12px}.security-narrative{width:40%}.security-narrative h2{font-size:46px}.security-viewer{right:4%;width:46%}.security-viewer-status{font-size:14px}.security-viewer-bar{padding:15px 18px}.security-viewer-bottom{padding:18px}.security-steps{gap:11px;font-size:10px}}
@media(max-width:760px){.experience{height:945svh}.chapter.security-chapter{height:315svh}.security-narrative{left:6%;top:96px;width:88%;max-width:460px;transform:none}.security-narrative h2{font-size:clamp(35px,9vw,56px);margin-bottom:17px}.security-narrative .eyebrow{font-size:10px;margin-bottom:17px}.security-narrative .chapter-description{font-size:16px;line-height:1.5;margin-bottom:15px}.security-detail{margin-top:16px;padding-top:13px}.security-detail .case-label{font-size:10px}.security-detail>p{font-size:15px;margin-top:8px}.security-steps{font-size:10px;margin-top:19px;gap:17px}.security-viewer{left:6%;right:6%;top:auto;bottom:13%;width:88%;max-width:460px;transform:none;border-radius:5px}.security-viewer-bar{padding:10px 14px}.security-viewer-brand{font-size:22px}.security-viewer-mode{font-size:11px}.security-viewer-bottom{padding:12px 14px}.security-viewer-status{font-size:12px;margin-top:5px}.security-viewer-bottom .case-label{font-size:9px}.feed-label{font-size:9px;padding:20px 13px 12px}.feed-corners{inset:12px}.chapter-progress a{padding:8px 4px;min-width:28px}.chapter-progress a.is-active b{font-size:10px;margin-left:2px}}
@media(max-height:740px) and (max-width:760px){.security-narrative{top:70px}.security-narrative h2{font-size:31px}.security-narrative .chapter-description{font-size:14px}.security-detail{margin-top:12px;padding-top:10px}.security-detail>p{font-size:14px}.security-steps{margin-top:14px}.security-viewer{bottom:13%}.security-viewer-bar{padding-top:7px;padding-bottom:7px}.security-viewer-bottom{padding-top:8px;padding-bottom:8px}.security-viewer .case-label{display:none}}
@media(prefers-reduced-motion:reduce){.recording-track *{animation:none!important}}
.scene-stage #scene{z-index:0;isolation:isolate}.scene-vignette{z-index:1}
.living-office{mask-image:linear-gradient(90deg,transparent,black 4%,black 94%,transparent)}
.ambient-paused .living-office{transition:none!important}
.security-feed video{position:absolute;inset:0}.security-feed .entrance-feed{visibility:hidden}.security-viewer[data-mode=playback] .workplace-feed{visibility:hidden}.security-viewer[data-mode=playback] .entrance-feed{visibility:visible}
.experience{height:1185svh}.chapter.access-chapter{height:240svh}
.security-enhanced #security .chapter-copy a{visibility:hidden}
/* Chapter navigation lands on the settled, animated workplace view. */
#connection{scroll-margin-top:calc(-92px - 3svh)}
@media(min-width:761px) and (max-width:980px){.desktop-nav,.site-header>.contact-button{display:none}.mobile-menu-button{display:flex;flex-direction:column;gap:5px;background:transparent;border:0;padding:8px 0 8px 8px;width:28px}.mobile-menu-button span{display:block;width:20px;height:1px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;position:absolute;top:86px;right:5%;left:5%;z-index:31;flex-direction:column;background:#f6f8f1;border:1px solid #bdcbb8;padding:15px 22px;border-radius:6px;box-shadow:0 12px 30px #1b31221a}.mobile-nav a,.mobile-nav button{font-size:16px;padding:14px 0;border:0;border-bottom:1px solid #d3ddce;background:none;text-align:left}}
@media(max-width:760px){.security-viewer{bottom:max(100px,13%)}}
@media(max-width:760px){.security-narrative[data-stage="1"] .security-detail,.security-narrative[data-stage="2"] .security-detail{display:none}}
@media(max-width:760px) and (max-height:740px){.security-narrative[data-stage="1"] .security-steps,.security-narrative[data-stage="2"] .security-steps{display:none}}
@media(min-width:761px) and (max-height:600px){.security-narrative h2{font-size:34px;margin-bottom:16px}.security-narrative .eyebrow{margin-bottom:15px}.security-narrative .chapter-description{font-size:14px;line-height:1.5;margin-bottom:18px}.security-detail{margin-top:16px;padding-top:13px}.security-detail>p{font-size:14px;margin-top:9px}.security-steps{margin-top:20px}.security-viewer{width:38%}.security-viewer-bar{padding:10px 18px}.security-viewer-bottom{padding:12px 18px}}


/* Ash Tech ordered source: access-control.css?v=pro-reader-6 */
/* Adds no chapter height or global scene rules: root choreography owns them. */
.access-render {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
}

.access-enhanced #access .chapter-copy {
  opacity: 0 !important;
  pointer-events: none;
}

/* Preserve semantic fallback text without creating invisible focus targets. */
.access-enhanced #access .chapter-copy :is(a, button) {
  visibility: hidden;
}

.access-narrative {
  position: absolute;
  top: 50%;
  left: 5.1%;
  width: 28%;
  max-width: 490px;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none;
  color: var(--ink, #263b40);
}

.access-narrative h2 {
  margin: 0 0 25px;
  font-size: clamp(36px, 3.9vw, 64px);
  font-weight: 450;
  line-height: 1.04;
  letter-spacing: -.055em;
}

.access-narrative .chapter-description {
  max-width: 360px;
  margin: 0;
  color: #52686b;
}

.access-state {
  max-width: 370px;
  margin-top: 30px;
  padding-top: 21px;
  border-top: 1px solid #adbfc0;
}

.access-state .case-label {
  display: block;
  font-size: 10px;
  letter-spacing: .065em;
  line-height: 1.5;
}

.access-state p {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 13px 0 0;
  font-size: 17px;
  line-height: 1.5;
  color: #385658;
}

.access-state-dot {
  position: relative;
  top: -1px;
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: #90a3a3;
}

.access-narrative[data-confirmed="true"] .access-state-dot {
  background: #557b6c;
}

.access-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 28px;
  font-family: var(--mono, monospace);
  font-size: 10px;
  line-height: 1.5;
  color: #819596;
}

.access-steps .is-active { color: #294c48; }

.access-static-note {
  max-width: 360px;
  font-size: 12px;
  line-height: 1.6;
  color: #6b8183;
}

@media (min-width: 761px) and (max-width: 1150px) {
  .access-narrative { width: 28%; }
  .access-narrative h2 { font-size: clamp(35px, 4.3vw, 46px); }
  .access-narrative .chapter-description { font-size: 16px; line-height: 1.5; }
  .access-state p { font-size: 16px; }
  .access-steps { gap: 9px 13px; font-size: 9px; }
}

@media (max-width: 760px) {
  .access-narrative {
    top: 96px;
    left: 6%;
    width: 88%;
    max-width: 460px;
    transform: none;
  }
  .access-narrative .eyebrow {
    margin-bottom: 17px;
    font-size: 10px;
  }
  .access-narrative h2 {
    margin-bottom: 17px;
    font-size: clamp(35px, 9vw, 56px);
  }
  .access-narrative .chapter-description {
    max-width: 350px;
    font-size: 16px;
    line-height: 1.5;
  }
  .access-state {
    margin-top: 18px;
    padding-top: 13px;
  }
  .access-state .case-label { font-size: 9px; }
  .access-state p { margin-top: 7px; font-size: 14px; }
  .access-steps { display: none; }
}

@media (max-width: 760px) and (max-height: 700px) {
  .access-narrative { top: 70px; }
  .access-narrative .eyebrow { margin-bottom: 14px; font-size: 9px; }
  .access-narrative h2 { margin-bottom: 14px; font-size: 31px; line-height: 1.03; }
  .access-narrative .chapter-description { font-size: 14px; line-height: 1.45; }
  .access-state { margin-top: 15px; padding-top: 10px; }
  .access-state p { font-size: 13px; margin-top: 6px; }
}

@media (min-width: 761px) and (max-height: 600px) {
  .access-narrative h2 { font-size: 34px; margin-bottom: 16px; }
  .access-narrative .eyebrow { margin-bottom: 15px; }
  .access-narrative .chapter-description { font-size: 14px; line-height: 1.5; }
  .access-state { margin-top: 16px; padding-top: 12px; }
  .access-state p { font-size: 14px; margin-top: 8px; }
  .access-steps { margin-top: 18px; }
}

/* Keep the scene caption on the pale copy area during dark hardware close-ups. */
@media (min-width: 761px) and (min-aspect-ratio: 101/100) {
  .access-enhanced .scene-caption { left: 5.1%; right: auto; }
}

@media (min-width: 761px) {
  .access-enhanced .scene-vignette {
    background: linear-gradient(90deg, #dfe5e5 0%, #dfe5e5 27%, #dfe5e500 35%);
  }
  .access-narrative .chapter-description { font-size: clamp(15px, 1.2vw, 18px); }
  .access-state p { font-size: 15px; }
  .access-narrative[data-shot="context"] {
    top: 7%; width: 38%; transform: none;
  }
  .access-narrative[data-shot="context"] .access-state {
    margin-top: 18px; padding-top: 12px;
  }
  .access-narrative[data-shot="context"] h2 { margin-bottom: 18px; }
  .access-enhanced:has(.access-narrative[data-shot="context"]) .scene-vignette {
    background: linear-gradient(180deg, #f0f1ee66, transparent 45%);
  }
  .access-enhanced:has(.access-narrative[data-shot="context"]) .scene-caption {
    opacity: 0;
  }
}
/* Make room for the closing chapter as it enters the viewport. */
.access-enhanced:has(.access-narrative[data-ending="true"]) .scene-caption {
  opacity: 0;
}
/* The phone already names the current method above the image. */
@media (max-width: 760px) {
  .access-enhanced .scene-caption { display: none; }
}
@media (max-width: 360px) {
  .chapter-progress a.is-active b { display: none; }
}


/* Ash Tech ordered source: tablet-story.css?v=access-quality-1 */
/* Load after access-control.css. Portrait tablets share the phone's stacked
   composition, while every player keeps its existing projection and timeline. */
@media (min-width: 761px) and (max-width: 1150px) and (max-aspect-ratio: 1/1) {
  .scene-stage #scene {
    top: 48%;
    bottom: 7%;
    mask-image: linear-gradient(transparent 0%, black 12%, black 90%, transparent 100%);
  }

  .scene-vignette { background: none; }
  .site-header { padding-inline: 6%; }

  .chapter {
    align-items: flex-start;
    padding: clamp(84px, 10svh, 110px) 6% 0;
    min-height: 0;
  }

  .chapter-copy {
    width: 100%;
    max-width: 640px;
  }

  .helpdesk-narrative,
  .security-narrative,
  .access-narrative {
    top: clamp(84px, 10svh, 110px);
    left: 6%;
    width: 88%;
    max-width: 640px;
    transform: none;
  }

  .experience .eyebrow {
    font-size: 11px;
    letter-spacing: .055em;
    margin-bottom: 16px;
  }

  .hero h1 {
    font-size: clamp(46px, 6.1vw, 58px);
    line-height: 1.04;
    white-space: normal;
    margin-bottom: 18px;
  }

  .chapter h2,
  .helpdesk-narrative h2,
  .security-narrative h2,
  .access-narrative h2 {
    font-size: clamp(40px, 5.5vw, 50px);
    margin-bottom: 18px;
  }

  .experience .chapter-description,
  .hero .chapter-description {
    max-width: 520px;
    font-size: 17px;
    line-height: 1.5;
    margin-bottom: 16px;
  }

  .hero-services,
  .hero-bottom { display: none; }

  .chapter-tags { margin-bottom: 18px; }
  .story-replay { margin-top: 18px; }

  .support-editorial,
  .security-detail,
  .access-state {
    max-width: 460px;
    margin-top: 18px;
    padding-top: 14px;
  }

  .support-editorial > p,
  .security-detail > p,
  .access-state > p {
    font-size: 17px;
    line-height: 1.5;
    margin: 10px 0 8px;
  }

  .support-editorial.resolved > p { font-size: 21px; }
  .support-editorial-note { font-size: 12px; }
  .support-editorial .case-label,
  .security-detail .case-label,
  .access-state .case-label { font-size: 10px; }

  .security-steps,
  .access-steps {
    font-size: 10px;
    margin-top: 18px;
    gap: 18px;
  }

  .security-narrative[data-stage="1"] .security-detail,
  .security-narrative[data-stage="2"] .security-detail { display: none; }

  /* Keep the feed below the copy and above the chapter controls. Its width is
     also height-limited so near-square tablets retain the full composition. */
  .security-viewer {
    left: 50%;
    right: auto;
    top: auto;
    bottom: max(112px, 11svh);
    width: min(78%, 590px, calc(72svh - 256px));
    max-width: none;
    transform: translateX(-50%);
    border-radius: 6px;
  }

  .security-viewer-bar { padding: 10px 14px; }
  .security-viewer-brand { font-size: 22px; }
  .security-viewer-mode { font-size: 11px; }
  .security-viewer-bottom { padding: 12px 14px; }
  .security-viewer-status { font-size: 12px; margin-top: 5px; }
  .security-viewer-bottom .case-label { font-size: 9px; }
  .feed-label { font-size: 9px; padding: 20px 13px 12px; }
  .feed-corners { inset: 12px; }

  .chapter-progress {
    left: 6%;
    right: 17%;
    bottom: 20px;
    justify-content: space-between;
    gap: 4px;
  }

  .chapter-progress a {
    min-width: 36px;
    min-height: 44px;
    justify-content: center;
    gap: 0;
    padding: 8px 6px;
  }

  .chapter-progress b { display: none; }
  .chapter-progress a.is-active b { display: block; margin-left: 7px; font-size: 11px; }
  .chapter-progress a span { font-size: 11px; }
  .scene-control { right: 6%; bottom: 22px; }
  .scene-control button { width: 40px; height: 40px; }
  .scene-caption { left: 6%; right: auto; bottom: 83px; font-size: 10px; }
  .scene-fallback { left: 6%; right: auto; top: 65%; }
  .scene-fallback p { font-size: 34px; }

  @media (max-height: 880px) {
    .site-header { height: 82px; }
    .hero h1 { font-size: 46px; }
    .chapter h2,
    .helpdesk-narrative h2,
    .security-narrative h2,
    .access-narrative h2 { font-size: 38px; margin-bottom: 15px; }

    .experience .chapter-description,
    .hero .chapter-description { font-size: 16px; }

    .support-editorial,
    .security-detail,
    .access-state { margin-top: 12px; padding-top: 10px; }

    .support-editorial > p,
    .security-detail > p,
    .access-state > p { font-size: 16px; margin: 8px 0 6px; }

    .support-editorial.resolved > p { font-size: 19px; }
    .support-editorial-note,
    .security-steps,
    .access-steps { display: none; }
  }
}


/* Ash Tech ordered source: connected-chapters.css?v=mobile-3 */
/* New chapters extend the approved story while retaining its shared stage. */
body .experience [data-motion-held]{opacity:var(--motion-held-opacity)!important;visibility:visible!important;pointer-events:none!important}
#scene>[data-motion-held]{z-index:8!important}
.experience{height:1785svh}
.chapter#cabling{height:210svh}
.chapter#voip{height:180svh}
.chapter#coverage{height:210svh}
.infrastructure-render{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none}
.in-hardware-chapter .monitor-interface{visibility:hidden}
.infrastructure-enhanced .chapter-copy{opacity:0!important;pointer-events:none}
.infrastructure-enhanced[data-hardware-story="cabling"] #cabling .chapter-copy,
.infrastructure-enhanced[data-hardware-story="voip"] #voip .chapter-copy,
.coverage-enhanced #coverage .chapter-copy{opacity:0!important;pointer-events:none}
.infrastructure-enhanced[data-hardware-story="cabling"] #cabling .chapter-copy a,
.infrastructure-enhanced[data-hardware-story="voip"] #voip .chapter-copy a,
.coverage-enhanced #coverage .chapter-copy button{visibility:hidden}
.infrastructure-narrative,.coverage-narrative{position:absolute;left:5.1%;top:50%;transform:translateY(-50%);width:31%;max-width:470px;opacity:0;pointer-events:none}
.infrastructure-narrative h2,.coverage-narrative h2{font-size:clamp(36px,3.9vw,64px);line-height:1.05;font-weight:450;letter-spacing:-.055em;margin:0 0 24px}
.infrastructure-narrative .chapter-description,.coverage-narrative .chapter-description{font-size:clamp(16px,1.25vw,19px);line-height:1.55;max-width:365px;margin:0;color:#52686b}
.infrastructure-state,.coverage-service{border-top:1px solid #adbfc0;padding-top:20px;margin-top:28px;max-width:345px}
.infrastructure-state p,.coverage-service p{font-size:17px;line-height:1.6;color:#385658;margin:12px 0 0}
.infrastructure-state .case-label,.coverage-service .case-label{font-size:11px;letter-spacing:.06em}
.infrastructure-steps{display:flex;gap:14px;margin-top:28px;max-width:250px}
.infrastructure-steps span{flex:1;border-top:1px solid #bac9c7;padding-top:10px;font:12px var(--mono);color:#819596}
.infrastructure-steps .is-active{border-color:#325c50;color:#244b42}
.infrastructure-enhanced .scene-vignette{background:linear-gradient(90deg,#dfe5e5 0%,#dfe5e5eb 26%,#dfe5e5a6 35%,transparent 48%)}
.infrastructure-enhanced .scene-caption,.coverage-enhanced .scene-caption{left:5.1%;right:auto}
.in-hardware-chapter .helpdesk-narrative,
.infrastructure-enhanced .security-narrative,
.infrastructure-enhanced .security-viewer,
.infrastructure-enhanced .access-narrative,
.coverage-enhanced .helpdesk-narrative,
.coverage-enhanced .security-narrative,
.coverage-enhanced .security-viewer,
.coverage-enhanced .access-narrative{opacity:0!important;pointer-events:none}
.chapter-progress{max-width:calc(100% - 180px);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;gap:3px;padding:5px 2px}
.chapter-progress::-webkit-scrollbar{display:none}
.chapter-progress a{flex:none;min-width:44px;min-height:44px;white-space:nowrap;padding:10px 8px;gap:7px}
.coverage-stage{position:absolute;inset:0;z-index:4;background:#dfe5e5;opacity:0;pointer-events:none;perspective:1400px;overflow:hidden}
.coverage-map-plane{position:absolute;width:95%;height:94%;left:24%;top:4%;transform-origin:52% 54%;transform-style:preserve-3d;will-change:transform,opacity;filter:drop-shadow(0 18px 26px #364d5022)}
.coverage-map{display:block;width:100%;height:100%;object-fit:contain}
.coverage-map-edge{position:absolute;inset:0;border-bottom:2px solid #b5c2bd;pointer-events:none;display:none}
.coverage-office{position:absolute;inset:0;transform-origin:68% 58%;will-change:transform,opacity}
.coverage-office img{width:100%;height:100%;object-fit:contain;object-position:80% center;mix-blend-mode:multiply}
.coverage-office span{position:absolute;right:9%;bottom:20%;font:11px var(--mono);color:#637b78;letter-spacing:.05em}
.coverage-map-wash{position:absolute;inset:0;background:linear-gradient(90deg,#dfe5e5 0%,#dfe5e5 27%,#dfe5e5d9 35%,transparent 51%),linear-gradient(0deg,#dfe5e5 0%,transparent 13%,transparent 86%,#dfe5e588 100%)}
.coverage-enhanced .scene-vignette{background:none}
.coverage-enhanced .scene-caption{display:none}
.coverage-narrative{top:10%;transform:none}
.coverage-service{margin-top:24px;padding-top:18px}
.coverage-actions{position:absolute;left:5.1%;top:0;bottom:auto;width:31%;max-width:390px;pointer-events:auto;color:#37514e}
.coverage-actions[hidden]{display:none}
.coverage-actions label{display:block;font-size:13px;margin-bottom:10px}
.coverage-enquiry-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.coverage-enquiry-row input{width:100%;background:#edf1edb3;border:1px solid #acbfba;border-radius:4px;min-height:46px;padding:12px 14px;font-size:16px;color:var(--ink)}
.coverage-enquire{border:0;background:var(--ink);border-radius:4px;padding:13px 15px;min-height:46px;color:#f0f4ef;font-size:14px;display:flex;gap:20px;align-items:center;justify-content:space-between;width:100%}
.coverage-enquire:hover{background:#31563d}
.coverage-action-note{font-size:12px;line-height:1.5;color:#69807b;margin:11px 0 17px}
.coverage-map-credit{font-size:11px;line-height:1.4;color:#627b75;text-decoration:underline;text-underline-offset:3px}
.coverage-ending .coverage-map-plane{opacity:.58!important}
.coverage-ending .scene-caption{display:none}
@media(min-width:981px) and (max-width:1400px){.desktop-nav{gap:15px;margin-right:5px}.desktop-nav a{font-size:12px}.site-header{gap:18px}.contact-button{gap:16px}}
@media(max-width:1100px){.chapter-progress b{font-size:11px}.chapter-progress a{gap:5px;padding-inline:7px}.infrastructure-narrative h2,.coverage-narrative h2{font-size:42px}.coverage-narrative{top:11%}.coverage-service{margin-top:18px;padding-top:12px}}
@media(max-height:760px) and (min-width:761px){.coverage-narrative{top:8%}.coverage-narrative h2{font-size:40px;margin-bottom:16px}.coverage-service{display:none}.coverage-action-note{margin-bottom:10px}}
@media(max-width:760px),(min-width:761px) and (max-width:1150px) and (max-aspect-ratio:1/1){
  .infrastructure-narrative,.coverage-narrative{left:6%;top:96px;width:88%;max-width:540px;transform:none}
  .infrastructure-narrative h2,.coverage-narrative h2{font-size:clamp(35px,7.5vw,52px);margin-bottom:17px}
  .infrastructure-narrative .eyebrow,.coverage-narrative .eyebrow{font-size:11px;margin-bottom:15px}
  .infrastructure-narrative .chapter-description,.coverage-narrative .chapter-description{font-size:16px;line-height:1.5;max-width:440px}
  .infrastructure-state{margin-top:18px;padding-top:13px;max-width:390px}
  .infrastructure-state p{font-size:15px;margin-top:8px}
  .infrastructure-steps{display:none}
  .infrastructure-enhanced .scene-vignette{background:none}
  .coverage-map-plane{width:125%;height:115%;left:-12.5%;top:-9%;transform-origin:center}
  .coverage-map-wash{background:linear-gradient(180deg,#dfe5e5 0%,transparent 12%,transparent 84%,#dfe5e5 100%)}
  .coverage-service{display:none}
  .coverage-actions{left:6%;bottom:auto;width:88%;max-width:540px}
  .coverage-actions label{font-size:12px;margin-bottom:8px}
  .coverage-enquiry-row{flex-direction:row;gap:8px}
  .coverage-enquiry-row input{min-width:0;width:48%;font-size:16px;padding:10px}
  .coverage-enquire{width:52%;font-size:12px;padding:11px 10px;gap:8px}
  .coverage-action-note{margin:7px 0 6px;font-size:11px}
  .coverage-map-credit{font-size:10px}
  .coverage-office span{display:none}
  .coverage-enhanced .scene-caption{display:none}
  .chapter-progress{right:18%;left:5%;max-width:none;justify-content:flex-start;gap:2px}
  .chapter-progress a{min-width:44px;min-height:44px;padding:9px 10px}
  .chapter-progress b{display:none}
  .chapter-progress a.is-active b{display:block;margin-left:4px;font-size:11px}
}
@media(max-width:760px) and (max-height:740px){
 .infrastructure-narrative,.coverage-narrative{top:70px}
 .infrastructure-narrative h2,.coverage-narrative h2{font-size:31px;margin-bottom:13px}
 .infrastructure-narrative .chapter-description,.coverage-narrative .chapter-description{font-size:14px;line-height:1.45}
 .infrastructure-state{margin-top:13px;padding-top:10px}
 .infrastructure-state p{font-size:14px}
 .coverage-action-note{display:none}
 .coverage-map-credit{display:block;margin-top:7px}
}
@media(prefers-reduced-motion:reduce){.coverage-map-plane,.coverage-office{will-change:auto}}

@media(max-height:850px) and (min-width:761px) and (min-aspect-ratio:1/1){.coverage-service{display:none}}


/* Ash Tech ordered source: mobile-polish.css?v=native-1 */
/* Measured compact layout; keeps the approved artwork and story intact. */
.compact-narrative{display:none}
@media(max-width:760px),(max-width:1024px) and (max-height:600px){html:not(.native-mobile) .scene-stage #scene:not(.is-ready){background-image:url('assets/mobile/cinema/0000.webp?v=mobile-1')}}
.mobile-menu-button,.scene-control button,.dialog-close{min-width:44px;min-height:44px}
.mobile-menu-button{align-items:center;justify-content:center;padding:10px}
.dialog-close{right:10px;top:8px}
form select,form textarea{font-size:16px}
.mobile-nav:not([hidden]){max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain}
.text-link{min-height:44px;align-items:center}
@media(max-width:1100px){
 .desktop-nav{display:none}.site-header{height:82px;padding-inline:5%;gap:10px}
 .mobile-menu-button{display:flex;flex-direction:column;gap:5px;background:none;border:0;flex:none}
 .mobile-menu-button span{width:20px;height:1px;background:var(--ink)}
 .mobile-nav:not([hidden]){display:flex;position:absolute;top:76px;left:5%;right:5%;z-index:31;flex-direction:column;background:#f6f8f1;border:1px solid #bdcbb8;padding:12px 22px;border-radius:6px;box-shadow:0 12px 30px #1b31221a}
 .mobile-nav a,.mobile-nav button{font-size:16px;min-height:44px;padding:12px 0;border:0;border-bottom:1px solid #d3ddce;background:none;text-align:left}
 .site-header>.contact-button{display:flex;margin-left:auto;min-height:44px}
}
.compact-story .scene-stage #scene{top:var(--story-visual-top,48%);bottom:82px;mask-image:linear-gradient(transparent,black 5%,black 96%,transparent)}
.compact-story .scene-overlay:after{height:78px}
.compact-story .scene-vignette{background:none}
.compact-story .chapters .chapter-copy{opacity:0!important;pointer-events:none}
.compact-story .chapters .chapter-copy :is(a,button){visibility:hidden}
.compact-story .compact-narrative{display:block;position:absolute;top:32px;left:6%;width:88%;max-width:640px;pointer-events:auto}
.compact-story .compact-narrative[hidden]{display:none}
.compact-story[data-story-chapter=top] .compact-narrative{top:98px}
.compact-story .compact-copy{width:100%;max-width:none}
.compact-story :is(.helpdesk-narrative,.security-narrative,.access-narrative,.access-narrative[data-shot=context],.infrastructure-narrative,.coverage-narrative){top:32px;left:6%;width:88%;max-width:640px;transform:none}
.compact-story :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.infrastructure-narrative,.coverage-narrative) h2{font-size:clamp(31px,7vw,44px);line-height:1.06;margin:0 0 14px}
.compact-story .compact-narrative h1{font-size:clamp(38px,9vw,60px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0 0 16px;white-space:normal}
.compact-story .experience .eyebrow{font-size:11px;line-height:1.45;margin-bottom:14px}
.compact-story .experience .chapter-description{font-size:16px;line-height:1.5;max-width:540px;margin:0}
.compact-story .compact-copy :is(.primary-button,.text-link){margin-top:18px;font-size:14px;min-height:44px}
.compact-story .chapter-tags{display:none}
.compact-story :is(.infrastructure-steps,.access-steps,.security-steps,.support-editorial-note,.scene-caption,.coverage-service){display:none}
.compact-story :is(.infrastructure-state,.access-state,.support-editorial,.security-detail){margin-top:16px;padding:12px 0 0;max-width:540px}
.compact-story :is(.infrastructure-state,.access-state,.support-editorial,.security-detail) .case-label{font-size:11px;line-height:1.4}
.compact-story :is(.infrastructure-state,.access-state,.support-editorial,.security-detail) p{font-size:15px;line-height:1.5;margin:6px 0 0}
.compact-story .security-narrative[data-stage="1"] .security-detail,.compact-story .security-narrative[data-stage="2"] .security-detail{display:none}
.compact-story .security-viewer{left:6%;right:auto;top:var(--story-visual-top,48%);bottom:auto;width:88%;max-width:640px;height:min(360px,var(--story-visual-space,300px));transform:none;display:flex;flex-direction:column;overflow:hidden}
.compact-story .security-viewer-bar{padding:8px 12px;flex:none}
.compact-story .security-feed{min-height:0;flex:1;aspect-ratio:auto;background:#263634}
.compact-story .security-feed video{object-fit:contain}
.compact-story .security-viewer-bottom{padding:9px 12px;flex:none}
.compact-story .security-viewer-bottom .case-label{display:none}
.compact-story .security-viewer-status{font-size:12px;line-height:1.4;margin:0}
.compact-story .feed-label{font-size:9px;padding:10px}
.compact-story .chapter-progress{left:5%;right:calc(5% + 56px);max-width:none;bottom:max(12px,env(safe-area-inset-bottom));gap:3px;padding:0;justify-content:flex-start}
.compact-story .chapter-progress a{min-width:44px;min-height:44px;padding:8px;flex:none;font-size:12px}
.compact-story .chapter-progress a span{font-size:11px}
.compact-story .chapter-progress b{display:none}
.compact-story .chapter-progress .is-active b{display:block;font-size:12px;margin-left:6px}
.compact-story .scene-control{bottom:max(12px,env(safe-area-inset-bottom));right:5%}
.compact-story .coverage-actions{left:6%;width:88%;max-width:540px}
.compact-story .coverage-actions label{font-size:13px}
.compact-story .coverage-enquiry-row input{font-size:16px;min-height:44px}
.compact-story .coverage-enquire{min-height:44px;font-size:12px}
@media(max-width:760px) and (max-height:680px){
 .compact-story[data-story-chapter=top] .compact-narrative{top:88px}
 .compact-story .compact-narrative h1{font-size:36px}
 .compact-story .experience .eyebrow{margin-bottom:10px}
 .compact-story :is(.infrastructure-state,.access-state,.support-editorial,.security-detail){margin-top:12px;padding-top:9px}
 .compact-story :is(.infrastructure-state,.access-state,.support-editorial,.security-detail) .case-label{display:none}
 .compact-story .coverage-action-note{display:none}
}
/* Short landscape phones keep the copy beside the scene. */
.compact-landscape .scene-stage #scene{left:46%;right:2%;top:16px;bottom:70px;mask-image:none}
.compact-landscape .compact-narrative,.compact-landscape :is(.helpdesk-narrative,.security-narrative,.access-narrative,.access-narrative[data-shot=context],.infrastructure-narrative,.coverage-narrative){left:4%;top:24px;width:39%;max-width:none}
.compact-landscape[data-story-chapter=top] .compact-narrative{top:78px}
.compact-landscape :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.infrastructure-narrative,.coverage-narrative) h2,.compact-landscape .compact-narrative h1{font-size:29px;line-height:1.03;margin-bottom:12px}
.compact-landscape .experience .eyebrow{font-size:10px;margin-bottom:10px}
.compact-landscape .experience .chapter-description{font-size:15px;line-height:1.4}
.compact-landscape :is(.infrastructure-state,.access-state,.support-editorial,.security-detail){display:none}
.compact-landscape .compact-copy :is(.primary-button,.text-link){margin-top:10px}
.compact-landscape .security-viewer{top:28px;left:48%;width:48%;height:calc(100% - 110px);max-height:none}
.compact-landscape .coverage-actions{top:auto!important;bottom:82px;left:49%;width:47%;padding:10px;background:#e5ebe9ee;border-radius:5px}
.compact-landscape .coverage-action-note{display:none}
.compact-landscape .coverage-map-credit{font-size:9px}
.compact-landscape .coverage-enquiry-row{gap:6px}
@media(max-width:360px){.service-list h3{font-size:22px}.closing h2{font-size:42px}.workflow-top{flex-wrap:wrap}.site-header .brand{font-size:27px}}


/* Ash Tech ordered source: mobile-scroll.css?v=smooth-2 */
/* Native, paused media follows ordinary document scrolling. No canvas uploads. */
.mobile-scroll #scene{overflow:hidden;background:#dfe5e5;mask-image:none!important}
.mobile-scroll #scene:not(.is-ready){background-image:none!important}
.mobile-scroll .mobile-render-window{position:absolute;left:0;top:0;overflow:hidden;pointer-events:none;contain:layout paint}
.mobile-scroll .mobile-render-window>video,.mobile-scroll .mobile-render-window>img{position:absolute;left:0;top:0;display:block;max-width:none;object-fit:fill;transform-origin:0 0}
.mobile-scroll .mobile-render-window>video{opacity:0}
.mobile-scroll .mobile-render-window.has-frame>video{opacity:1}
.mobile-scroll .mobile-render-window.has-frame>img{visibility:hidden}
.mobile-scroll .scene-vignette{background:none!important}
.mobile-scroll .scene-stage{background:#dfe5e5}
.mobile-scroll .scene-overlay:after{pointer-events:none}
.mobile-scroll .mobile-motion-status{position:absolute;left:6%;bottom:80px;font-size:12px;color:#52686b;pointer-events:auto;z-index:9;background:#e9eeeaeb;border-radius:4px;padding:7px 10px}
.mobile-scroll .mobile-motion-status[hidden]{display:none}
.mobile-scroll .mobile-motion-status button{font:inherit;margin-left:10px;min-height:32px;border:0;background:none;text-decoration:underline}
.mobile-scroll .security-feed .mobile-render-window{inset:0!important;width:100%!important;height:100%!important}
.mobile-scroll .security-feed .mobile-render-window>video,.mobile-scroll .security-feed .mobile-render-window>img{inset:0!important;width:100%!important;height:100%!important;object-fit:contain}
.mobile-scroll .security-viewer[hidden]{display:none}
.mobile-scroll .coverage-map-plane{filter:none}
.mobile-scroll .coverage-office img{mix-blend-mode:normal}
.mobile-scroll .hero-services,.mobile-scroll .hero-bottom{display:none}
.mobile-scroll .compact-copy .story-replay{display:inline-flex;margin:12px 16px 0 0;min-height:44px;align-items:center;font-size:14px}
.mobile-scroll .compact-story .compact-narrative{max-width:none}
.mobile-scroll .compact-story .compact-copy{max-width:none}
.mobile-scroll .compact-copy h2{font-weight:450;letter-spacing:-.055em}
.mobile-scroll .compact-story .coverage-narrative{max-width:none}
.mobile-scroll .compact-landscape .security-viewer{top:16px;left:46%;width:52%;height:calc(100% - 86px)}
.mobile-scroll .compact-landscape .mobile-motion-status{left:48%;bottom:72px}
@media(max-height:680px) and (max-width:760px){
 .mobile-scroll .compact-story:not(.compact-landscape)[data-story-chapter=top] .compact-narrative h1{font-size:34px}
 .mobile-scroll .compact-story:not(.compact-landscape) .compact-copy .primary-button{margin-top:12px}
 .mobile-scroll .compact-story:not(.compact-landscape) .access-state,
 .mobile-scroll .compact-story:not(.compact-landscape) .infrastructure-state{margin-top:10px;padding-top:8px}
}


/* Ash Tech ordered source: quality-mobile.css */
/* Native high-detail frame output shares the existing accessible chapter layout. */
body .experience [data-mobile-held]{opacity:var(--mobile-held-opacity)!important;visibility:visible!important;pointer-events:none!important}
.mobile-scroll .quality-mobile-window>.quality-mobile-image{position:absolute;left:0;top:0;display:block;max-width:none;transform-origin:0 0;opacity:0}
.mobile-scroll .quality-mobile-window.has-frame>.quality-mobile-image{opacity:1}
.mobile-scroll .quality-mobile-window.has-frame>img{visibility:hidden}


/* Ash Tech ordered source: desktop-reliability.css?v=desktop-1 */
/* If motion cannot load, the full service story remains readable and usable. */
.has-fallback .experience{height:auto}
.has-fallback .scene-stage{position:relative;height:min(60vw,640px);min-height:320px}
.has-fallback .scene-overlay,.has-fallback .scene-vignette{display:none!important}
.has-fallback .scene-fallback{inset:0;padding:6% 5.1%;background:linear-gradient(90deg,#dfe5e5 0%,#dfe5e5eb 25%,#dfe5e500 65%),url('assets/cinema/0093.webp?v=access-quality-1') 79% center/cover no-repeat}
.has-fallback .scene-fallback p{max-width:45%;font-size:clamp(28px,3.5vw,54px);line-height:1.08}
.has-fallback .chapters{margin-top:0}
.has-fallback .chapter{height:auto!important;min-height:0;padding:56px 5.1%;border-top:1px solid #c9d2ca}
.has-fallback .chapter-copy{width:100%;max-width:850px;opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto}
.has-fallback .chapter-description{max-width:620px}
.has-fallback .hero-bottom{display:none}


/* Ash Tech ordered source: brand.css?v=brand-1 */
.brand,.ash-wordmark{display:inline-flex;align-items:center;gap:.025em;white-space:nowrap;letter-spacing:-.045em;line-height:1;font-weight:650}
.brand .ash-mark,.ash-wordmark .ash-mark{display:block;flex:none;width:.92em;height:.874em;fill:currentColor;transform:translateY(-.025em)}
.brand>span,.ash-wordmark>span{color:inherit}
.workspace-wordmark>.ash-wordmark{color:inherit}
.support-wordmark .ash-mark{display:block;width:1em;height:.95em;fill:currentColor;margin-inline:auto}
.closing-mark .ash-mark{display:block;width:.82em;height:.78em;fill:currentColor}


/* Ash Tech ordered source: intro.css?v=intro-2 */
/* The opening uses only the existing vector logo and composited motion. */
html.intro-active{overflow:hidden;scrollbar-gutter:stable}
.intro-active .site-header .brand{visibility:hidden}
#brand-intro{display:none}
.intro-active #brand-intro{display:block!important;position:fixed;inset:0;z-index:1000;isolation:isolate;color:#182823}
.intro-backdrop{position:absolute;inset:0;background:#dfe5e5}
.intro-logo{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);transform-origin:0 0;font-size:clamp(46px,7.5vw,96px);z-index:2;will-change:transform}
.intro-logo .ash-mark{overflow:visible}
.intro-stroke-one{animation:intro-stroke-one .85s cubic-bezier(.2,.8,.2,1) both}
.intro-stroke-two{animation:intro-stroke-two 1s .15s cubic-bezier(.2,.8,.2,1) both}
.intro-name{animation:intro-name .7s .45s cubic-bezier(.2,.8,.2,1) both}
.intro-caption{position:absolute;top:calc(46% + 72px);left:20px;right:20px;text-align:center;margin:0;color:#607571;font-size:14px;letter-spacing:.02em;animation:intro-caption .7s .7s both}
.intro-rule{position:absolute;top:calc(46% + 118px);left:calc(50% - 42px);width:84px;height:1px;background:#b6c5c0;overflow:hidden}
.intro-rule:after{content:'';display:block;width:35%;height:100%;background:#486459;animation:intro-progress 1.5s ease-in-out infinite}
.intro-skip{position:absolute;right:4.5%;bottom:28px;min-height:44px;padding:8px 2px;border:0;background:transparent;color:#536960;font-size:12px;letter-spacing:.025em;display:flex;align-items:center;gap:20px}
.intro-skip span{font-size:17px}
.intro-skip:focus-visible{outline:2px solid #486459;outline-offset:6px}
.intro-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes intro-stroke-one{from{opacity:0;transform:translate(-7px,12px)}to{opacity:1;transform:translate(0,0)}}
@keyframes intro-stroke-two{from{opacity:0;transform:translate(8px,-11px)}to{opacity:1;transform:translate(0,0)}}
@keyframes intro-name{from{opacity:0;transform:translateX(.12em)}to{opacity:1;transform:translateX(0)}}
@keyframes intro-caption{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-progress{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}
@media(max-width:760px){.intro-caption{top:calc(46% + 55px);font-size:12px}.intro-rule{top:calc(46% + 94px)}.intro-skip{right:6%;bottom:20px}}
@media(prefers-reduced-motion:reduce){#brand-intro *{animation:none!important}}


/* Ash Tech ordered source: phone-story.css */
/* Phone editorial layout. Scoped to the phone renderer; desktop stays intact. */
.phone-refined{--phone-gutter:6%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.phone-refined .compact-narrative,.phone-refined :is(.helpdesk-narrative,.security-narrative,.access-narrative,.access-narrative[data-shot=context],.infrastructure-narrative,.coverage-narrative){left:var(--phone-gutter);width:88%;top:26px;max-width:none}
.phone-refined[data-story-chapter=top] .compact-narrative{top:98px}
.phone-refined .experience .eyebrow{font-size:12px;font-weight:500;letter-spacing:.055em;line-height:1.4;margin:0 0 16px;color:#38544d}
.phone-refined .compact-narrative h1{font-size:clamp(38px,10.2vw,46px);line-height:1.04;font-weight:500;letter-spacing:-.048em;margin:0 0 18px}
.phone-refined :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.infrastructure-narrative,.coverage-narrative) h2{font-size:clamp(34px,9.2vw,42px);line-height:1.07;font-weight:500;letter-spacing:-.042em;margin:0 0 16px;text-wrap:balance}
.phone-refined .experience .chapter-description{font-size:16.5px;line-height:1.5;letter-spacing:-.006em;max-width:36ch;margin:0;color:#415e58}
.phone-refined :is(.infrastructure-state,.access-state,.support-editorial,.security-detail){margin-top:16px;padding-top:12px;border-color:#b0c2bc}
.phone-refined :is(.infrastructure-state,.access-state,.support-editorial,.security-detail) p{font-size:15px;line-height:1.45;margin-top:7px;color:#36584d}
.phone-refined :is(.infrastructure-state,.access-state) .case-label{display:none}
.phone-refined :is(.support-editorial,.security-detail) .case-label{font-size:11px;line-height:1.4;color:#526d63}
.phone-refined .compact-copy :is(.primary-button,.text-link){font-size:14px;line-height:1.4;min-height:46px;margin-top:20px}
.phone-refined .scene-stage #scene{bottom:76px!important;mask-image:linear-gradient(to bottom,transparent,black 3%,black 96%,transparent)!important}
.phone-refined .scene-overlay:after{height:80px;background:linear-gradient(transparent,#dfe5e5 25%)}
.phone-refined .chapter-progress{bottom:max(10px,env(safe-area-inset-bottom));gap:4px;scrollbar-width:none;overscroll-behavior-x:contain}
.phone-refined .chapter-progress::-webkit-scrollbar{display:none}
.phone-refined .chapter-progress a{gap:6px;min-height:48px;min-width:auto;padding:10px 12px;white-space:nowrap;flex:none;color:#5b7168}
.phone-refined .chapter-progress a span{font-size:10px}
.phone-refined .chapter-progress b,.phone-refined .chapter-progress .is-active b{display:block;font-size:12px;font-weight:500;margin:0}
.phone-refined .chapter-progress a.is-active{color:#182f25;border-color:#224e3b}
.phone-refined .scene-control{bottom:max(12px,env(safe-area-inset-bottom))}
.phone-refined .scene-control button{width:46px;height:46px;background:#dfe5e5}
.phone-refined .mobile-motion-status{font-size:13px;bottom:78px}
.phone-refined .coverage-actions{width:88%;max-width:none}
.phone-refined .coverage-actions label{font-size:14px}
.phone-refined .coverage-enquire{font-size:14px;min-height:46px}
.phone-refined .coverage-action-note{font-size:12px;line-height:1.5}
.phone-refined .coverage-map-credit{font-size:11px}
.phone-refined.compact-landscape :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.access-narrative[data-shot=context],.infrastructure-narrative,.coverage-narrative){left:4%;top:24px;width:40%}
.phone-refined.compact-landscape[data-story-chapter=top] .compact-narrative{top:78px}
.phone-refined.compact-landscape :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.infrastructure-narrative,.coverage-narrative) h2,.phone-refined.compact-landscape .compact-narrative h1{font-size:clamp(28px,3.5vw,32px);line-height:1.06;margin-bottom:12px}
.phone-refined.compact-landscape .experience .eyebrow{font-size:11px;margin-bottom:12px}
.phone-refined.compact-landscape .experience .chapter-description{font-size:15px;line-height:1.4}
.phone-refined.compact-landscape .scene-stage #scene{left:46%;right:2%;top:16px!important;bottom:76px!important;mask-image:none!important}
.phone-refined.compact-landscape .coverage-actions{left:49%;width:47%}
@media(max-height:760px) and (max-width:760px){
 .phone-refined .experience .chapter-description{font-size:15.5px}
 .phone-refined :is(.compact-narrative,.helpdesk-narrative,.security-narrative,.access-narrative,.infrastructure-narrative,.coverage-narrative) h2{font-size:34px}
 .phone-refined .compact-narrative h1{font-size:38px}
 .phone-refined .experience .eyebrow{margin-bottom:12px}
}

.phone-refined:not(.compact-landscape) .coverage-enquiry-row{display:grid;grid-template-columns:1fr;gap:10px}
.phone-refined:not(.compact-landscape) .coverage-enquiry-row input{min-height:46px}
.phone-refined:not(.compact-landscape) .coverage-enquire{width:100%;justify-content:space-between}

.phone-refined.compact-landscape[data-story-chapter=top] .scene-stage #scene{top:82px!important}

.phone-refined:not(.compact-landscape) .coverage-enquiry-row input{width:100%}

.phone-refined.compact-landscape .coverage-actions{left:4%;width:40%;padding:0;background:none}
.phone-refined.compact-landscape .coverage-enquiry-row{flex-direction:row;gap:8px}
.phone-refined.compact-landscape .coverage-enquiry-row input{width:42%;min-width:0;padding:10px}
.phone-refined.compact-landscape .coverage-enquire{width:58%;padding:10px;font-size:12px;gap:6px}
.phone-refined.compact-landscape .coverage-actions label{font-size:12px;margin-bottom:6px}

/* A one-pixel1200px interface rule becomes subpixel after projection. */
.phone-refined .monitor-interface :is(.diagnostic-row,.file-row,.monitor-toolbar){border-bottom-width:3px}
.phone-refined .monitor-interface .screen-session{border-top-width:3px}
.phone-refined .monitor-interface .document-rule{height:3px}


/* Ash Tech ordered source: desktop-story.css?v=transition-fix-3 */
/* A single framed narrative stays clear of the fixed chapter controls. */
.staged-story:not(.has-fallback) .chapters .chapter-copy {
  opacity:0!important;
  pointer-events:none;
}
.staged-story:not(.has-fallback) .chapters .chapter-copy :is(a,button) { visibility:hidden; }
.staged-story .compact-narrative {
  display:block;
  position:absolute;
  top:50%;
  left:5.1%;
  width:39%;
  max-width:500px;
  max-height:calc(100% - 208px);
  transform:translateY(-50%);
  pointer-events:auto;
}
.staged-story .compact-narrative[hidden] { display:none; }
.staged-story .compact-copy {
  width:100%;
  animation:desktop-copy-enter 220ms ease-out both;
}
.staged-story .compact-copy h1 {
  font-size:clamp(50px,5.2vw,84px);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.066em;
  margin:0 0 26px;
  white-space:nowrap;
}
.staged-story .compact-copy h1 span { color:#60766b; }
.staged-story .compact-copy h2 {
  font-size:clamp(40px,4.35vw,70px);
  font-weight:450;
  line-height:1.04;
  letter-spacing:-.055em;
  margin:0 0 25px;
}
.staged-story .compact-copy[data-chapter=together] h2 span { color:#536f73; }
@keyframes desktop-copy-enter {
  from { opacity:0;transform:translateY(10px); }
  to { opacity:1;transform:translateY(0); }
}
@media(min-width:761px) and (max-width:1050px) {
  .staged-story .compact-narrative { width:41%; }
  .staged-story .compact-copy h2 { font-size:46px; }
}
@media(min-width:761px) and (max-height:700px) {
  .staged-story .compact-copy h1 { font-size:54px; }
  .staged-story .compact-copy h2 { font-size:44px; }
  .staged-story .compact-copy .eyebrow { margin-bottom:16px; }
  .staged-story .compact-copy .chapter-description { margin-bottom:20px; }
  .staged-story .compact-copy .hero-services { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .staged-story .compact-copy { animation:none; }
}


/* Ash Tech ordered source: seo-accessibility.css?v=seo-audit-20261022-2 */
/* Readability correction for the service and AI workflow sections only.
   #50604f text has contrast ratios of 6.296:1 on #f7f8f4,
   5.515:1 on #e4ebdf, and 5.864:1 on #edf1e7.
   These backgrounds are defined in style.css; layout and motion are unchanged. */
#services .section-heading > p:last-child,
#services .service-number,
#services .service-summary,
#ai-demo .ai-intro > p:not(.eyebrow),
#ai-demo .ai-intro > .demo-label,
#ai-demo .workflow-top > span,
#ai-demo #workflow-status,
#ai-demo .workflow-step .mono,
#ai-demo .workflow-step p {
  color: #50604f;
}


/* Ash Tech ordered source: mobile-first.css?v=early-hero-1 */
/* The phone's first editorial composition exists before the motion modules load. */
html:not(.mobile-scroll) .scene-overlay > [data-ssr-hero]{display:none!important}
html.mobile-scroll body.phone-refined[data-story-chapter="top"]{
 --story-visual-top:384px;
 --story-visual-space:max(60px,calc(100svh - 460px));
}
@media(max-height:759px){
 html.mobile-scroll body.phone-refined[data-story-chapter="top"]{
  --story-visual-top:338px;
  --story-visual-space:max(60px,calc(100svh - 414px));
 }
}

/* Native chapter links/text remain usable if the story module is delayed or fails
   to load. The first visual copy occupies the first screen, rather than covering
   the remaining document. Story initialization restores the existing sticky UI. */
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) body:not(.has-fallback) .scene-overlay{
 position:absolute;
 top:0;
 width:100%;
 margin-top:0;
}
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) .chapters .chapter-copy{
 opacity:1!important;
 pointer-events:auto;
}
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) .chapters .chapter-copy :is(a,button){visibility:visible}
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) body:not(.has-fallback) #top .chapter-copy{
 opacity:0!important;
 pointer-events:none;
}
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) body:not(.has-fallback) #top .chapter-copy :is(a,button){visibility:hidden}
html.mobile-scroll:not([data-mobile-story="scroll-ready"]) .scene-control{visibility:hidden}

/* Match the existing short-landscape composition before its JS class is applied. */
@media(min-aspect-ratio:1/1) and (max-height:600px){
 html.mobile-scroll body.phone-refined[data-story-chapter="top"]{
  --story-visual-top:16px;
  --story-visual-space:max(60px,calc(100svh - 92px));
 }
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] [data-ssr-hero]{left:4%;top:78px;width:40%}
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] [data-ssr-hero] h1{
  font-size:clamp(28px,3.5vw,32px);
  line-height:1.06;
  margin-bottom:12px;
 }
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] [data-ssr-hero] .eyebrow{font-size:11px;margin-bottom:12px}
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] [data-ssr-hero] .chapter-description{font-size:15px;line-height:1.4}
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] [data-ssr-hero] :is(.primary-button,.text-link){margin-top:20px}
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] .scene-stage #scene{
  left:46%;right:2%;top:82px!important;bottom:76px!important;mask-image:none!important;
 }
}

/* Explicit runtime fallback restores the original accessible chapter document. */
html.mobile-scroll body.has-fallback .scene-overlay > [data-ssr-hero]{display:none!important}
html.mobile-scroll body.has-fallback .chapters .chapter-copy{opacity:1!important;pointer-events:auto}
html.mobile-scroll body.has-fallback .chapters .chapter-copy :is(a,button){visibility:visible}

/* The visible SSR title is decorative; the original chapter retains the one H1. */
html.mobile-scroll .phone-refined .compact-narrative .initial-hero-heading{
 font-size:clamp(38px,10.2vw,46px);
 line-height:1.04;
 font-weight:500;
 letter-spacing:-.048em;
 margin:0 0 18px;
 white-space:normal;
}
html.mobile-scroll .phone-refined .initial-hero-heading span{color:#60766b}
@media(max-height:760px) and (max-width:760px){
 html.mobile-scroll .phone-refined .compact-narrative .initial-hero-heading{font-size:38px}
}
@media(max-height:680px) and (max-width:760px){
 html.mobile-scroll .phone-refined:not(.compact-landscape) .compact-narrative .initial-hero-heading{font-size:34px}
}
@media(min-aspect-ratio:1/1) and (max-height:600px){
 html.mobile-scroll body.phone-refined.compact-story[data-story-chapter="top"] .compact-narrative .initial-hero-heading{
  font-size:clamp(28px,3.5vw,32px);
  line-height:1.06;
  margin-bottom:12px;
 }
}


/* Ash Tech ordered source: contact-form.css?v=enquiry-1 */
[data-enquiry] { color: var(--ink, #182823); }
[data-enquiry] .enquiry-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
[data-enquiry] .enquiry-field { min-width: 0; margin: 0 0 18px; }
[data-enquiry] .enquiry-field > label { display: block; margin: 0 0 8px; font-size: 14px; font-weight: 500; }
[data-enquiry] :is(input:not([type="hidden"]),select,textarea) { box-sizing: border-box; width: 100%; min-width: 0; display: block; margin: 0; border: 1px solid #aab9b0; border-radius: 4px; padding: 12px; color: #182823; background: #e9eeea; font: inherit; font-size: 16px; line-height: 1.45; }
[data-enquiry] textarea { resize: vertical; min-height: 126px; }
[data-enquiry] :is(input,select,textarea):focus-visible { outline: 2px solid #315b48; outline-offset: 2px; }
[data-enquiry] [aria-invalid="true"] { border-color: #a3342a; }
[data-enquiry] .enquiry-hint { margin: 0 0 14px; color: #50665b; font-size: 13px; line-height: 1.6; }
[data-enquiry] .enquiry-hint a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
[data-enquiry] .enquiry-field-error { display: block; color: #862b24; font-size: 13px; line-height: 1.5; margin-top: 5px; }
[data-enquiry] .enquiry-field-error:empty { display: none; }
[data-enquiry] .enquiry-errors { border: 1px solid #a3342a; background: #fff3ed; color: #70251e; border-radius: 4px; padding: 14px 16px; margin-bottom: 20px; font-size: 14px; line-height: 1.5; }
[data-enquiry] .enquiry-errors[hidden] { display: none; }
[data-enquiry] .enquiry-errors p { margin: 0; }
[data-enquiry] .enquiry-errors ul { margin: 8px 0 0; padding-left: 20px; }
[data-enquiry] .enquiry-errors a { color: inherit; text-underline-offset: 3px; }
[data-enquiry] .enquiry-errors:focus { outline: 2px solid #862b24; outline-offset: 3px; }
[data-enquiry] .enquiry-status { color: #315b48; font-size: 14px; line-height: 1.6; margin: 16px 0 0; min-height: 0; }
[data-enquiry] .enquiry-status[data-state="error"] { color: #862b24; }
[data-enquiry] .enquiry-status:empty { margin: 0; }
[data-enquiry] .enquiry-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-enquiry] button[type="submit"] { min-height: 48px; font: inherit; cursor: pointer; }
[data-enquiry] button[type="submit"]:focus-visible { outline: 2px solid #315b48; outline-offset: 3px; }
[data-enquiry] button[type="submit"]:disabled { cursor: wait; opacity: .7; }
[data-enquiry][aria-busy="true"] :is(input,select,textarea) { opacity: .8; }
@media (max-width: 520px) { [data-enquiry] .enquiry-row { grid-template-columns: minmax(0,1fr); gap: 0; } }


/* Ash Tech ordered source: site-updates.css?v=enquiry-1 */
.business-details{display:flex;flex-wrap:wrap;gap:12px 24px;width:100%;font-size:13px;line-height:1.6;color:#c8d7c9}
.business-details a,.footer-links a{text-decoration:underline;text-underline-offset:4px}
.business-details a{min-height:32px;display:inline-flex;align-items:center}
.footer-links{display:flex;flex-wrap:wrap;gap:24px;font-size:13px;color:#e3ece2}
.contact-alternatives{font-size:14px;line-height:1.6;margin-top:24px}
.contact-alternatives a{text-decoration:underline;text-underline-offset:4px}
.analytics-consent{position:fixed;bottom:16px;left:16px;right:16px;z-index:1100;max-width:620px;padding:22px;background:#f4f6ef;color:#182823;border:1px solid #85988b;border-radius:8px;box-shadow:0 8px 36px #13271b33;font-size:15px;line-height:1.5}
.analytics-consent p{margin:0 0 16px}.analytics-consent a{text-decoration:underline}.analytics-consent>div{display:flex;gap:12px;flex-wrap:wrap}.analytics-consent button{border:1px solid #446151;border-radius:4px;background:#f4f6ef;color:#182823;padding:12px 18px;min-height:44px;font:inherit}.analytics-consent button:last-child{background:#182823;color:#fff}.privacy-preferences{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;min-height:44px}


/* Ash Tech ordered source: production-polish.css?v=production-1 */
/* Retain chapter state hooks without presenting a second navigation system. */
.experience .chapter-progress { display:none!important; }

/* Full source credit stays readable in the footer, outside the map composition. */
.coverage-actions .coverage-map-credit { display:none!important; }
footer .map-attribution {
 width:100%;
 margin:0;
 color:#b6c6b5;
 font-size:11px;
 line-height:1.6;
}
footer .map-attribution a {
 text-decoration:underline;
 text-underline-offset:3px;
}

