/* September refinement: upright spatial study, an open workshop, quiet contact. */
.layers-section{background:#111415;height:190vh}
.layers-sticky{padding-top:110px;min-height:700px}
.layers-heading .section-label{color:#a9aeb0}
.layers-layout{grid-template-columns:33% 67%;margin-top:36px}
.layer-tabs button{font-size:16px;border-color:#333739;color:#929b9f;padding:16px 0}
.layer-tabs button[aria-pressed=true]{color:#eef2f3;border-color:#bcc8cd}
.layer-no{color:#7f8c92}.layer-description p{color:#a9aeb0}
.exploded-scene{height:330px;perspective:1700px}
.exploded-object{left:26%;top:0;width:60%;height:100%;scale:1;transform:rotateX(0deg) rotateY(-12deg) rotateZ(0deg);transform-origin:center;isolation:auto}
.system-layer{width:100%;aspect-ratio:1.45;top:0;left:0;border-radius:8px;border:1px solid #767f82;box-shadow:3px 0 0 #272e31,5px 0 0 #5b6569,20px 28px 40px #00000055;background:#1a2124}
.layer-top{transform:translate3d(-65px,0,120px) rotateY(-10deg);padding:7px;background:linear-gradient(130deg,#b0b9bc,#3e4649 55%,#919a9e);z-index:3}
.layer-top img{height:100%;object-fit:cover;border-radius:3px}
.layer-middle{transform:translate3d(0,0,0) rotateY(-10deg);background:#242a2c;z-index:2}
.layer-bottom{transform:translate3d(65px,0,-120px) rotateY(-10deg);background:linear-gradient(115deg,#838c90,#3f484c);z-index:1}
.object-label{position:absolute;left:0;right:auto;bottom:-42px;transform:none;padding:0;font-size:10px;letter-spacing:.02em;color:#c4cbce}
.logic-diagram{flex-direction:column;padding:32px;height:100%}.logic-diagram span{width:70%;font-size:11px;text-align:center;border:1px solid #78878d;padding:10px;background:#30393c}.logic-diagram i{width:1px;min-height:15px;flex:1;background:#919fa4}
.hardware{gap:12px;padding:28px}.hardware div{width:20%;height:85%;background:linear-gradient(90deg,#8b979b,#424c4f);border-color:#99a5aa;box-shadow:3px 0 0 #2a3539}.hardware div:after{inset:14px 18%;background:repeating-linear-gradient(0deg,#0a1013bb 0 2px,transparent 2px 6px)}
.layer-progress{background:#30383b}.layer-progress span{background:#87969b}
.services-section{display:grid;grid-template-columns: .8fr 1.5fr;gap:100px;padding-block:130px;align-items:start}
.craft-intro{position:sticky;top:145px}.craft-intro h2{font-size:clamp(38px,4.2vw,60px);line-height:1.07}.craft-intro>p:not(.section-label){font-size:14px;line-height:1.9;color:#a5aeb1;margin-top:28px;max-width:295px}.craft-intro .section-label{color:#a5aeb1}.craft-signature{display:flex;flex-direction:column;margin-top:70px;font-size:13px}.craft-signature>span:last-child{font-size:10px;color:#8f9b9f;margin-top:5px}
.craft-feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding-bottom:50px}.craft-image{position:relative;display:block;height:300px;overflow:hidden;background:#263b44;border-radius:2px}.craft-image img{width:150%;max-width:none;height:100%;object-fit:cover;object-position:12% center;transition:transform .7s var(--ease)}.craft-image:hover img{transform:scale(1.04)}.craft-image>span{position:absolute;bottom:15px;right:20px;font-size:28px;color:white}.craft-feature-copy h3{font-size:31px;line-height:1.15}.craft-feature-copy p{font-size:13px;line-height:1.85;color:#a5aeb1;margin:20px 0 25px}.craft-work .text-link{font-size:11px;color:#c0d1d8;gap:18px}.craft-details{display:grid;grid-template-columns:1fr 1fr;gap:40px 38px;border-top:1px solid #343f43;padding-top:40px}.craft-details article:last-child{grid-column:1/-1;max-width:440px}.craft-details h3{font-size:23px;letter-spacing:-.03em;line-height:1.2}.craft-details p{font-size:13px;line-height:1.85;color:#a5aeb1;margin:16px 0 20px}
.contact-section{background:#e7ebec;color:#20282b;padding-block:110px 100px;border-top:1px solid #c6cdcf}
.contact-layout{grid-template-columns:1fr 1fr;gap:100px;align-items:start}.contact-copy{padding-top:25px}.contact-copy .section-label{font-size:12px;color:#566266;max-width:none;margin-bottom:40px}.contact-copy h2{font-size:clamp(48px,5.7vw,80px);letter-spacing:-.045em;line-height:1.06}.contact-copy>p:not(.section-label){max-width:300px;color:#566266;line-height:1.9;margin-top:30px;font-size:14px}.contact-email{font-size:16px;border-color:#919c9f;padding-bottom:8px;margin-top:45px}
.contact-form{background:#f5f8f8;padding:38px 36px 27px;border:1px solid #d3dadc;border-radius:5px;box-shadow:none}.form-heading{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;margin-bottom:32px}.form-heading>span:last-child{font-size:30px;line-height:1;color:#616f73}.contact-form label{color:#586367;font-size:11px;gap:9px;margin-bottom:22px}.form-row{gap:20px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#e9eff0;border:1px solid #cfd8da;border-radius:3px;padding:12px;color:#263236;font-size:13px;min-height:46px}.contact-form textarea{min-height:114px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#627175;opacity:1}.contact-form .privacy-check{font-size:10px;line-height:1.7;color:#586367;margin-top:6px;max-width:none}.contact-form .button{font-size:13px;padding:15px 18px;background:#28373d;color:#f0f5f6;border-radius:3px}.contact-form .button:hover{background:#415359}.contact-form .button>span:last-child{font-size:24px}.form-status{font-size:12px}.contact-section :focus-visible{outline-color:#31505b}
@media(max-width:1100px){.services-section{gap:55px;grid-template-columns:.85fr 1.4fr}.craft-feature{grid-template-columns:1fr;gap:25px}.craft-image{height:250px}.craft-feature-copy{max-width:410px}.craft-feature-copy h3 br{display:none}.craft-details{gap:30px}.contact-layout{gap:50px}.contact-form{padding:30px 25px}.exploded-object{left:21%;width:64%}}
@media(max-width:760px){.layers-section{height:160vh}.layers-sticky{min-height:780px;height:100svh;padding-top:110px;justify-content:flex-start}.layers-layout{display:flex;flex-direction:column-reverse;gap:25px;margin-top:35px}.exploded-scene{height:245px;width:100%;perspective:1200px}.exploded-object{width:58%;left:24%;height:100%;top:10px;scale:1;transform:rotateY(-12deg)}.system-layer{aspect-ratio:1.1}.object-label{bottom:-28px;font-size:8px}.logic-diagram{padding:20px 10px}.logic-diagram span{font-size:8px;padding:8px}.hardware{padding:20px 15px;gap:8px}.layer-tabs button{font-size:12px;padding:12px 0}.layer-description{min-height:145px}.layer-description h3{font-size:16px}.layer-description p{font-size:12px}.layers-heading h2{font-size:37px}.services-section{display:block;padding-block:75px}.craft-intro{position:static}.craft-intro h2{font-size:43px}.craft-intro>p:not(.section-label){max-width:360px}.craft-signature{margin-top:25px;margin-bottom:40px}.craft-feature{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:35px}.craft-image{height:240px}.craft-feature-copy h3{font-size:25px}.craft-feature-copy p{font-size:12px;margin-block:15px}.craft-work .text-link{font-size:10px;gap:10px}.craft-details{gap:30px 25px;padding-top:30px}.craft-details h3{font-size:21px}.craft-details p{font-size:12px}.contact-section{padding-block:65px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy{padding-top:0}.contact-copy .section-label{margin-bottom:25px}.contact-copy h2{font-size:54px}.contact-copy>p:not(.section-label){font-size:13px;margin-top:20px}.contact-email{margin-top:25px}.contact-form{padding:27px 20px 20px}.contact-form .form-row{grid-template-columns:1fr;gap:0}.form-heading{margin-bottom:25px}}
@media(max-width:400px){.craft-feature{grid-template-columns:1fr}.craft-image{height:240px}.craft-feature-copy h3{font-size:29px}.craft-details{grid-template-columns:1fr}.craft-details article:last-child{grid-column:auto}.layers-heading h2{font-size:34px}.contact-copy h2{font-size:49px}}
@media(max-height:780px) and (max-width:760px),(max-height:700px) and (min-width:761px){.layers-section{height:auto}.layers-sticky{position:relative;height:auto;min-height:790px}}
@media(prefers-reduced-motion:reduce){.layers-section{height:auto}.layers-sticky{position:relative;height:auto}.craft-image img{transition:none}}
.site-header{background:rgba(11,15,17,.96)}
/* Homepage: clear blue rather than cyan. */
.home{--bg:#0b1019;--surface:#151d2a;--accent:#91afff;--line:#2b3549;--dark:#17233b;--paper:#f0f2f7}
.home .site-header,.home .site-header.is-scrolled{background:rgba(11,16,25,.97)}
.home .hero{background:radial-gradient(ellipse at 80% 36%,#202f53 0,transparent 53%),var(--bg)}
.home .button-accent{color:#14213c}.home .button-accent:hover{background:#b8caff}
.home .hero-slab{border-color:#647aab;background:#243557;box-shadow:-8px 10px 0 #17253e,-9px 11px 0 #455d89,-38px 48px 50px #0006}
.home .slab-front{border-color:#7284ac;box-shadow:-5px 6px 0 #192843,-7px 9px 0 #4a608d,-25px 30px 40px #0008}
.home .slab-middle{background:linear-gradient(130deg,#364d7d,#172239 70%)}
.home .slab-back{background:linear-gradient(120deg,#a0b7e9,#4d6391 45%,#253657)}
.home .slab-engraving{color:#bdcdf1}.home .orbit{border-color:#829bcd33}
.home .layers-section{background:#121925}.home .layer-tabs button[aria-pressed=true]{color:#d8e3ff;border-color:#91afff}
.home .layer-middle{background:#263148}.home .layer-bottom{background:linear-gradient(115deg,#8796b4,#44536f)}
.home .logic-diagram span{background:#303e59;border-color:#7d91b7}.home .logic-diagram i{background:#98acce}
.home .hardware div{background:linear-gradient(90deg,#92a3c0,#465975);border-color:#a5b7d3}
.home .contact-section{background:#e9edf5;color:#202c43;border-color:#ccd4e3}
.home .contact-form{background:#f7f8fc;border-color:#d5ddeb}.home .contact-form input:not([type=checkbox]),.home .contact-form select,.home .contact-form textarea{background:#eef1f7;border-color:#d2dae8;color:#26354e}
.home .contact-form .button{background:#2b416e}.home .contact-form .button:hover{background:#3d5991}
/* Services: open, offset compositions with a clear route into the enquiry. */
.offering-section{background:#cbd4e3;color:#1a2941;padding:100px 0 75px}.offering-heading{max-width:850px;margin-bottom:65px}.offering-heading .section-label{color:#55657c;margin-bottom:25px}.offering-heading h2{font-size:clamp(37px,4.7vw,66px);line-height:1.08}.offering-list{display:flex;flex-direction:column;gap:16px}.offering{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding:45px 48px;background:#dce4f2;min-height:245px}.offering-web{margin-right:10%}.offering-software{margin-left:10%;background:#283c65;color:#f0f3fb}.offering-operations{margin-right:10%;background:#f8f9fc}.offering-title{display:flex;flex-direction:column;justify-content:space-between;gap:25px}.offering-symbol{font-size:42px;line-height:1;font-weight:300;color:#5576b6}.offering-software .offering-symbol{color:#b4c9f3}.offering-title h3{font-size:clamp(27px,3vw,40px);line-height:1.12;max-width:350px}.offering-copy{align-self:center}.offering-copy>p:first-child{font-size:14px;line-height:1.85;color:#435775}.offering-software .offering-copy>p:first-child{color:#d6e0f4}.offering-scope{font-size:11px;line-height:1.7;color:#566a89;margin-top:18px}.offering-software .offering-scope{color:#b9c9e6}.offering-link{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #a6b6d1;padding-top:16px;margin-top:25px;font-size:12px;font-weight:500}.offering-link>span:last-child{font-size:24px;transition:transform .25s}.offering-link:hover>span:last-child{transform:translate(3px,-3px)}.offering-software .offering-link{border-color:#61759a}.offering-note{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:40px}.offering-note p{font-size:13px;color:#53637b;max-width:430px}.offering-note .text-link{font-size:12px}.offering-section :focus-visible{outline-color:#4268b1}
@media(max-width:1000px){.offering{gap:35px;padding:35px}.offering-web,.offering-operations{margin-right:5%}.offering-software{margin-left:5%}}
@media(max-width:760px){.offering-section{padding:65px 0 55px}.offering-heading{margin-bottom:35px}.offering-heading h2{font-size:37px}.offering{grid-template-columns:1fr;gap:25px;padding:28px 25px;margin:0}.offering-title{gap:20px}.offering-title h3{font-size:29px}.offering-symbol{font-size:32px}.offering-copy>p:first-child{font-size:13px}.offering-note{flex-direction:column;align-items:flex-start;gap:20px;padding-top:30px}}
@media(prefers-reduced-motion:reduce){.offering-link>span:last-child{transition:none}}

/* Comfortable touch targets without changing the wordmark or navigation rhythm. */
.lang-switch{gap:0}.lang-switch button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.menu-button{width:44px;height:44px;padding:6px}
@media(max-width:760px){.header-actions{gap:12px}.lang-switch{gap:0}}

.legal-supplement{max-width:900px;margin:0 auto;padding:0 var(--gutter) 80px}

/* Labels belong to the moving surface, including its perspective and occlusion. */
.system-layer .object-label{display:block;position:absolute;inset:auto 12px 12px auto;bottom:12px;transform:translateZ(1px);padding:6px 9px;border:1px solid #91afff40;border-radius:3px;background:#101a2e;color:#e5edff;font-size:11px;line-height:1.2;letter-spacing:.01em;white-space:nowrap;backface-visibility:hidden;pointer-events:none}
.layer-middle .logic-diagram{padding-bottom:48px}
.layer-bottom .hardware{padding-bottom:48px}
@media(max-width:760px){.system-layer .object-label{inset:auto 6px 6px auto;font-size:9px;padding:4px 6px}.layer-middle .logic-diagram,.layer-bottom .hardware{padding-bottom:32px}}
/* On narrow screens the controls below name the layers; overlapping labels add no clarity. */
@media(max-width:760px){.system-layer .object-label{display:none}}

/* One arrow shape on every device, independent of emoji and fallback fonts. */
.ui-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex-shrink:0;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){
.project-caption .text-link{grid-column:1/-1;grid-row:3;justify-self:start;font-size:12px;gap:26px;min-height:44px}
.project-caption .text-link>span:last-child{font-size:inherit}
.project-open{width:50px;height:50px;font-size:24px}
}
