@font-face{font-family:Bastardus;src:url('assets/BastardusSans.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--red:#bf2029;--red-ink:#9f1d26;--paper:#fdfdfc;--red-hover:#991923;--ink:#2b2722;--muted:#5f574e;--grey:#f0eeea;--line:#c6c1b8;--display:Bastardus,Arial,sans-serif;--body:Arial,Helvetica,sans-serif;--header-height:90px;--sticky-header-height:154px;--status-height:48px;--button-radius:5px}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:calc(var(--sticky-header-height) + 20px)}body{margin:0;padding-bottom:var(--status-height);color:var(--ink);background:var(--paper);font:18px/1.65 var(--body);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border-radius:var(--button-radius)}button:disabled{cursor:default}a{color:var(--red-ink);text-underline-offset:4px}button,a,input,textarea,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #1a5aab}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.16}h1{font-size:68px;letter-spacing:-.5px}h2{font-size:48px}h3{font-size:30px}h4{font-size:18px;line-height:1.5;margin:25px 0 12px}p{margin-top:16px}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}.icon{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.container{width:min(1320px,calc(100% - 96px));margin:auto}.section{padding:68px 0;border-bottom:1px solid var(--line);scroll-margin-top:0}.shaded{background:var(--grey)}.section-heading{margin-bottom:38px}.section-heading h2{margin-bottom:18px}.section-heading>p{font-size:21px;max-width:950px;line-height:1.55}.readable{max-width:850px}.note,.form-note,.small,.eyebrow{font-size:16px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:0;top:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:relative;display:block;width:auto;height:auto;padding:12px 20px;margin:0;overflow:visible;clip-path:none;white-space:normal;background:#fff;color:var(--red-ink);outline-offset:-4px}#main:focus{outline:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--red);color:#fff}.header-inner{width:min(1424px,calc(100% - 64px));margin:auto;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{color:#fff;display:flex;gap:10px;align-items:center;text-decoration:none;font:42px/1 var(--display);white-space:nowrap}.brand-door{width:36px;height:48px;background:currentColor;mask:url('assets/nx-door.svg') center/contain no-repeat;-webkit-mask:url('assets/nx-door.svg') center/contain no-repeat}#main-nav{display:flex;align-items:center;gap:25px}#main-nav a{font-size:18px;color:#fff;text-decoration:none;padding:12px 0;border-bottom:2px solid transparent;white-space:nowrap}#main-nav a:focus-visible,.site-header button:focus-visible,.brand:focus-visible,.status-line a:focus-visible{outline-color:#fff}.menu-toggle{display:none;border:0;color:#fff;background:none;padding:10px 12px;gap:10px;align-items:center}.status-line{position:fixed;inset:auto 0 0;z-index:25;background:var(--red);color:#fff;min-height:var(--status-height);display:flex;align-items:center}.status-inner{width:min(1424px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;line-height:1.5;padding:10px 0}.status-inner>span,.status-inner>a{display:flex;gap:12px;align-items:center}.status-inner a{color:#fff;text-decoration:none}.status-inner a:hover{text-decoration:underline}.status-inner .icon{width:20px;height:20px}.status-inner strong{font-weight:400}
.hero{padding-top:48px;padding-bottom:54px}.hero h1{font-size:clamp(48px,4.7vw,72px);white-space:normal}.hero-summary{font-size:26px;line-height:1.5;margin-top:18px}.hero-columns{display:grid;grid-template-columns:1fr 1fr;gap:62px;margin-top:36px;align-items:start}.hero-intro{padding-top:5px}.hero-intro p{font-size:21px;line-height:1.6;max-width:590px;margin-top:0;margin-bottom:22px}.actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 22px;min-height:56px;border:2px solid transparent;text-decoration:none;font-size:18px;font-weight:600;line-height:1.4;border-radius:var(--button-radius)}.primary{background:var(--red);color:#fff}.primary:hover{background:var(--red-hover);border-color:var(--red-hover)}.secondary,.outline{background:transparent;border-color:var(--red);color:var(--red-ink)}.secondary:hover,.outline:hover{background:#f8e1e2}.text-link{display:inline-flex;align-items:center;gap:12px;border:0;background:none;color:var(--red-ink);padding:0;margin-top:20px;font-weight:600;font-size:18px;text-align:left;text-decoration:none;line-height:1.5}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.assistant{background:#eeebe6;border:1px solid #b8b0a5;border-left:5px solid var(--red);padding:25px 28px 23px}.assistant-heading{display:flex;gap:12px;align-items:center}.assistant-heading>.icon{color:var(--red-ink)}.assistant-heading h2{font-size:31px}.preview-label{font-size:16px;margin-left:auto;color:var(--muted)}.chat-log{font-size:18px;max-height:240px;overflow:auto;scrollbar-width:thin;margin-top:16px}.chat-log p{margin:0 0 15px}.chat-log .user-message{background:#dfd9d0;padding:10px 14px;margin-left:24px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 20px}.chat-suggestions button{border:1px solid #a59d91;background:transparent;padding:8px 12px;font-size:16px;line-height:1.4}.chat-suggestions button:hover{border-color:var(--red);color:var(--red-ink)}#chat-form{display:flex;background:#fff;border:1px solid #877d70;padding:5px}#chat-input{flex:1;width:100%;min-width:0;border:0;padding:9px 10px;font-size:18px;background:#fff;color:var(--ink)}#chat-form button{background:var(--red);color:#fff;width:48px;border:0;display:grid;place-items:center;flex-shrink:0}.chat-disclosure{font-size:16px;line-height:1.5;margin-top:13px;color:#5f574e}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}.service{border-top:2px solid #bcb6ac;padding:30px 0 32px}.service-title{display:flex;align-items:flex-start;gap:15px}.service-title>.icon{color:var(--red-ink);width:29px;height:29px;margin-top:3px}.service-title h3{font-size:31px}.service p{margin-top:18px;line-height:1.65}.hardware-row{display:flex;justify-content:space-between;align-items:center;gap:40px;border-top:2px solid #bcb6ac;padding-top:30px}.hardware-row p{max-width:820px}.hardware-row .text-link{min-width:180px;margin:0}.featured-work,.gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px}.website-feature img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border:1px solid #ada69d;background:#e2ded8}.website-feature h3{margin-top:22px;font-size:32px}.website-feature p{margin-top:12px}.website-feature>a:first-child{display:block}.website-feature>a:first-child:hover{outline:3px solid var(--red);outline-offset:3px}.portfolio-more{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:36px;padding-bottom:40px;border-bottom:1px solid var(--line)}.portfolio-more p{margin:0;max-width:650px}.portfolio-more .button{flex-shrink:0}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:38px}.experience-grid h3{font-size:28px}.experience-grid p{font-size:18px;margin-top:15px}.infrastructure-grid,.two-columns,.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.location{background:#e6e2db;border:1px solid #beb6ab;padding:28px 32px}.location>p{max-width:570px}.server-list{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;margin:0;padding:0;list-style:none}.server-list li{display:flex;align-items:center;gap:12px;font-size:20px}.server-list .icon{color:var(--red-ink)}.status-explainer{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-top:36px}.status-explainer>div{max-width:850px}.status-explainer .button{flex-shrink:0}.international{border-left:4px solid var(--red);padding-left:32px}.support-grid article{border-top:2px solid #bcb6ac;padding-top:25px}.support-grid .button{margin-top:24px}.support-note{margin-top:30px}.download-list{border-top:2px solid var(--ink)}.download-list article{padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line)}.download-list article>div{display:flex;gap:22px;align-items:flex-start;max-width:880px}.download-list article>div>.icon{margin-top:5px;width:30px;height:30px;color:var(--red-ink)}.download-list p{margin-top:12px}.download-list .button{flex-shrink:0}.availability{font-size:16px;color:#524b40;padding:8px 12px;border:1px solid #b6afa4;white-space:nowrap;display:inline-block;background:#e7e2dc}.open-source{margin-top:32px;max-width:930px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-grid h3{font-size:32px}.notice{padding:18px 22px;border-left:4px solid #877e72;background:#e5e0d9;font-size:16px;margin-top:25px;line-height:1.65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{margin-bottom:20px}label{font-size:18px;display:block;margin-bottom:7px;font-weight:600}label span{font-weight:400}input,textarea,select{border:1px solid #948a7d;background:#fff;color:var(--ink);width:100%;padding:12px 14px;font-size:18px;border-radius:0}textarea{resize:vertical}.form-note{margin-top:0;margin-bottom:20px}.draft-result{background:#e6e0d8;border:1px solid #b8b1a6;padding:20px;margin-top:22px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px}.site-information{margin-top:55px;border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;gap:25px;font-size:16px;color:var(--muted)}.site-information>div{display:flex;gap:25px;flex-wrap:wrap}.site-information button{font-size:16px;border:0;background:none;color:var(--red-ink);padding:0;text-decoration:underline;text-underline-offset:4px}
dialog{background:var(--paper);padding:46px;max-width:720px;width:calc(100% - 40px);max-height:88vh;border:1px solid #a09687;color:var(--ink);box-shadow:0 20px 90px #0004}dialog::backdrop{background:#151e29a6}body.dialog-open{overflow:hidden}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#e7e2dc;width:42px;height:42px;display:grid;place-items:center}dialog .eyebrow{color:var(--red-ink);font-size:16px;font-weight:600;margin:0 0 15px}dialog h2{font-size:40px;padding-right:20px;margin-bottom:20px}dialog h3{font-size:29px;margin:26px 0 15px}dialog p{font-size:18px;line-height:1.65;margin-bottom:16px}dialog ul{font-size:18px;padding-left:24px}dialog .notice,dialog .form-note{font-size:16px}dialog .button{margin-top:16px}.dialog-link{color:var(--red-ink)}.disabled-label{font-size:16px}.download-row{padding:20px 0;border-bottom:1px solid var(--line)}.download-row h3{margin:0 0 15px}.download-row p{margin:0}.download-row .button{margin-bottom:16px}.page-intro h1{margin-top:24px}.page-intro .notice{max-width:1000px}.back-link{font-size:18px}.gallery{row-gap:50px}.closing p{font-size:21px;max-width:900px}.closing .button{margin-top:26px}.server-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.server-card{background:#e6e2db;border:1px solid #b8b1a6;padding:26px 30px}.server-card h3{display:flex;align-items:center;gap:14px}.server-card h3 .icon{color:var(--red-ink);width:28px;height:28px}.server-card .availability{margin-top:20px}.server-card dl{margin:20px 0 0}.server-card dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c6bfb5;padding:12px 0}.server-card dd{margin:0;font-weight:600}.service-status-list{border-top:2px solid var(--ink)}.service-status-list>div{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:23px 0}.service-status-list h3{font-size:28px}.service-status-list p{font-size:18px;margin:0}.status-notes{margin-top:40px}
@media(min-width:1600px){.hero h1{font-size:76px}.hero{padding-top:56px}.hero-columns{gap:80px}}
@media(max-width:1250px){.header-inner{gap:25px}#main-nav{gap:18px}#main-nav a{font-size:17px}.brand{font-size:37px}.brand-door{width:31px;height:42px}.container{width:calc(100% - 72px)}.hero-columns{gap:35px}.hero-intro p{font-size:20px}.assistant{padding:23px}.assistant-heading h2{font-size:29px}.services-grid,.two-columns,.support-grid,.infrastructure-grid{gap:0 35px}.contact-grid{gap:40px}.experience-grid{gap:26px}.status-explainer{gap:35px}.button{padding-inline:18px}.service-title h3{font-size:29px}.download-list article{gap:30px}.portfolio-more p{max-width:550px}.hero-summary{font-size:24px}}
@media(max-width:1080px){:root{--header-height:78px}.menu-toggle{display:flex;font-size:18px}.header-inner{position:relative;min-height:78px}#main-nav{display:none;position:absolute;top:78px;right:0;left:0;background:var(--red);padding:14px 20px 22px;border-top:1px solid #ffffff80;box-shadow:0 12px 24px #0002}#main-nav.is-open{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}#main-nav a{font-size:18px;padding:11px}.hero h1{font-size:56px}.hero-columns{gap:30px}.assistant-heading{flex-wrap:wrap}.preview-label{margin-left:0}.assistant{padding:22px}.hero-intro p{font-size:19px}.section{padding-block:52px}.section-heading h2,h2{font-size:43px}.section-heading>p{font-size:20px}.experience-grid{grid-template-columns:1fr;gap:25px}.experience-grid article{border-top:1px solid var(--line);padding-top:23px}.experience-grid h3{font-size:30px}.portfolio-more,.status-explainer{align-items:flex-start;flex-direction:column;gap:23px}.portfolio-more p{max-width:100%}.site-information{flex-direction:column}.status-inner{font-size:16px}.location{padding:24px}.download-list article>div{max-width:570px}.service-title{gap:12px}.service-title>.icon{width:24px;height:24px}.service-title h3{font-size:27px}.services-grid{column-gap:30px}.hardware-row{flex-direction:column;align-items:flex-start;gap:15px}.hardware-row .text-link{margin:0}.service-status-list>div{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:780px){.container{width:calc(100% - 40px)}.header-inner,.status-inner{width:calc(100% - 40px)}.hero h1{font-size:49px;max-width:650px}.hero-summary{font-size:23px}.hero-columns{grid-template-columns:1fr;gap:30px}.hero-intro p{font-size:20px;max-width:680px}.hero-intro .actions{margin-top:22px}.assistant{max-width:680px;width:100%}.assistant-heading h2{font-size:31px}.preview-label{margin-left:auto}.services-grid,.two-columns,.support-grid,.infrastructure-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.services-grid{gap:0}.service-title h3{font-size:31px}.service-title>.icon{width:28px;height:28px}.section-heading>p{font-size:20px}.section-heading{margin-bottom:28px}.service p{font-size:18px}.section{padding-block:45px}.hero{padding-top:34px}.international{padding-left:25px}.featured-work,.gallery{gap:30px;grid-template-columns:1fr}.website-feature h3{font-size:31px}.download-list article{align-items:flex-start;flex-direction:column;gap:22px}.download-list article>div{gap:16px;max-width:100%}.download-list article>div>.icon{width:26px;height:26px}.download-list h3{font-size:29px}.support-note{margin-top:28px}.contact-grid{gap:28px}.site-information{margin-top:35px}.site-information>div{gap:16px 22px}.status-inner>span>.icon{display:none}.status-inner{gap:15px;padding-block:10px}.status-inner>a{gap:8px}.status-inner>a .icon{width:18px;height:18px}.status-inner strong{font-weight:400}.server-cards{grid-template-columns:1fr}.server-card{padding:24px}.server-card dt{font-size:18px}.page-intro h1{font-size:49px}.status-notes{gap:30px}.assistant-heading>.icon{width:23px}.chat-suggestions button{font-size:16px}dialog{padding:45px 24px 25px}dialog h2{font-size:34px}.download-row h3{font-size:28px}.hero .actions .button{flex-grow:1}}
@media(max-width:520px){:root{--status-height:52px}.status-prefix{display:none}.status-inner>span>span strong{font-size:16px}.status-inner>a{font-size:16px}.status-inner a .icon{display:none}.hero h1{font-size:46px;line-height:1.08}.hero-summary{font-size:22px}.hero-intro p{font-size:19px}.assistant{padding:19px;border-left-width:4px}.assistant-heading{gap:8px}.assistant-heading h2{font-size:29px}.preview-label{font-size:16px}.assistant-heading>.icon{display:none}#chat-input{font-size:16px;padding:10px 7px}#chat-form button{width:42px}.section-heading h2,h2{font-size:40px}.section-heading>p{font-size:19px}.button{font-size:18px;min-height:54px;padding:13px 16px;gap:12px}.hero .actions{gap:12px}.form-grid{grid-template-columns:1fr;gap:0}.location{padding:23px}.location h3{font-size:28px}.server-list{column-gap:15px}.download-list h3{font-size:27px}.contact-grid h3{font-size:30px}.site-information{font-size:16px}.site-information>div{gap:16px 20px}.gallery .website-feature p{font-size:18px}.service-status-list h3{font-size:27px}.service-status-list p>span{display:block;margin-top:5px}.server-card dl>div{gap:10px}.menu-toggle{padding:9px 10px;font-size:18px}.brand{font-size:35px;gap:7px}.brand-door{width:27px;height:38px}.page-intro h1{font-size:45px}}
@media(max-width:360px){.container,.header-inner,.status-inner{width:calc(100% - 32px)}.brand{font-size:30px}.brand-door{width:23px;height:34px}.menu-toggle{font-size:16px;padding:8px}.menu-toggle .icon{width:20px}.hero h1{font-size:41px}.assistant-heading{gap:5px}.assistant-heading h2{font-size:26px}.assistant{padding:17px}.status-inner{gap:8px}.status-inner>a,.status-inner>span>span strong{font-size:16px}.service-title h3{font-size:27px}.service-title>.icon{width:24px}.button{width:100%}.server-card{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Full-width homepage conversation — concept 03. */
.hero-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:center;margin:30px 0 36px;padding:0}.hero-intro>div:first-child{max-width:920px}.hero-intro p{max-width:none;margin:0 0 16px;font-size:21px}.hero-intro p:last-child{margin-bottom:0}.hero-intro .actions{margin:0;flex-direction:column;align-items:stretch;gap:12px}.hero-intro .button{min-width:220px}
.assistant{width:100%;max-width:none;padding:0;border:1px solid #b0a89b;border-radius:6px;overflow:hidden;background:#fff}.assistant-heading{padding:23px 28px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.assistant-title-group{display:flex;align-items:center;gap:13px}.assistant-title-group>.icon{color:var(--red-ink);width:29px;height:29px}.assistant-heading h2{font-size:34px}.assistant-controls{display:flex;align-items:center;gap:20px}.preview-label{margin:0;padding:3px 10px;border:1px solid #bab2a7;border-radius:3px;font-size:16px;color:var(--muted);background:var(--grey)}#chat-reset{display:flex;align-items:center;gap:9px;border:0;background:none;padding:8px 0;color:var(--red-ink);font-size:16px}#chat-reset .icon{width:19px;height:19px}.assistant-intro{margin:10px 28px 0;font-size:18px;color:var(--muted)}
.chat-log{min-height:150px;max-height:360px;margin:0;padding:28px;overflow-y:auto;font-size:18px;scrollbar-width:auto;overscroll-behavior:contain}.chat-message{display:flex;align-items:flex-start;gap:12px;max-width:86%;margin:0 0 22px}.chat-message:last-child{margin-bottom:0}.message-avatar{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:50%;margin-top:4px}.message-avatar .icon{width:21px;height:21px}.message-content{min-width:0;padding:15px 20px;background:#f0eeea;border:1px solid #cfc9c0;border-radius:2px 14px 14px 14px;overflow-wrap:anywhere}.message-author{display:block;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:7px;color:#5b5349}.chat-log p{margin:0;white-space:pre-wrap;line-height:1.6}.chat-log .user-message{flex-direction:row-reverse;margin:0 0 22px auto;padding:0;background:none}.chat-log .user-message:last-child{margin-bottom:0}.user-message .message-avatar{color:#50483d;background:#ebe6e0}.user-message .message-content{background:var(--red);border-color:var(--red);color:#fff;border-radius:14px 2px 14px 14px}.user-message .message-author{color:#fff}
.chat-composer{padding:23px 28px 22px;border-top:1px solid var(--line);background:#f0eeea}.chat-suggestions{margin:0 0 18px;gap:10px}.chat-suggestions button{background:#fff;border-color:#afa69a;border-radius:var(--button-radius);padding:8px 15px;font-size:16px}.chat-suggestions button:hover{background:#fbeef0}#chat-form{padding:8px;align-items:flex-end;gap:12px;border:1px solid #948a7d;border-radius:4px;background:#fff}#chat-input{padding:10px 12px;font-size:18px;line-height:1.5;min-height:72px;max-height:180px;resize:vertical;border:0;background:#fff;color:var(--ink)}#chat-form button{display:inline-flex;width:auto;min-width:124px;min-height:52px;align-items:center;justify-content:center;gap:13px;padding:12px 17px;margin:0;border:0;font-size:18px}.chat-disclosure{margin:14px 0 0;font-size:16px;line-height:1.55}
@media(max-width:1000px){.hero-intro{gap:30px}.hero-intro p{font-size:20px}.hero-intro .button{min-width:190px}.assistant-heading h2{font-size:32px}}
@media(max-width:780px){.hero-intro{display:block;margin:28px 0 32px}.hero-intro .actions{flex-direction:row;flex-wrap:wrap;margin:22px 0 0;gap:14px}.hero-intro .button{min-width:0;flex:1}.assistant-heading{padding:22px 20px 0;gap:15px}.assistant-intro{margin:10px 20px 0}.chat-log{padding:24px 20px;min-height:180px;max-height:340px}.chat-composer{padding:20px}.chat-message{max-width:95%}.message-content{padding:13px 15px}.assistant-controls{gap:14px}.chat-suggestions{gap:8px}}
@media(max-width:520px){.hero-intro p{font-size:19px}.hero-intro .actions{flex-direction:column}.assistant-heading{padding:20px 16px 0;gap:8px}.assistant-title-group{gap:10px}.assistant-title-group>.icon{width:25px;height:25px}.assistant-heading h2{font-size:30px}.assistant-controls{width:100%;justify-content:space-between}.assistant-intro{margin:10px 16px 0;font-size:18px}.chat-log{padding:24px 16px;min-height:180px;max-height:300px}.chat-message{max-width:100%;gap:8px}.message-avatar{width:28px;height:28px}.message-avatar .icon{width:17px;height:17px}.message-content{padding:12px;font-size:18px}.message-author{font-size:16px}.chat-composer{padding:18px 16px}.chat-suggestions button{padding:8px 12px}#chat-form{gap:5px;padding:5px}#chat-input{padding:8px;font-size:18px;min-height:90px}#chat-form button{min-width:70px;width:auto;padding:11px;font-size:18px}#chat-form button .icon{display:none}.chat-disclosure{font-size:16px}}

input:is([type="button"],[type="submit"],[type="reset"]),[role="button"]{border-radius:var(--button-radius)}

/* Project evidence and a readable company profile. */
.project-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:48px;padding-top:40px;border-top:1px solid var(--line)}
.project-feature figure{margin:0}.project-feature figure a{display:block}.project-feature img{width:100%;height:auto;border:1px solid #ada69d}.project-feature figcaption{font-size:16px;color:var(--muted);margin-top:12px;line-height:1.5}.project-feature .note{margin:0 0 12px}.project-feature h3{font-size:36px}.project-feature p{font-size:18px}.project-feature figure a:hover{outline:3px solid var(--red);outline-offset:3px}
.project-experience{grid-template-columns:1fr 1fr;margin-bottom:20px;padding-top:32px;border-top:1px solid var(--line)}
.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 56px}.project-list{border-top:2px solid var(--ink)}.project-list>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;padding:30px 0;border-bottom:1px solid var(--line)}.project-list>article>p{margin:0}.project-list .note{margin-top:12px}.project-context{max-width:1000px;margin:26px 0 12px}
.company-facts{margin:0;max-width:1050px}.company-facts>div{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;padding:22px 0;border-top:1px solid var(--line)}.company-facts dt{font-weight:600}.company-facts dd{margin:0}
@media(max-width:1080px){.project-feature{gap:30px}.project-experience{gap:32px}.project-experience article{border:0;padding:0}.project-list>article{gap:32px}}
@media(max-width:780px){.project-feature{grid-template-columns:1fr;gap:26px;margin-top:34px;padding-top:30px}.project-feature h3{font-size:32px}.project-experience,.capability-grid{grid-template-columns:1fr;gap:28px}.project-list>article{grid-template-columns:1fr;gap:16px;padding:26px 0}.company-facts>div{grid-template-columns:1fr;gap:6px;padding:20px 0}}

/* Finished editorial imagery: full images, rounded slate borders, captions below. */
.hero .assistant{margin-top:30px}.hero .hero-intro{margin:36px 0 0}
.site-picture{margin:0;width:100%;min-width:0}.site-picture img{display:block;width:100%;height:auto;border:2px solid #46515c;border-radius:8px;background:#eeece9}.site-picture figcaption{margin-top:10px;font:16px/1.5 var(--body);color:var(--muted);text-align:left}
.illustrated-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.illustrated-heading>div>p{font-size:21px;line-height:1.55;max-width:650px}
.location .site-picture{margin-bottom:26px}.about-aside .site-picture{margin-bottom:32px}.about-aside .international{padding-left:26px}
.profile-introduction{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:56px;align-items:center}.profile-introduction .site-picture{margin-top:24px}
.facility-addresses{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0}.facility-addresses>div{padding-top:18px;border-top:1px solid var(--line)}.facility-addresses dt{font-size:18px;font-weight:600;line-height:1.45;margin-bottom:8px}.facility-addresses dd{margin:0;font-size:18px;line-height:1.6}.facility-addresses a{display:inline-block;margin-top:10px;font-size:16px}
@media(max-width:1080px){.illustrated-heading,.profile-introduction{gap:32px}.profile-introduction{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profile-introduction h1{font-size:56px}.facility-addresses{grid-template-columns:1fr}}
@media(max-width:780px){.illustrated-heading,.profile-introduction{grid-template-columns:1fr;gap:28px}.illustrated-heading>div>p{font-size:20px}.profile-introduction .site-picture{margin-top:0}.profile-introduction h1{font-size:49px}.hero .hero-intro{margin:28px 0 0}.about-aside .international{padding-left:25px}.facility-addresses{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.illustrated-heading>div>p{font-size:19px}.profile-introduction h1{font-size:45px}.facility-addresses{grid-template-columns:1fr}}

/* Display only the authentic webpage: source crop x=1, y=54, 988×639. */
.coalportal-crop{position:relative;aspect-ratio:988/639;overflow:hidden;background:#fff}
.project-feature .coalportal-crop img{position:absolute;left:0;top:0;width:100.202429%;max-width:none;height:auto;border:0;transform:translate(-0.1010101%,-7.6487252%)}

/* Keep the full Queen Mode screenshot at its original proportions. */
.website-feature img[src="assets/queenmode.jpg"]{aspect-ratio:auto;object-fit:contain}

/* Separate work examples with clear surfaces and readable category captions. */
.work-section{background:#eae7e2}.work-case{border:1px solid #bab3a7;background:#f6f4f1;min-width:0}.hmws-case{padding:36px;border-top:5px solid var(--red)}
.case-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:48px;align-items:start;margin-bottom:30px}.case-intro h3{font-size:40px}.case-intro>div>p:first-child{margin-top:0}
.project-category{font-family:var(--body);font-size:18px;font-weight:600;line-height:1.45;letter-spacing:0;color:#4f483e;margin:0 0 14px}.work-section .project-category{font-size:18px;margin:0 0 14px}
.project-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.project-comparison figure{margin:0;min-width:0;background:#e5e0d8;border:1px solid #bab3a7}.project-comparison figure>a{display:block}.project-comparison img{width:100%;height:auto;aspect-ratio:auto;border:0}.project-comparison a:hover{outline:3px solid var(--red);outline-offset:3px}

.other-projects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;margin-top:32px;align-items:stretch}.other-projects .work-case{padding:28px;background:#e1dcd5}.other-projects .coalportal-case,.other-projects .vidfilm-case{background:#f2efec}.other-projects figure{margin:0}.case-image{display:block}.case-image img{width:100%;height:auto;aspect-ratio:auto;border:1px solid #bab3a7}.case-image:hover{outline:3px solid var(--red);outline-offset:3px}.case-copy{padding-top:24px}.case-copy h3{font-size:34px}.case-copy>p:not(.project-category){margin-top:18px}.image-caption{font:17px/1.5 var(--body);color:#585146;margin-top:12px}
.coalportal-case .coalportal-crop img{position:absolute;left:0;top:0;width:100.202429%;max-width:none;height:auto;border:0;transform:translate(-0.1010101%,-7.6487252%)}
.work-section .project-experience{gap:24px;margin-top:32px;padding-top:0;border:0}.work-section .project-experience article{padding:28px;border:1px solid #bab3a7;background:#f6f4f1}.work-section .project-experience article:nth-child(2),.work-section .project-experience article:nth-child(3){background:#e1dcd5}.work-section .project-experience h3{font-size:30px}.work-section .portfolio-more{border:1px solid #bab3a7;background:#dcd6cb;padding:26px 28px;margin-top:30px}
.project-list .note{font-family:var(--body);font-size:18px;font-weight:600;line-height:1.5;color:#4f483e}.project-list>article{padding-inline:24px;background:#f6f4f1}.project-list>article:nth-child(even){background:#e7e3db}
@media(max-width:1080px){.hmws-case{padding:28px}.case-intro{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.case-intro h3{font-size:35px}.project-comparison{gap:22px}.other-projects{gap:24px}.other-projects .work-case{padding:24px}}
@media(max-width:780px){.case-intro,.project-comparison,.other-projects{grid-template-columns:1fr}.case-intro{gap:20px}.hmws-case{padding:24px}.project-comparison{gap:24px}.other-projects .work-case{padding:24px}.work-section .project-experience article{padding:24px}.project-list>article{padding-inline:20px}.work-section .portfolio-more{padding:24px}.case-intro h3{font-size:35px}}
@media(max-width:520px){.hmws-case{padding:20px}.other-projects .work-case{padding:20px}.work-section .project-experience article{padding:20px}.case-intro h3,.case-copy h3{font-size:32px}.work-section .project-category{font-size:18px}.work-section .portfolio-more{padding:20px}.project-list>article{padding-inline:18px}}


/* Broader consulting experience, facilities and portfolio. */
.consulting-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:32px;padding:34px;border:1px solid #b5ada1;background:#dfd9d0}.consulting-overview h3{font-size:36px}.consulting-overview p{font-size:18px}.consulting-organisations{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;list-style:none;margin:0;padding:0}.consulting-organisations li{font-size:20px;font-weight:600;line-height:1.45;padding-bottom:14px;border-bottom:1px solid #bbb1a5}.consulting-end-clients{padding-top:8px;line-height:1.65}
.facility-overview{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:42px;align-items:start}.facility-overview figure{margin:0}.facility-main-photo img{width:100%;height:auto;border:1px solid #aaa092}.facility-overview figcaption{font:16px/1.5 var(--body);color:#575149;margin-top:12px}.facility-copy h3{font-size:34px}.facility-panorama{padding-top:25px}.facility-panorama img{width:100%;height:auto;border:1px solid #aaa092;aspect-ratio:740/125}.infrastructure-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:38px}.infrastructure-services article{padding-top:22px;border-top:2px solid #b5ab9e}.infrastructure-services h3{font-size:29px}.infrastructure-services p{font-size:18px}
.portfolio-list{display:grid;gap:24px}.portfolio-entry{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:34px;padding:28px;border:1px solid #b5ab9e;background:#f5f2ec;align-items:center}.portfolio-entry:nth-child(even){background:#e3ddd3}.portfolio-entry.text-only{grid-template-columns:1fr}.portfolio-copy h3{font-size:34px}.portfolio-copy .project-category{font:600 18px/1.45 var(--body);color:#595248;margin:0 0 12px}.portfolio-copy>p:not(.project-category){margin-top:14px}.portfolio-media{margin:0;min-width:0}.portfolio-image{display:block}.portfolio-image img{width:100%;height:auto;border:1px solid #b5ab9e}.portfolio-image:hover{outline:3px solid var(--red);outline-offset:3px}.portfolio-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:18px}.portfolio-links a{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:600}.portfolio-links .icon{width:20px;height:20px}.portfolio-method{font-size:16px;line-height:1.6;color:#595248;margin-top:28px;max-width:1000px}.owned-site{margin-top:32px;padding-top:28px;border-top:1px solid #b5ab9e}
@media(max-width:1080px){.consulting-overview{gap:30px;padding:28px}.consulting-organisations{grid-template-columns:1fr}.facility-overview{gap:30px}.portfolio-entry{gap:26px;padding:24px}.portfolio-copy h3{font-size:30px}.infrastructure-services{gap:24px}.infrastructure-services h3{font-size:27px}}
@media(max-width:780px){.consulting-overview,.facility-overview{grid-template-columns:1fr}.consulting-organisations{grid-template-columns:1fr 1fr}.infrastructure-services{grid-template-columns:1fr;gap:20px}.facility-main-photo{max-width:100%}.portfolio-entry{grid-template-columns:1fr;padding:24px}.portfolio-image{max-width:600px}.portfolio-copy h3{font-size:32px}.consulting-overview h3{font-size:32px}.facility-copy h3{font-size:32px}}
@media(max-width:520px){.consulting-overview,.portfolio-entry{padding:20px}.consulting-organisations{grid-template-columns:1fr}.consulting-organisations li{font-size:19px}.portfolio-links{gap:12px}.portfolio-links a{overflow-wrap:anywhere}.facility-overview{gap:26px}}

/* Always-visible customer actions, with a separate mobile section menu. */
.customer-navigation{background:#991923;border-top:1px solid #ffffff55}
.customer-actions{width:min(1424px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:9px 0}
.customer-actions>a,.customer-actions>button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:10px 16px;border:0;border-radius:var(--button-radius);background:transparent;color:#fff;font:400 18px/1.3 var(--body);text-decoration:none;text-align:center}
/* Rounded navigation feedback; keep current-page semantics without underlining. */
.customer-actions [aria-current="page"],.customer-actions [aria-current="location"]{background:#ffffff20;text-decoration:none}
.customer-actions>a:focus-visible,.customer-actions>button:focus-visible{background:#ffffff20;text-decoration:none}
@media(hover:hover){.customer-actions>a:hover,.customer-actions>button:hover{background:#ffffff18;text-decoration:none}}
.customer-actions>a:focus-visible,.customer-actions>button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.customer-actions .icon{width:22px;height:22px}
.hero-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:52px;align-items:center;margin-top:32px}
.hero .hero-overview .hero-intro{display:block;margin:0}
.hero-overview .hero-intro .actions{flex-direction:row;flex-wrap:wrap;margin-top:24px;gap:14px}
.hero-overview .hero-intro .button{min-width:0}
.page-overview,.illustrated-closing{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:52px;align-items:center}
.page-overview{margin-top:26px}.page-overview .hero-summary{margin-top:18px}
.illustrated-closing{text-align:left}.illustrated-closing>div{min-width:0}.illustrated-closing .button{margin-top:24px}
.compact-picture{min-height:200px;aspect-ratio:auto}
.status-facility-picture{margin:0}.status-facility-picture img{width:100%;height:auto;max-height:290px;object-fit:contain;object-position:left center}.status-facility-picture figcaption{font-size:16px;color:var(--muted);margin-top:12px}
@media(max-width:1080px){:root{--sticky-header-height:143px}.header-inner{position:static}#main-nav{top:100%;left:0;right:0;max-height:calc(100dvh - var(--sticky-header-height) - var(--status-height));overflow-y:auto}.hero-overview,.page-overview,.illustrated-closing{gap:30px}.customer-actions{gap:10px}.customer-actions>a,.customer-actions>button{gap:9px;padding:10px;font-size:17px}}
@media(max-width:780px){.hero-overview,.page-overview,.illustrated-closing{grid-template-columns:1fr;gap:28px}.hero-overview{margin-top:28px}.hero-overview .hero-intro .actions{margin-top:22px}.customer-actions{width:calc(100% - 40px);gap:8px}.customer-actions>a,.customer-actions>button{font-size:16px;padding:10px 8px}.customer-actions .icon{width:20px;height:20px}.page-overview h1{font-size:49px}}
@media(max-width:620px){:root{--sticky-header-height:193px}.customer-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:8px}.customer-actions>a,.customer-actions>button{min-height:44px;gap:8px}.customer-actions .icon{width:18px;height:18px}#main-nav.is-open{column-gap:12px;padding:10px 20px 16px}}
@media(max-width:360px){.customer-actions{width:calc(100% - 32px)}.customer-actions>a,.customer-actions>button{padding:9px 5px;gap:6px}.customer-actions .icon{width:17px;height:17px}.page-overview h1{font-size:43px}}

/* Show recent websites together with the custom systems behind them. */
.other-projects .coalportal-case{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
.other-projects .coalportal-case .case-copy{padding-top:0}
.other-projects .website-admin-case{background:#f6f4f1;display:flex;flex-direction:column;align-items:stretch}
.other-projects .marblepines-case{background:#e1dcd5}
.website-admin-case .case-copy{padding-top:0;margin-bottom:24px}
.website-admin-case .website-admin-images{margin-top:auto}
.website-admin-case>.text-link{align-self:flex-start;margin-top:24px}
.website-admin-images{display:grid;gap:22px;min-width:0}
.website-admin-images figure{margin:0;min-width:0;border:1px solid #bab3a7;background:#fdfdfc}

.website-admin-images .case-image img{border:0;width:100%;height:auto;aspect-ratio:auto}
.website-admin-images .case-image:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.compact-gallery{gap:16px}
@media(max-width:780px){.other-projects .coalportal-case{grid-template-columns:1fr;gap:24px}.website-admin-case .website-admin-images{margin-top:0}.compact-gallery{max-width:600px}}

.portfolio-entry.has-admin{grid-template-columns:1fr;gap:24px}.has-admin .portfolio-copy{order:-1}.has-admin .compact-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;max-width:none}@media(max-width:780px){.has-admin .compact-gallery{grid-template-columns:1fr}}

/* Soft corners and distinct, subtly warm grey surfaces. */
:root{--panel-radius:8px;--tile-light:#f5f3f0;--tile-mid:#e9e5df;--tile-deep:#ded9d2}
.work-case,.portfolio-entry,.project-experience>article,.server-card,.location,.consulting-overview,.portfolio-more,.site-picture,.assistant,.notice,.draft-result,dialog{border-radius:var(--panel-radius)}
.case-image,.case-image img,.portfolio-image,.portfolio-image img,.coalportal-crop,.facility-main-photo img,.facility-panorama img,.status-facility-picture img,.project-feature img{border-radius:5px}
.project-comparison figure,.website-admin-images figure{border-radius:var(--panel-radius);overflow:clip}
.project-comparison figure>a:hover,.project-comparison figure>a:focus-visible,.website-admin-images .case-image:hover,.website-admin-images .case-image:focus-visible{outline-offset:-3px}
.project-comparison img,.website-admin-images .case-image,.website-admin-images .case-image img{border-radius:0}
input,textarea,select,#chat-form,.availability,.message-content{border-radius:5px}
.hmws-case,.other-projects .queenmode-case,.other-projects .crystalballroom-case{background:var(--tile-light)}
.other-projects .coalportal-case,.other-projects .vidfilm-case{background:var(--tile-mid)}
.other-projects .marblepines-case{background:var(--tile-deep)}




.work-section .project-experience>article:nth-child(4n+1),.work-section .project-experience>article:nth-child(4n){background:var(--tile-light)}
.work-section .project-experience>article:nth-child(4n+2),.work-section .project-experience>article:nth-child(4n+3){background:var(--tile-deep)}
.server-card:nth-child(4n+1),.server-card:nth-child(4n){background:var(--tile-light)}
.server-card:nth-child(4n+2),.server-card:nth-child(4n+3){background:var(--tile-deep)}
.portfolio-entry:nth-child(odd),.project-list>article:nth-child(odd){background:var(--tile-light)}
.portfolio-entry:nth-child(even),.project-list>article:nth-child(even){background:var(--tile-deep)}
.project-list{display:grid;gap:18px;border:0}.project-list>article{border:1px solid var(--line);border-radius:var(--panel-radius)}
.services-grid,.support-grid,.capability-grid,.infrastructure-services{gap:24px}
.services-grid>.service,.support-grid>article,.capability-grid>article,.infrastructure-services>article{padding:24px;border:1px solid var(--line);border-radius:var(--panel-radius);min-width:0}
:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(4n+1),:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(4n){background:var(--tile-light)}
:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(4n+2),:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(4n+3){background:var(--tile-deep)}
.infrastructure-services>article:nth-child(3n+1){background:var(--tile-light)}
.infrastructure-services>article:nth-child(3n+2){background:var(--tile-mid)}
.infrastructure-services>article:nth-child(3n){background:var(--tile-deep)}
.hardware-row{margin-top:28px}
@media(max-width:780px){.work-section .project-experience>article:nth-child(odd){background:var(--tile-light)}.work-section .project-experience>article:nth-child(even){background:var(--tile-deep)}}
@media(max-width:780px){:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(odd){background:var(--tile-light)}:is(.services-grid,.support-grid,.capability-grid)>article:nth-child(even){background:var(--tile-deep)}}
@media(max-width:520px){.services-grid>.service,.support-grid>article,.capability-grid>article,.infrastructure-services>article{padding:20px}}
@media(max-width:780px){.server-card:nth-child(odd){background:var(--tile-light)}.server-card:nth-child(even){background:var(--tile-deep)}}

/* Left section navigation with customer actions across the top. */
:root{--sidebar-width:232px;--sticky-header-height:88px}
.site-header{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);align-items:center;min-height:88px}
.header-inner{width:100%;min-height:88px;margin:0;padding:18px 20px;gap:12px;position:static}
.brand{font-size:34px;gap:9px}.brand-door{width:29px;height:40px}
.menu-toggle{display:none}
.customer-navigation{background:transparent;border:0;padding:12px 28px 12px 12px;min-width:0}
.customer-actions{width:100%;margin:0;gap:12px;padding:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.customer-actions>a,.customer-actions>button{font-size:18px;min-height:50px;padding:11px 12px;gap:10px}
.site-sidebar{position:fixed;left:0;top:var(--sticky-header-height);bottom:var(--status-height);width:var(--sidebar-width);z-index:29;padding:28px 16px;background:#222;background-image:linear-gradient(150deg,#2d3033 0%,#252729 48%,#202224 100%);border-right:1px solid #ffffff0a;box-shadow:8px 0 20px -10px #0006,2px 0 5px #0000001a;overflow-y:auto}
#main-nav,#main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:static;max-height:none;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
#main-nav a{display:block;padding:13px 13px;border:0;border-left:3px solid transparent;border-radius:5px;font:400 18px/1.5 var(--body);color:#fff;white-space:normal;text-decoration:none}
#main-nav a:hover{background:#ffffff18;color:#fff}
#main-nav a.active,#main-nav a[aria-current="location"]{background:#ffffff20;border-left-color:#fff;color:#fff}
#main-nav a:focus-visible{outline:3px solid #fff;outline-offset:2px}
#main{margin-left:var(--sidebar-width)}
@media(min-width:1101px){#main .container{width:min(1320px,calc(100% - 64px))}}
@media(min-width:1101px) and (max-width:1250px){.customer-actions>a,.customer-actions>button{font-size:17px;gap:8px;padding-inline:8px}.customer-actions .icon{width:20px;height:20px}.customer-navigation{padding-right:20px}}
@media(max-width:1100px){
 :root{--sticky-header-height:140px}
 .site-header{display:block;min-height:0}
 .header-inner{min-height:78px;padding:14px 20px;justify-content:space-between}
 .brand{font-size:36px}.brand-door{width:30px;height:40px}
 .menu-toggle{display:flex;font-size:18px;padding:10px 0;border:0;background:transparent}
 .customer-navigation{padding:0 20px 10px}
 .customer-actions{gap:8px}.customer-actions>a,.customer-actions>button{font-size:17px;min-height:46px;padding:10px 8px;gap:8px}
 .customer-actions .icon{width:20px;height:20px}
 .site-sidebar{display:none;width:min(300px,calc(100vw - 40px));padding:20px 16px;box-shadow:12px 0 28px #0002}
 .site-sidebar.is-open{display:block}
 #main{margin-left:0}
}
@media(max-width:620px){:root{--sticky-header-height:190px}.customer-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-actions>a,.customer-actions>button{font-size:16px;min-height:44px}.customer-actions .icon{width:18px;height:18px}}
@media(max-width:360px){.header-inner{padding-inline:16px}.brand{font-size:31px}.brand-door{width:26px;height:36px}.menu-toggle{font-size:16px;gap:7px}.customer-navigation{padding-inline:16px}.customer-actions>a,.customer-actions>button{gap:6px;padding:9px 5px}.customer-actions .icon{width:17px;height:17px}}

/* Light menu typography and matching icon strokes. */
.menu-toggle{font-weight:400}.customer-actions .icon,.menu-toggle .icon{stroke-width:1.5}

/* On phones, customer links share the collapsible slate navigation. */
@media(max-width:780px){
 :root{--sticky-header-height:78px}
 .site-sidebar .customer-navigation{padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid #ffffff40}
 .site-sidebar .customer-actions{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:0}
 .site-sidebar .customer-actions>a,.site-sidebar .customer-actions>button{justify-content:flex-start;min-height:44px;padding:11px 13px;gap:12px;font-size:18px;text-align:left}
 .site-sidebar .customer-actions .icon{width:20px;height:20px}
 #main-nav,#main-nav.is-open{gap:4px}
 #main-nav a{padding-block:10px}
}
/* Keep all four homepage actions readable without compressing their labels. */
.hero-overview .hero-intro .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch}
.hero-overview .hero-intro .actions>.button{width:100%;flex:none}

/* Separate content with spacing and surface colours, without decorative rules. */
.section,.hardware-row,.work-section .portfolio-more,.project-feature,.project-experience,.owned-site,.site-information,.chat-composer{border-top:0;border-bottom:0}
.download-list article,.download-row,.consulting-organisations li,.company-facts>div,.server-card dl>div,.service-status-list>div{border-top:0;border-bottom:0}

/* A shared treatment for every website, catalogue and administration screenshot. */
figure.project-screenshot{margin:0;padding:0;min-width:0;border:0;border-radius:0;background:transparent;overflow:visible}
.project-screenshot>.screenshot-frame{display:block;width:100%;padding:0;border:2px solid #46515c;border-radius:8px;overflow:hidden;background:transparent;line-height:0;text-decoration:none}
.project-screenshot .screenshot-frame img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;margin:0;padding:0;border:0;border-radius:0}
.project-screenshot .screenshot-frame .coalportal-crop{border:0;border-radius:0}
.coalportal-case .project-screenshot .coalportal-crop img{width:100.202429%;max-width:none}
.project-screenshot>figcaption{display:block;margin:0;padding:12px 0 0;background:transparent;color:#46515c;font:400 17px/1.5 var(--body);letter-spacing:0}
.project-screenshot>a:hover,.project-screenshot>a:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* Application portfolio: screenshots use the shared slate frame and external caption. */
.project-experience .project-screenshot{margin-top:24px}.illustrated-heading>.project-screenshot{width:100%;min-width:0}

/* Give the shallow Epsilon source a useful landscape crop, without stretching it. */
.facility-epsilon-photo{padding-top:25px}.facility-epsilon-photo img,.status-facility-picture.epsilon img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:85% 50%;border:2px solid #46515c;border-radius:8px}
/* Bastardus has one supplied face; the browser synthesises this heading weight. */
.service-title h3,.hardware-row h3,.infrastructure-services h3,.capability-grid h3,.support-grid h3,.download-list h3,.open-source h3{font-weight:700;font-synthesis:weight}

/* Match the old and new HMWS screenshots without stretching either image. */
.hmws-case .project-comparison .screenshot-frame{position:relative;aspect-ratio:1280/940}
.hmws-case .project-comparison .screenshot-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top}

/* Homepage-only status overview; detailed reporting will have its own site. */
.status-summary{margin-top:44px;scroll-margin-top:calc(var(--sticky-header-height,88px) + 24px)}
.status-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.status-summary-heading h3{font-size:34px;font-weight:700}.status-summary-heading p{margin:8px 0 0;font-size:20px}
.summary-preview{background:#ddd9d4;color:#4f4d49;padding:8px 12px;border-radius:5px;font-size:16px;white-space:nowrap}
.summary-note{font-size:17px;color:#55524e;margin:16px 0 22px}
.status-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.status-summary-group{padding:24px 28px;border:1px solid #c3bfba;border-radius:8px;background:#f4f2ef}
.status-summary-group:nth-child(2){background:#dfdcd7}
.status-summary-group h4{display:flex;align-items:center;gap:12px;font:600 24px/1.3 var(--body);margin:0 0 18px}
.status-summary-group h4 .icon{color:var(--red-ink);width:25px;height:25px}
.status-summary-group ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.status-summary-group li{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:47px}
.summary-name{display:block;font-size:19px;font-weight:600;line-height:1.4}.summary-detail{display:block;font-size:16px;line-height:1.4;color:#595650}
.summary-state{font-size:20px;color:#68645e;flex-shrink:0}
@media(max-width:780px){.status-summary-heading{align-items:flex-start;flex-direction:column;gap:16px}.status-summary-grid{grid-template-columns:1fr;gap:18px}.status-summary-group{padding:23px}.status-summary-heading h3{font-size:32px}}

/* The supplied Epsilon exterior and interior retain their full proportions. */
.epsilon-facility-gallery{margin-top:36px;scroll-margin-top:calc(var(--sticky-header-height,88px) + 24px)}
.epsilon-facility-gallery h3{font-size:32px;font-weight:700;margin:0 0 20px}
.facility-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.facility-photo-pair figure{margin:0;min-width:0}
.facility-photo-pair img{display:block;width:100%;height:auto;border:2px solid #46515c;border-radius:8px}
.facility-photo-pair figcaption{margin-top:12px;color:#575149;font:400 17px/1.5 var(--body)}
@media(max-width:780px){.facility-photo-pair{grid-template-columns:1fr;gap:24px}.epsilon-facility-gallery h3{font-size:30px}}

/* Fine charcoal grain and Lucide wayfinding icons in the section menu. */
.site-sidebar{background-image:url('assets/sidebar-grain.svg'),linear-gradient(150deg,#2d3033 0%,#252729 48%,#202224 100%);background-repeat:repeat,no-repeat;background-size:160px 160px,100% 100%}
#main-nav a{display:flex;align-items:center;gap:13px}
#main-nav a>.icon{width:21px;height:21px;stroke-width:1.5;color:#e0e2e4}
#main-nav a>span{min-width:0}
#main-nav a:hover>.icon,#main-nav a.active>.icon,#main-nav a[aria-current="location"]>.icon{color:#fff}

/* Share text, image and caption rows across the two application cards. */
@media(min-width:781px){
 .work-section .project-experience>.application-card{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;align-items:start}
 .application-card>.project-screenshot{align-self:stretch;display:grid;grid-template-rows:auto 1fr;row-gap:0}
 .application-card>.project-screenshot>.screenshot-frame{align-self:start}
 .application-card>.project-screenshot>figcaption{align-self:end}
 .application-card>.text-link{align-self:end}
}

/* Coalportal belongs with the consulting and industry experience. */
.experience-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;margin:28px 0;padding:28px;background:var(--tile-mid);border:1px solid var(--line);border-radius:var(--panel-radius)}
.experience-case .case-copy{padding-top:0}
@media(max-width:780px){.experience-case{grid-template-columns:1fr;gap:24px;padding:20px}}

/* Keep Vidfilm screenshots directly beneath the case description. */
.vidfilm-case .website-admin-images{margin-top:0}

/* Live status: colour is always paired with a readable state label. */
.summary-live{background:#e6ece8;color:#235139;padding:8px 12px;border-radius:5px;font-size:16px;white-space:nowrap}
.status-legend{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:22px;font-size:17px}
.status-legend>span,.summary-state{display:inline-flex;align-items:center;gap:9px}
.status-dot{display:inline-block;flex:0 0 11px;width:11px;height:11px;border-radius:50%;background:#74716d;box-shadow:0 0 0 1px #0002}
[data-state="operational"] .status-dot{background:#238449}
[data-state="maintenance"] .status-dot{background:#d07813}
[data-state="offline"] .status-dot{background:#bd2934}
.summary-state{font:600 16px/1.4 var(--body);color:#3f3d3a;white-space:nowrap}
.status-summary-group li{border-bottom:1px solid #c3bfba;padding-bottom:12px;gap:12px}
.status-summary-group li:last-child{border:0;padding-bottom:0}
@media(max-width:1100px) and (min-width:781px){.status-summary-grid{grid-template-columns:1fr}}
@media(max-width:420px){.status-summary-group{padding:20px 17px}.summary-name{font-size:18px}.summary-detail{font-size:15px}.summary-state{font-size:14px;gap:7px}.status-dot{width:10px;height:10px;flex-basis:10px}.status-summary-group li{gap:10px}}

/* Current availability with an accessible hover/tap disclosure. */
.status-line{z-index:45}
.status-inner{padding-block:2px}
.status-disclosure{position:relative;min-width:0}
.status-toggle,.status-ticket{display:flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;border-radius:5px;background:transparent;color:#fff;font:inherit;text-align:left;cursor:pointer}
.status-ticket{flex-shrink:0}
.status-toggle:hover,.status-ticket:hover{text-decoration:underline;text-underline-offset:4px}
.status-toggle:focus-visible,.status-ticket:focus-visible{outline:2px solid #fff;outline-offset:3px}
.status-toggle> .icon:last-child{width:16px;height:16px;transition:transform .15s}
.status-toggle[aria-expanded="true"]> .icon:last-child{transform:rotate(180deg)}
.status-popover{position:absolute;left:0;bottom:100%;width:min(760px,calc(100vw - 64px));max-height:calc(100dvh - var(--sticky-header-height,88px) - 72px);overflow-y:auto;overscroll-behavior:contain;padding:24px;background:#f5f3f0;color:var(--ink);border:1px solid #9b9690;border-radius:8px;box-shadow:0 -8px 36px #0003;font:18px/1.45 var(--body);text-align:left}
.status-popover[hidden]{display:none}
.status-popover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.status-popover-heading h2{margin:0;font-size:32px;line-height:1.15}
.status-popover-heading p{margin:7px 0 0;font-size:18px;font-weight:600}
.status-popover-close{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:5px;background:#e3e0db;color:var(--ink);cursor:pointer}
.status-popover-close:focus-visible{outline:2px solid var(--red-ink);outline-offset:3px}
.status-popover-explanation{margin:12px 0 18px;font-size:16px;color:var(--muted)}
.status-popover-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:16px}
.status-popover-group{padding:16px;border-radius:5px;background:#eeebe7;min-width:0}
.status-popover-group:nth-child(2){background:#e1ded9}
.status-popover-group h4{display:flex;align-items:center;gap:9px;margin:0 0 12px;font:600 20px/1.3 var(--body)}
.status-popover-group ul{list-style:none;padding:0;margin:0}
.status-popover-group li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #c7c2bc}
.status-popover-group .summary-name{font-size:16px;line-height:1.35}
.status-popover-group .summary-state{font-size:15px;gap:7px}
.status-popover-updated{margin:16px 0 0;font-size:15px;color:var(--muted)}
@media(max-width:780px){.status-popover{width:min(700px,calc(100vw - 40px))}.status-toggle,.status-ticket{gap:8px}}
@media(max-width:680px){.status-popover{position:fixed;left:16px;right:16px;bottom:var(--status-height);width:auto;padding:20px;max-height:calc(100dvh - var(--sticky-header-height,78px) - var(--status-height) - 24px)}.status-popover-grid{grid-template-columns:1fr;gap:12px}.status-popover-group li{padding:7px 0}.status-popover-close{width:44px;height:44px;flex-basis:44px}.status-toggle>.icon:first-child,.status-ticket>.icon{display:none}}
@media(max-width:360px){.status-toggle,.status-ticket{font-size:15px}.status-toggle{gap:5px}}

/* Dedicated downloads page: readable platform choices and local packages. */
.downloads-intro .page-overview{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center}
.downloads-intro .project-screenshot{margin:0}
.download-jump-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:26px}
.download-jump-links a{font-weight:600}
.download-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.download-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--tile-light);min-width:0}
.download-card:nth-child(even){background:var(--tile-deep)}
.download-card-title{display:flex;align-items:flex-start;gap:14px}
.download-card-title>.icon{margin-top:5px;color:var(--red-ink)}
.download-card h3{font-size:30px;font-weight:700;font-synthesis:weight}
.download-card>p{margin-top:16px}
.download-card .button{margin-top:auto;width:100%}
.download-card .download-meta{margin-bottom:24px}
.download-meta{font-size:16px;color:var(--muted)}
.download-install-note{margin-top:26px;max-width:900px}
.peer-downloads{grid-template-columns:repeat(3,minmax(0,1fr))}
.peer-downloads .download-card{padding:24px}
.peer-downloads .download-card-title{display:block}
.peer-downloads .download-card-title>.icon{margin:0 0 14px}
.peer-downloads .button{font-size:17px;padding-inline:12px;gap:10px}
.download-source{padding:32px;border:1px solid var(--line);border-radius:var(--panel-radius);background:var(--tile-light)}
.download-source .actions{margin-top:24px}
.download-checksums{margin-top:28px}
.download-checksums summary{cursor:pointer;font-weight:600;color:var(--red-ink);padding:8px 0}
.download-checksums dl{margin:20px 0 0}.download-checksums dl>div{padding:14px 0;border-top:1px solid var(--line)}
.download-checksums dt,.download-checksums dd{overflow-wrap:anywhere}.download-checksums dt{font-weight:600;font-size:16px}.download-checksums dd{margin:8px 0 0;font-size:16px;line-height:1.6}
.download-help{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:40px}
@media(max-width:1250px){.peer-downloads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.downloads-intro .page-overview,.download-cards{grid-template-columns:1fr}.downloads-intro .project-screenshot{max-width:560px}.download-card,.peer-downloads .download-card,.download-source{padding:24px}.download-help{align-items:flex-start;flex-direction:column}.download-source .actions{align-items:stretch;flex-direction:column}.download-source .actions>.button{width:100%}}

/* Keep the new engine portfolio images directly below their description. */
.extremeengines-case .website-admin-images{margin-top:0}

/* Shared contact details and accessible enquiry feedback. */
.site-contact-line{margin-bottom:16px;font-size:18px}.site-contact-line a{font-weight:600}
.enquiry-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
[data-enquiry][aria-busy="true"] button{opacity:.7;cursor:wait}
[data-draft][data-result="error"]{border:1px solid #b82029;background:#fff2f2;color:#722027}
[data-draft][data-result="success"]{border:1px solid #607e66;background:#edf4ed;color:#264c30}

.status-ticket{text-decoration:none}

/* AI capabilities replaces the disabled homepage chat. */
.ai-capabilities{margin-top:42px;padding:32px;border:1px solid #d4d0cb;border-radius:8px;background:linear-gradient(130deg,#f1efec,#faf9f7)}.eyebrow{font:600 .85rem/1.5 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#9e2027}.ai-capabilities-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:32px;align-items:start}.ai-capabilities h2{margin-top:0}.ai-proof{display:grid;gap:14px;padding:24px;background:#e5e2de;border:1px solid #cfcbc6;border-radius:6px;color:inherit;text-decoration:none}.ai-proof>.icon{width:32px;height:32px}.ai-proof:hover{background:#dedbd6}.ai-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0}.ai-capability-grid article{padding:24px;border-radius:6px;background:#eeece9;border:1px solid #d7d3ce}.ai-capability-grid article:nth-child(2){background:#e5e2de}.ai-capability-grid article:nth-child(3){background:#f5f3f0}.ai-capability-grid h3{font-size:1.35rem;line-height:1.3;margin:10px 0}.ai-capability-grid p{margin-bottom:0}.ai-capability-grid .text-link{display:inline-block;margin-top:18px}.ai-steps{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-left:28px}.ai-steps li{padding:12px 20px}.ai-steps li::marker{color:#b1252b;font-size:1.3em;font-weight:bold}@media(max-width:850px){.ai-capabilities-intro{grid-template-columns:1fr}.ai-capability-grid{grid-template-columns:1fr}.ai-steps{grid-template-columns:1fr}}@media(max-width:480px){.ai-capabilities{padding:20px}.ai-capability-grid article{padding:20px}}

/* Secondary actions remain legible against white and pale section backgrounds. */
:root{--action-slate:#3d4753;--action-slate-hover:#2c3440}
.button.secondary,.button.outline,.chat-suggestions button,button.text-link,#chat-reset,.dialog-close,.status-popover-close{background:var(--action-slate);border-color:var(--action-slate);color:#fff;border-radius:5px}
.button.secondary:hover,.button.outline:hover,.chat-suggestions button:hover,button.text-link:hover,#chat-reset:hover,.dialog-close:hover,.status-popover-close:hover{background:var(--action-slate-hover);border-color:var(--action-slate-hover);color:#fff}
button.text-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 14px;border:1px solid var(--action-slate);text-decoration:none}
#chat-reset{padding:8px 12px}
.chat-suggestions button{display:inline-flex;align-items:center;gap:8px}
.chat-suggestions button .icon{width:18px;height:18px}
.button.secondary .icon,.button.outline .icon,button.text-link .icon{color:inherit}

/* Sign In stays on the public site until authentication has succeeded. */
#detail-dialog.sign-in-dialog{width:min(500px,calc(100% - 32px));padding:36px;border:1px solid #cccbd0;border-radius:10px;box-shadow:0 24px 90px #0005;max-height:calc(100dvh - 32px)}
#detail-dialog.sign-in-dialog::backdrop{background:#171d26a8;backdrop-filter:blur(3px)}
.sign-in-dialog .dialog-close{right:14px;top:14px;width:36px;height:36px}
.sign-in-heading{margin-bottom:26px}
.sign-in-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:#e5e6e8;color:#3d4753;margin-bottom:18px}
.sign-in-symbol .icon{width:26px;height:26px}
.sign-in-heading .eyebrow{margin:0 0 7px;font-size:14px}
.sign-in-dialog h2{padding:0;font-size:38px;margin:0 0 12px}
.sign-in-heading>p:last-child{font-size:17px;line-height:1.5;margin:0;color:var(--muted)}
.sign-in-form{display:grid;gap:18px}
.sign-in-form .form-field{margin:0;min-width:0}
.sign-in-form label{display:block;font-size:16px;font-weight:600;margin-bottom:7px}
.sign-in-form input{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:10px 12px;border:1px solid #969bA2;border-radius:5px;background:#fff;color:var(--ink);font-size:17px}
.sign-in-form .button{width:100%;margin:0;min-height:50px}
.sign-in-form .button:disabled{background:#68717b;border-color:#68717b;color:#fff;cursor:wait}
.sign-in-message{font-size:16px;line-height:1.5;color:#a01b25;margin:0}
.sign-in-message:empty{display:none}
.sign-in-help{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;font-size:16px}
@media(max-width:520px){#detail-dialog.sign-in-dialog{padding:26px 22px}.sign-in-dialog h2{font-size:34px}.sign-in-help{font-size:15px}}

/* BEGIN SUBTLE TOP MENU TINT — remove this block to revert the treatment. */
.customer-actions { --menu-option-tint: rgb(255 255 255 / 4.5%); }
.customer-actions > a, .customer-actions > button, .customer-actions > [aria-current] {
  background-color: transparent;
  border-radius: 5px;
  width: fit-content;
  max-width: 100%;
  justify-self: center;
  min-height: 38px;
  padding: 7px 10px;
  text-shadow: none;
  transition: background-color 160ms ease, text-shadow 160ms ease;
}
@media (hover: hover) {
  .customer-actions > a:hover, .customer-actions > button:hover {
    background-color: var(--menu-option-tint);
    text-shadow: 0 0 6px rgb(255 255 255 / 38%);
  }
}
.customer-actions > a:focus-visible, .customer-actions > button:focus-visible {
  background-color: var(--menu-option-tint);
  text-shadow: 0 0 6px rgb(255 255 255 / 38%);
}
@media (prefers-reduced-motion: reduce) {
  .customer-actions > a, .customer-actions > button { transition: none; }
}
/* END SUBTLE TOP MENU TINT */

/* BEGIN SIDEBAR EDGE GRADIENT — isolated for easy adjustment or removal. */
.site-sidebar {
  background-image: linear-gradient(to left, rgb(0 0 0 / 10%), transparent), linear-gradient(150deg, #2d3033 0%, #252729 48%, #202224 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: left top;
}
/* END SIDEBAR EDGE GRADIENT */

/* BEGIN PUBLIC SUPPORT MODAL — shares the Sign In lightbox treatment. */
#detail-dialog.ticket-dialog{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:26px 34px;border:1px solid #cccbd0;border-radius:10px;box-shadow:0 24px 90px #0005;overscroll-behavior:contain}
#detail-dialog.ticket-dialog::backdrop{background:#171d26a8;backdrop-filter:blur(3px)}
.ticket-dialog .dialog-close{right:14px;top:14px;width:36px;height:36px}
.ticket-heading{display:flex;align-items:center;gap:15px;padding-right:34px}
.ticket-symbol{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:8px;background:#e5e6e8;color:#3d4753}
.ticket-symbol .icon{width:27px;height:27px}
.ticket-heading .eyebrow{font-size:14px;margin:0 0 4px}
.ticket-dialog h2{font-size:36px;margin:0;padding:0}
.ticket-dialog .ticket-intro{font-size:17px;line-height:1.45;margin:16px 0 8px}
.ticket-dialog .ticket-account{font-size:16px;line-height:1.45;margin:0 0 14px}
.ticket-form .form-grid{gap:16px}
.ticket-form .ticket-subject-row{grid-template-columns:1.25fr 1fr}
.ticket-form .form-field{min-width:0;margin-bottom:12px}
.ticket-form label{font-size:16px;margin-bottom:5px}
.ticket-form input,.ticket-form select,.ticket-form textarea{border:1px solid #969ba2;border-radius:5px;padding:9px 11px;min-height:45px;font-size:17px;line-height:1.4}
.ticket-form textarea{min-height:92px}
.ticket-optional{margin:0 0 16px;font-size:16px}
.ticket-optional summary{cursor:pointer;font-weight:600;min-height:30px}
.ticket-optional summary span{font-weight:400;color:var(--muted)}
.ticket-optional .form-grid{margin-top:14px}
.ticket-dialog .form-note{font-size:16px;line-height:1.45;margin:0 0 16px}
.ticket-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px}
.ticket-submit-row>.button{margin:0;min-height:48px;padding:10px 16px;font-size:17px}
.ticket-submit-row>span{font-size:16px}
.ticket-form .draft-result{font-size:16px;line-height:1.5;padding:14px;margin-top:18px}
.ticket-form [data-draft]:empty{display:none}
@media(max-width:560px){#detail-dialog.ticket-dialog{padding:24px 22px}.ticket-dialog h2{font-size:32px}.ticket-heading{gap:12px}.ticket-symbol{width:38px;height:38px}.ticket-heading .eyebrow{font-size:13px}.ticket-form .form-grid,.ticket-form .ticket-subject-row{grid-template-columns:1fr;gap:0}.ticket-submit-row{display:grid;gap:12px}.ticket-submit-row>.button{width:100%}}
/* END PUBLIC SUPPORT MODAL */

/* Portfolio screenshot lightbox */
[data-screenshot-lightbox]{cursor:zoom-in}
dialog.screenshot-lightbox{box-sizing:border-box;width:max-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:48px 12px 12px;border:0;border-radius:10px;background:#fff;color:#252525;overflow:auto}
dialog.screenshot-lightbox::backdrop{background:rgb(0 0 0 / .78)}
.screenshot-lightbox figure{margin:0}
.screenshot-lightbox figure img{display:block;width:auto;height:auto;max-width:min(1280px,calc(100vw - 48px));max-height:calc(100dvh - 130px);object-fit:contain;margin:auto}
.screenshot-lightbox figcaption{padding:12px 0 0;text-align:center;font-size:14px}
.screenshot-lightbox-close{position:absolute;right:8px;top:4px;width:40px;height:40px;padding:0;border:0;border-radius:5px;background:#fff;color:#252525;font-size:32px;line-height:1;cursor:pointer}
.screenshot-lightbox-close:focus-visible{outline:3px solid #bf2029;outline-offset:1px}

/* Coalportal: enlarge the website crop, excluding the original browser frame. */
.coalportal-lightbox .coalportal-crop{width:min(988px,calc(100vw - 48px),calc((100dvh - 130px) * 988 / 639));aspect-ratio:988/639;position:relative;overflow:hidden}
.coalportal-lightbox .coalportal-crop img{position:absolute;left:0;top:0;width:100.202429%;max-width:none;max-height:none;height:auto;transform:translate(-0.1010101%,-7.6487252%)}

/* Status visibility is configured independently of background monitoring. */
.status-summary-group li[hidden],.status-popover-group li[hidden]{display:none}
