/* ChatGPT: post-service compositions. Hero, navigation and rail are outside scope. */
.tk-method,.tk-world{scroll-margin-top:calc(var(--header) + 20px);overflow:clip}
.tk-method{background:var(--paper);padding:48px 0 38px}
.tk-method h2,.tk-world h2{font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.03em;font-weight:400}
.tk-method h2{margin-bottom:20px;max-width:780px}
.tk-method-composition{position:relative}
.tk-method-panorama{position:relative;isolation:isolate;overflow:hidden;mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent)}
.tk-method-panorama picture,.tk-method-panorama img{display:block;width:100%;height:auto}
.tk-method-scan{position:absolute;left:0;top:4%;width:12%;height:91%;background:linear-gradient(90deg,transparent,#d2e9fa55,transparent);opacity:0;mix-blend-mode:screen;pointer-events:none;transition:opacity .2s ease,transform .4s var(--ease)}
.tk-method-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,4vw,64px);margin-top:5px}
.tk-stage{position:relative;border-top:1px solid #294b9b25;padding-top:18px;min-width:0}
.tk-stage::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--blue);opacity:0;transition:opacity .24s ease}
.tk-stage.is-active::before{opacity:1}
.tk-stage h3{font-size:clamp(19px,1.55vw,23px);line-height:1.25;letter-spacing:-.025em;margin:0 0 9px;transition:color .22s ease}
.tk-stage p{font-size:14px;line-height:1.7;max-width:36ch}
.tk-method-action{margin-top:14px;display:flex;justify-content:flex-end}
.tk-method-action a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.tk-method-action svg{width:17px;height:17px;transition:transform .2s var(--ease)}
.tk-method-action a:active svg{transform:translate(2px,-2px)}
.tk-world{position:relative;isolation:isolate;background:#05202f;color:#f3f6f7;padding:38px 0 28px}
.tk-world::before{content:'';position:absolute;left:-10%;top:-1px;width:120%;height:22px;background:var(--paper);border-radius:0 0 52% 50% / 0 0 100% 100%;pointer-events:none}
.tk-world-visual{display:grid;grid-template-columns:.76fr 1.24fr;align-items:center;gap:12px;max-width:1320px}
.tk-world-heading{min-width:0;position:relative;z-index:1;padding-bottom:40px}
.tk-world-heading h2{font-size:clamp(30px,3vw,44px);text-wrap:initial}
.tk-world-picture{position:relative;min-width:0;aspect-ratio:1246 / 820;isolation:isolate}
.tk-building{display:block;width:100%;height:100%;overflow:hidden;mask-image:linear-gradient(transparent,#000 6%,#000 86%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 6%,#000 86%,transparent)}
.tk-component{opacity:0;filter:brightness(1.6) saturate(1.06);transition:opacity .2s ease;pointer-events:none}
.tk-component.is-lit{opacity:.7}
.tk-world-points{position:absolute;inset:0;pointer-events:none}
.tk-point{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-22px 0 0 -22px;color:#fff;pointer-events:auto;border-radius:50%}
.tk-point-climate{left:54.2%;top:12.8%}.tk-point-energy{left:77%;top:29.9%}.tk-point-security{left:88.3%;top:50.6%}
.tk-point-dot{display:block;width:6px;height:6px;border-radius:50%;background:#e6f6ff;border:1px solid #fff;position:relative;box-shadow:0 2px 8px #02182477;transition:transform .18s ease}
.tk-point-dot::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid #d7edff88}
.tk-point-label{position:absolute;bottom:calc(100% + 2px);left:50%;display:flex;align-items:center;gap:10px;padding:9px 12px;background:#12384b;box-shadow:0 6px 18px #00121e55;border-radius:6px;white-space:nowrap;font-size:11px;opacity:0;visibility:hidden;transform:translate(-50%,3px);transition:opacity .16s ease,transform .18s var(--ease),visibility .16s}
.tk-point-label svg{width:13px;height:13px}.tk-point-security .tk-point-label{left:auto;right:0;transform:translateY(3px)}
.tk-point:focus-visible .tk-point-label{opacity:1;visibility:visible;transform:translate(-50%,0)}.tk-point-security:focus-visible .tk-point-label{transform:translateY(0)}
.tk-credentials{position:relative;margin-top:0;max-width:1320px}
.tk-credentials-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.tk-credentials-list>a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:17px 0;min-height:86px;border-top:1px solid #bad3de45;transition:color .18s ease}
.tk-credentials-list>a::before{content:'';position:absolute;inset:-1px 0 auto;height:1px;background:#b5d4fb;transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.tk-credentials-list h3{font-size:clamp(15px,1.3vw,19px);font-weight:400;line-height:1.4;letter-spacing:-.01em;margin:0 0 5px}
.tk-credentials-list p{font-size:12px;color:#c1d7e2;line-height:1.5}
.tk-document{display:flex;align-items:center;gap:6px;color:#c1d7e2;font-size:10px;flex-shrink:0}.tk-document svg{width:15px;height:15px;transition:transform .18s var(--ease)}
.tk-policy{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:44px;color:#c1d7e2;font-size:11px;text-decoration:underline;text-underline-offset:5px}.tk-policy span{font-size:9px}.tk-policy svg{width:15px;height:15px}
.tk-credentials-list>a:active{color:#b5d4fb}.tk-credentials-list>a:active::before,.tk-credentials-list>a:focus-visible::before{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
.tk-stage:hover h3{color:var(--blue)}.tk-method-action a:hover svg{transform:translate(2px,-2px)}
.tk-point:hover .tk-point-label{opacity:1;visibility:visible;transform:translate(-50%,0)}.tk-point-security:hover .tk-point-label{transform:translateY(0)}.tk-point:hover .tk-point-dot{transform:scale(1.2)}
.tk-credentials-list>a:hover{color:#b5d4fb}.tk-credentials-list>a:hover::before{transform:scaleX(1)}.tk-credentials-list>a:hover svg{transform:translate(2px,-2px)}
}
@media(min-width:701px) and (max-width:1050px){.tk-world-heading h2{font-size:clamp(28px,3.3vw,36px)}.tk-stage h3{font-size:19px}.tk-stage p{font-size:13px}.tk-credentials-list{gap:18px}.tk-document{font-size:0}}
@media(max-width:700px){
.tk-method{padding:38px 0 28px}.tk-method h2,.tk-world h2{font-size:clamp(29px,7.6vw,36px);line-height:1.14}.tk-method h2{margin-bottom:24px}
.tk-method-composition{display:grid;grid-template-columns:43% minmax(0,1fr);gap:18px;align-items:stretch}
.tk-method-panorama{grid-column:1;grid-row:1;height:clamp(450px,123vw,520px);mask-image:linear-gradient(transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 4%,#000 96%,transparent)}
.tk-method-panorama picture{height:100%}.tk-method-panorama img{height:100%;width:100%;object-fit:cover;object-position:50% 50%}
.tk-method-scan{left:0;top:0;width:100%;height:14%;background:linear-gradient(transparent,#d2e9fa55,transparent)}
.tk-method-stages{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:0;margin:0}
.tk-stage{border:0;padding:0;display:flex;flex-direction:column;justify-content:center}.tk-stage::before{display:none}.tk-stage h3{font-size:18px;line-height:1.25;margin-bottom:8px}.tk-stage p{font-size:13px;line-height:1.65;max-width:none}
.tk-method-action{justify-content:flex-start;margin-top:10px}.tk-method-action a{font-size:12px}
.tk-world{padding:40px 0 20px}.tk-world::before{height:20px}.tk-world-visual{display:block}.tk-world-heading{padding:0}.tk-world h2{max-width:440px}
.tk-world-picture{width:calc(100% + 32px);margin:12px 0 -2px -16px;aspect-ratio:1246 / 820}.tk-world-points{display:none}
.tk-credentials-list{display:flex;flex-direction:column;gap:0}.tk-credentials-list>a{min-height:62px;padding:10px 0}.tk-credentials-list h3{font-size:15px;margin:0 0 2px}.tk-credentials-list p{font-size:11px}.tk-document{font-size:9px}.tk-policy{justify-content:flex-start;font-size:10px;gap:8px;min-height:44px}.tk-policy span{font-size:9px}
}
@media(max-width:360px){.tk-method-composition{gap:14px}.tk-stage h3{font-size:17px}.tk-stage p{font-size:12px}.tk-world h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.tk-method-scan{display:none}.tk-stage::before,.tk-component,.tk-point-label,.tk-point-dot,.tk-credentials-list>a::before,.tk-document svg,.tk-method-action svg{transition:none!important}.tk-point-label{transform:translateX(-50%)}.tk-point-security .tk-point-label{transform:none}}
