/* TWCD hub — shared visual layer. Calculation and payment styles stay in their existing files. */
@font-face{font-family:Hub Inter;src:url('/assets/fonts/inter-light.woff?v=2') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Hub Inter;src:url('/assets/fonts/inter-regular.woff?v=2') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Hub Inter;src:url('/assets/fonts/inter-medium.woff?v=2') format('woff');font-weight:500 800;font-style:normal;font-display:swap}
.hub-page{--hub-bg:#07090c;--hub-surface:#101317;--hub-line:#2c3036;--hub-muted:#a7a9ad;--hub-gold:#d7b879;--font-head:'Hub Inter',Inter,Arial,sans-serif;--font-body:var(--font-head);font-family:var(--font-body);background:var(--hub-bg);font-size:16px}
.hub-page .topbar{background:#0d1013;border-bottom:1px solid #26292d;color:#a7a9ad}
.hub-page .topbar-inner{min-height:33px;padding-block:4px}
.hub-page .topbar-note{font-size:12px;color:#a7a9ad}
.hub-page .lang-picker select{background:#11151a;color:#e0e1e3;border-color:#34373b;font-size:12px}
.hub-page a:focus-visible,.hub-page button:focus-visible,.hub-page summary:focus-visible,.hub-page input:focus-visible,.hub-page select:focus-visible{outline:2px solid var(--hub-gold);outline-offset:5px}
.hub-page .skip-link:focus{left:16px!important;top:16px;z-index:20000;background:#fff;color:#111;padding:14px}
.hub-wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.hub-header{position:sticky;top:0;z-index:1000;background:rgba(7,9,12,.95);border-bottom:1px solid #ffffff1a;backdrop-filter:blur(14px)}
.hub-header-inner{display:flex;align-items:center;gap:28px;min-height:91px}
.hub-brand{display:flex;align-items:center;gap:12px;color:#f4f3ef;flex-shrink:0;text-decoration:none!important}
.hub-brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:2px;padding:2px}
.hub-brand>span{font-size:12px;font-weight:500;letter-spacing:.14em;line-height:1.7}
.hub-brand small{display:block;font-size:9px;letter-spacing:.17em;color:#b5b6b8}
.hub-primary{display:flex;gap:23px;margin-left:auto}
.hub-primary a,.hub-header-cta,.hub-menu summary{font-size:14px;font-weight:400;color:#e1e1e0;white-space:nowrap}
.hub-primary a:hover{color:var(--hub-gold);text-decoration:none}
.hub-header-cta{border:1px solid #7c715a;padding:10px 13px;display:flex;gap:18px;text-decoration:none!important}
.hub-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px}
.hub-menu summary::-webkit-details-marker{display:none}
.hub-menu summary i{display:block;width:19px;height:8px;border-block:1px solid currentColor;transition:transform .2s}
.hub-menu[open] summary i{transform:rotate(-45deg)}
.hub-menu-panel{position:absolute;top:100%;left:0;right:0;background:#0c0f12;border-bottom:1px solid #444;box-shadow:0 24px 48px #0008;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}
.hub-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding-block:40px 50px}
.hub-menu-grid h2{font-size:12px;color:var(--hub-gold);text-transform:uppercase;letter-spacing:.13em;font-weight:400;margin:0 0 18px}
.hub-menu-grid a{display:block;color:#d7d8d9;font-size:14px;line-height:1.5;padding:7px 0}
.hub-menu-grid a:hover{color:#fff;text-underline-offset:4px}
.hub-home main,.hub-pricing main{color:#f1f1ee}
.hub-home main h1,.hub-home main h2,.hub-home main h3,.hub-pricing main h1,.hub-pricing main h2,.hub-pricing main h3{color:#f3f3f0;font-weight:300;letter-spacing:-.045em;line-height:1.07}
.hub-home main p,.hub-pricing main p{line-height:1.7}
.hub-home main a,.hub-pricing main a{color:inherit}
.hub-kicker{color:var(--hub-gold)!important;font-size:12px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:0 0 26px;line-height:1.6!important}
.hub-muted{color:#91959b}
.hub-hero{position:relative;isolation:isolate;min-height:760px;min-height:min(880px,88svh);display:flex;align-items:flex-end;overflow:hidden}
.hub-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;z-index:-3}
.hub-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,7,11,.76),rgba(3,7,11,.12) 80%),linear-gradient(0deg,#07090c 0%,rgba(5,9,13,.2) 50%,rgba(5,9,13,.03))}
.hub-hero-content{padding-block:150px 36px}
.hub-hero h1{font-size:clamp(3rem,6.6vw,6.9rem);margin:0 0 28px;max-width:100%;line-height:1.01!important;letter-spacing:-.055em!important}
.hub-hero h1 span{color:#d3d2ce}
.hub-hero-lead{font-size:17px;color:#c7cbcf;margin:0 0 34px}
.hub-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hub-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:13px 21px;font-size:14px;line-height:1.4;letter-spacing:0;text-decoration:none!important;border:1px solid transparent;font-family:inherit;font-weight:500;border-radius:2px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.hub-button-gold{background:var(--hub-gold);color:#0b0d10!important;border-color:var(--hub-gold)}
.hub-button-gold:hover{background:#e9cf99;border-color:#e9cf99}
.hub-button-outline{border-color:#606164;background:#090b0e55;color:#eeefec!important}
.hub-button-outline:hover{background:#202429;border-color:#aaa}
.hub-hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:70px;padding-top:22px;border-top:1px solid #ffffff30}
.hub-hero-foot p{color:#afb4bb;font-size:12px;letter-spacing:.035em;margin:0}
.hub-hero-foot p span{padding-inline:11px}
.hub-hero-foot a{display:flex;gap:12px;align-items:center;font-size:14px;white-space:nowrap}
.hub-pathways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--hub-line);padding-block:36px}
.hub-pathways a{position:relative;padding:0 34px;color:#ecece9;border-right:1px solid var(--hub-line);text-decoration:none!important}
.hub-pathways a:first-child{padding-left:0}.hub-pathways a:last-child{border:0;padding-right:0}
.hub-pathways span{display:block;color:#999da3;font-size:12px;margin-bottom:8px;letter-spacing:.06em}
.hub-pathways strong{display:block;font-size:19px;letter-spacing:-.025em;font-weight:400;padding-right:23px;line-height:1.4}
.hub-pathways i{position:absolute;right:34px;top:21px;color:var(--hub-gold);font-style:normal}.hub-pathways a:last-child i{right:0}
.hub-section{padding-block:100px;scroll-margin-top:100px}
.hub-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}
.hub-section h2,.hub-engineering h2{font-size:clamp(2rem,3.6vw,3.6rem);margin:0}
.hub-section-heading>p{color:var(--hub-muted);font-size:15px;margin:0;flex-shrink:0}
.hub-text-link{display:inline-block;font-size:14px;color:#f0ede6!important;line-height:1.6;border-bottom:1px solid #78705d;padding:8px 0;text-decoration:none!important}
.hub-text-link:hover{color:var(--hub-gold)!important;border-color:var(--hub-gold)}
.hub-secondary-link{display:block;color:#b8bbc0!important;font-size:14px;margin-top:16px;text-underline-offset:4px}
.hub-directory-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:50px}
.hub-search{width:min(520px,100%)}.hub-search label{display:block;font-size:14px;margin-bottom:11px;font-weight:400}
.hub-search>div{display:flex;align-items:center;background:#101317;border:1px solid #3c4045;min-height:54px;padding-inline:16px;gap:12px;border-radius:2px}
.hub-search svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:#b4b9c0;stroke-width:1.4}
.hub-search input{background:transparent;border:0;border-radius:0;color:#fff;width:100%;min-width:0;font-family:inherit;font-size:16px;padding:12px 0;box-shadow:none}
.hub-search input::placeholder{color:#898f98;opacity:1}.hub-search input:focus{outline:0;box-shadow:none}.hub-search>div:focus-within{outline:2px solid var(--hub-gold);outline-offset:3px}
.hub-search button{background:transparent;color:#ddd;border:0;font-size:24px;min-width:28px;cursor:pointer}
#hub-results{font-size:13px;color:#aeb1b7;margin:0 0 14px;white-space:nowrap}
.hub-filters{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0 28px}
.hub-filters button{border:1px solid #32363b;border-radius:2px;background:transparent;color:#c0c3c7;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.hub-filters button:hover{border-color:#777}.hub-filters button[aria-pressed=true]{color:#111;background:#e3e1da;border-color:#e3e1da}
.hub-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hub-tool{border:1px solid var(--hub-line);padding:26px;display:flex;flex-direction:column;min-width:0;background:#0d1014;transition:border-color .2s,background .2s}
.hub-tool:hover{border-color:#746951;background:#11151a}
.hub-tool-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#bdac8b;font-size:12px;letter-spacing:.06em;margin-bottom:29px}
.hub-tool-number{color:#848b94;letter-spacing:0}
.hub-tool h3{font-size:25px!important;font-weight:400!important;letter-spacing:-.035em!important;line-height:1.15!important;margin:0 0 14px}
.hub-tool-copy{color:#afb4bc;font-size:15px;margin:0 0 22px;flex:1;line-height:1.6!important}
.hub-tool-price{font-size:13px;color:#e3d1b0;margin:0 0 16px;border-top:1px solid #292d32;padding-top:18px;line-height:1.5!important}
.hub-tool-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hub-tool-actions a{font-size:14px;text-underline-offset:4px}.hub-tool-actions a:first-child{color:#f5f5ef!important}.hub-tool-actions a+ a{color:#a7adb5!important;font-size:13px}
.hub-empty{padding:60px 25px;border:1px solid var(--hub-line);text-align:center}.hub-empty h3{font-size:27px}.hub-empty p{color:var(--hub-muted)}
.hub-page [hidden]{display:none!important}
.hub-directory-note,.hub-price-note{font-size:13px;color:#a1a7b0;max-width:880px;margin:24px 0 0}
.hub-engineering{position:relative;isolation:isolate;min-height:590px;display:flex;align-items:center;scroll-margin-top:90px}
.hub-engineering>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}
.hub-engineering-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#07090c08 20%,#07090cce 67%,#07090ce8),linear-gradient(0deg,#07090c55,transparent)}
.hub-engineering-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%}.hub-engineering-layout>div{grid-column:2;padding-block:80px}
.hub-engineering p:not(.hub-kicker){color:#c6cbd2;margin:28px 0 30px}
.hub-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.hub-service-grid h3{font-size:16px!important;letter-spacing:0!important;font-weight:400!important;color:#a8aeb6!important;margin-bottom:24px}
.hub-service-list{list-style:none;margin:0;padding:0}.hub-service-list li{margin:0;border-top:1px solid var(--hub-line)}
.hub-service-list a{display:flex;align-items:center;gap:18px;padding:18px 0;text-decoration:none!important;font-size:16px;line-height:1.5}
.hub-service-list a:hover{color:var(--hub-gold)!important}.hub-service-list span{font-size:12px;color:#858c96}.hub-service-list i{margin-left:auto;font-size:16px;font-style:normal;color:#aaa}
.hub-service-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:44px;padding-top:22px;border-top:1px solid var(--hub-line)}
.hub-service-foot p{color:var(--hub-muted);margin:0;font-size:15px}
.hub-about{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--hub-line)}
.hub-proof{display:flex;align-items:center;gap:32px;margin-top:44px}.hub-proof>strong{font-weight:300;font-size:94px;letter-spacing:-.07em;line-height:1}.hub-proof>strong span{font-size:44px;vertical-align:top;color:var(--hub-gold)}.hub-proof p{font-size:14px;color:#aeb4bd;margin:0}
.hub-person{display:flex;align-items:center;gap:22px;margin-bottom:32px}.hub-person img{width:88px;height:88px;object-fit:cover;border-radius:2px;filter:saturate(.75)}
.hub-person h3{font-size:24px;margin:0 0 10px}.hub-person p{font-size:13px;margin:0;color:#b4bbc4;line-height:1.6}
.hub-about-copy>p{color:#b1b8c1;font-size:16px}.hub-about-copy .hub-actions{gap:25px;margin-top:25px}
.hub-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.hub-learning-grid article{border-top:1px solid #53514b;padding-top:22px}.hub-learning-grid article>span{font-size:12px;color:#b9a27a;letter-spacing:.06em}.hub-learning-grid h3{font-size:33px;margin:28px 0 22px}.hub-learning-grid p{font-size:16px;color:#aeb5be;line-height:1.6}.hub-learning-grid .hub-secondary-link{margin-top:14px}
.hub-home #showreel,.hub-home #blog{background:var(--hub-bg);padding-block:70px}.hub-home #showreel .container,.hub-home #blog .container{max-width:1280px;width:calc(100% - 112px)}
.hub-home #showreel h2,.hub-home #blog h2{font-size:clamp(2rem,3.4vw,3.3rem)}
.hub-home #showreel .lead,.hub-home #blog .lead{color:#aeb5be;font-size:16px}
.hub-home #showreel .reel-slide,.hub-home #blog .blog-card{border-radius:2px;box-shadow:none;border-color:var(--hub-line)}
.hub-home #blog .blog-body h3{font-weight:400;font-size:22px}.hub-home #blog .blog-body p{font-size:15px}
.hub-home #showreel .reel-cap b{font-size:20px;font-weight:400}.hub-home #showreel .eyebrow,.hub-home #blog .eyebrow{color:var(--hub-gold);font-size:12px}
.hub-news{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--hub-line)}
.hub-news>div>p:not(.hub-kicker){color:#afb5be;margin-block:25px}.hub-news .news-hl{margin-top:30px;border-radius:0;background:transparent;border:0}.hub-news .news-hl a{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--hub-line);font-size:14px;gap:20px}.hub-news .hl-date{color:#9199a4;font-size:12px;white-space:nowrap}
.hub-news-form{padding-top:25px;align-self:center}.hub-news-form form{margin:0!important;max-width:none!important}.hub-news-form .signup-inline{gap:10px;display:flex}.hub-news-form .signup-inline input{background:#11161c;border:1px solid #555d66;color:#fff;border-radius:2px;min-width:0;flex:1;font-size:16px;padding:15px}.hub-news-form .signup-inline input::placeholder{color:#a7afb9}.hub-news-form .signup-inline button{border-radius:2px;background:var(--hub-gold);color:#101319;box-shadow:none;font-size:14px;padding:15px 18px;white-space:nowrap;font-weight:500}.hub-news-form .form-note{font-size:13px;color:#b2bac4;line-height:1.6;margin-top:18px!important}.hub-news-form input[type=checkbox]{width:16px;height:16px;flex:0 0 16px}
.hub-contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--hub-line);padding-block:100px 120px}.hub-contact h2{font-size:clamp(3.5rem,6vw,6rem)}.hub-contact>div>p:not(.hub-kicker){color:#b4bbc4;margin:0 0 25px}.hub-contact-email{display:block;margin-top:35px;font-size:clamp(.875rem,1.6vw,1.15rem);overflow-wrap:anywhere}.hub-contact .hub-secondary-link{margin-top:8px}
.hub-pricing-intro h1{font-size:clamp(3rem,6.6vw,6.5rem);margin:0 0 32px}.hub-pricing-intro>p:not(.hub-kicker){color:#b6bdc5;margin-bottom:32px}.hub-pricing .hub-section+.hub-section{border-top:1px solid var(--hub-line)}
.hub-price-table-wrap{overflow:auto}.hub-price-table{width:100%;border-collapse:collapse;font-size:15px;min-width:760px}.hub-price-table caption{text-align:left;color:#b5bcc5;font-size:14px;margin-bottom:20px}.hub-price-table :is(th,td){text-align:left;vertical-align:top;padding:24px 18px 24px 0;border:0;border-bottom:1px solid var(--hub-line);background:transparent!important}.hub-price-table thead th{color:#a0a8b3;font-weight:400;font-size:13px;padding-top:0}.hub-price-table tbody th{font-weight:400;width:23%;color:#f2f1ed}.hub-price-table td{color:#abb4c0}.hub-price-table td:nth-child(2){width:33%}.hub-price-table td:nth-child(3){color:#dbc498;width:21%}.hub-price-table a{color:#f5f1e7!important;text-underline-offset:5px}
.hub-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.hub-support-grid article{padding:40px;border:1px solid #343b43;background:#0f141a}.hub-support-grid h3{font-size:50px;margin:28px 0}.hub-support-grid h3 span{display:block;font-size:22px;color:#9ea9b7;margin-top:7px;letter-spacing:-.02em}.hub-support-grid p,.hub-support-grid ul{font-size:16px;color:#acb6c3}.hub-support-grid ul{padding-left:18px;margin:25px 0 35px}.hub-support-grid li{padding-block:6px}
.hub-tutoring-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.hub-tutoring-grid article{border-top:1px solid #55524c;padding-block:24px}.hub-tutoring-grid article>span{color:#a7b1bd;font-size:12px}.hub-tutoring-grid h3{font-size:22px;margin:16px 0 30px;line-height:1.2!important}.hub-tutoring-grid strong{display:block;font-size:46px;letter-spacing:-.04em;font-weight:300;margin-bottom:25px}.hub-free-band{display:grid;grid-template-columns:1fr 1fr;gap:8%}.hub-free-band>div>a{display:block;border-top:1px solid var(--hub-line);padding:19px 0;font-size:15px}.hub-free-band>div>a:last-child{margin-top:25px;color:#b6bec8}
/* Apply the visual language to established pages without changing their engines. */
.hub-page:not(.hub-home):not(.hub-pricing) .page-head{background:#090d12;padding-block:80px 66px;border-bottom:1px solid #303842;box-shadow:none}
.hub-page .page-head.blueprint::before{display:none}.hub-page:not(.hub-home):not(.hub-pricing) .page-head h1{font-size:clamp(2.5rem,4.7vw,4.8rem);font-weight:300;line-height:1.08;max-width:22ch;letter-spacing:-.045em}
.hub-page:not(.hub-home):not(.hub-pricing) h2{font-weight:400;letter-spacing:-.035em}.hub-page .page-head .eyebrow{color:#d7b879}
.hub-page .card,.hub-page .panel,.hub-page .price-card,.hub-page .tool-card,.hub-page .solution-card{border-radius:3px;box-shadow:none}
.hub-page .btn{border-radius:2px;box-shadow:none;font-weight:500}.hub-page .btn:hover{box-shadow:none}.hub-page .btn-primary{background:#d7b879;color:#101319;border-color:#d7b879}.hub-page .btn-primary:hover{background:#e9cf99;border-color:#e9cf99}
.hub-page .site-footer{background:#0c1015;border-top:1px solid #303740;color:#a6afb9;padding-top:65px}.hub-page .site-footer .container{max-width:1280px;width:calc(100% - 112px)}.hub-page .site-footer p,.hub-page .site-footer li{font-size:14px;line-height:1.7}.hub-page .site-footer .footer-hd{font-size:12px;letter-spacing:.09em;color:#d9bd8d}.hub-page .site-footer a{color:#b6bec7}.hub-page .site-footer a:hover{color:#fff}.hub-page .footer-bottom{border-color:#313841;font-size:12px}.hub-page .brand-logo--footer{background:#fff;object-fit:contain;border-radius:2px;padding:2px}
.hub-page .fab-stack .fab{background:#151b23;border:1px solid #545d69;border-radius:3px;color:#ddd;box-shadow:0 4px 20px #0004}.hub-page .fab-stack .fab-quote{background:#d7b879;color:#141b24;border-color:#d7b879}.hub-page .fab-stack .fab:hover{background:#26303d;transform:none}.hub-page .fab-stack .fab-quote:hover{background:#ebc98a}.hub-page .to-top{background:#141b24;border-color:#586473;border-radius:3px;box-shadow:none}
@media(min-width:1500px){.hub-catalogue{grid-template-columns:repeat(4,minmax(0,1fr))}.hub-header-inner{gap:35px}}
@media(max-width:1200px){.hub-primary{display:none}.hub-header-cta{margin-left:auto}.hub-wrap{width:calc(100% - 80px)}.hub-menu-grid{gap:25px}.hub-tool{padding:22px}.hub-hero h1{font-size:clamp(3.5rem,7.5vw,6rem)}.hub-service-grid{gap:50px}}
@media(max-width:850px){.hub-wrap{width:calc(100% - 48px)}.hub-header-inner{min-height:80px;gap:22px}.hub-hero{min-height:730px}.hub-hero-content{padding-top:110px}.hub-hero h1{font-size:clamp(3rem,8.8vw,4.8rem)}.hub-section{padding-block:75px}.hub-section-heading{align-items:flex-start;flex-direction:column;gap:25px}.hub-section-heading>p br{display:none}.hub-section-heading>p{max-width:500px}.hub-section-heading>p a{display:block;width:fit-content}.hub-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-pathways strong{font-size:16px}.hub-pathways a{padding-inline:24px}.hub-pathways i{right:18px}.hub-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.hub-engineering-layout{grid-template-columns:1fr 1.5fr}.hub-engineering{min-height:560px}.hub-engineering p br{display:none}.hub-service-grid{gap:35px}.hub-service-foot{align-items:flex-start;flex-direction:column;gap:12px}.hub-about{gap:6%}.hub-proof{flex-direction:column;align-items:flex-start;gap:20px}.hub-learning-grid{gap:27px}.hub-learning-grid h3{font-size:26px}.hub-home #showreel .container,.hub-home #blog .container,.hub-page .site-footer .container{width:calc(100% - 48px)}.hub-news{grid-template-columns:1fr;gap:20px}.hub-news-form{padding-top:10px}.hub-contact{grid-template-columns:1fr;gap:40px}.hub-support-grid article{padding:26px}.hub-tutoring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-free-band{gap:35px}.hub-hero-foot p span{padding-inline:5px}}
@media(max-width:560px){.hub-wrap{width:calc(100% - 40px)}.hub-header-inner{min-height:74px;gap:16px}.hub-brand{gap:9px}.hub-brand img{width:38px;height:38px}.hub-brand>span{font-size:10px;letter-spacing:.09em}.hub-brand small{font-size:8px;letter-spacing:.09em}.hub-header-cta{display:none}.hub-menu{margin-left:auto}.hub-menu summary{font-size:13px}.hub-menu summary i{width:17px}.hub-menu-panel{max-height:calc(100dvh - 74px)}.hub-menu-grid{gap:28px 20px;padding-block:28px}.hub-menu-grid h2{line-height:1.5;font-size:12px;margin-bottom:10px}.hub-menu-grid a{font-size:14px;padding-block:9px}.hub-page .topbar-note{display:none}.hub-page .topbar-inner{justify-content:flex-end;min-height:28px}.hub-hero{min-height:710px;min-height:calc(100svh - 103px)}.hub-hero-content{padding-top:105px;padding-bottom:25px}.hub-hero-image{object-position:62% 50%}.hub-hero-shade{background:linear-gradient(90deg,#02060b80,#02060b20),linear-gradient(0deg,#07090c 0%,#05090bb5 40%,#05090b00 90%)}.hub-kicker{font-size:12px!important;letter-spacing:.08em;margin-bottom:22px}.hub-hero h1{font-size:clamp(2.5rem,10.5vw,3.5rem);line-height:1.04!important;margin-bottom:25px}.hub-hero-lead{font-size:16px;line-height:1.65!important;margin-bottom:28px}.hub-desktop{display:none}.hub-hero .hub-actions{align-items:stretch;flex-direction:column;width:min(310px,100%)}.hub-button{padding:14px 18px;min-height:49px;font-size:14px}.hub-hero-foot{margin-top:40px;gap:16px;align-items:flex-start;flex-direction:column;padding-top:22px}.hub-hero-foot p{font-size:12px;max-width:320px;line-height:1.8}.hub-hero-foot a{font-size:13px}.hub-pathways{grid-template-columns:1fr;padding-block:10px}.hub-pathways a{padding:20px 0!important;border:0;border-bottom:1px solid var(--hub-line)}.hub-pathways a:last-child{border-bottom:0}.hub-pathways span{font-size:12px;margin-bottom:5px}.hub-pathways strong{font-size:19px}.hub-pathways i{right:0;top:37px}.hub-section{padding-block:60px;scroll-margin-top:80px}.hub-section h2,.hub-engineering h2{font-size:clamp(2rem,8vw,2.7rem);line-height:1.12}.hub-section-heading{margin-bottom:32px;gap:20px}.hub-directory-controls{margin-top:32px;gap:12px;align-items:stretch;flex-direction:column}.hub-search{width:100%}#hub-results{margin:2px 0 0;font-size:12px}.hub-filters{gap:6px;margin:22px 0}.hub-filters button{font-size:14px;padding:9px 11px}.hub-catalogue{grid-template-columns:1fr;gap:12px}.hub-tool{padding:25px}.hub-tool-meta{margin-bottom:23px}.hub-tool h3{font-size:26px!important}.hub-tool-copy{font-size:16px}.hub-tool-price{font-size:14px}.hub-tool-actions a{font-size:15px}.hub-directory-note{font-size:13px}.hub-engineering{min-height:660px;align-items:flex-end}.hub-engineering>img{object-position:34% 50%}.hub-engineering-shade{background:linear-gradient(0deg,#07090cf0 5%,#07090cb0 48%,#07090c10 100%)}.hub-engineering-layout{display:block}.hub-engineering-layout>div{padding:220px 0 55px}.hub-engineering p:not(.hub-kicker){margin:24px 0;font-size:16px}.hub-service-grid{grid-template-columns:1fr;gap:35px}.hub-service-grid h3{margin-bottom:18px}.hub-service-list a{font-size:16px;gap:13px;padding-block:17px}.hub-about{grid-template-columns:1fr;gap:40px}.hub-proof{flex-direction:row;align-items:center;gap:26px;margin-top:35px}.hub-proof>strong{font-size:80px}.hub-proof p{font-size:13px}.hub-person{margin-bottom:25px}.hub-learning-grid{grid-template-columns:1fr;gap:38px}.hub-learning-grid h3{font-size:32px;margin:22px 0 18px}.hub-learning-grid h3 br{display:none}.hub-home #showreel,.hub-home #blog{padding-block:50px}.hub-home #showreel .container,.hub-home #blog .container,.hub-page .site-footer .container{width:calc(100% - 40px)}.hub-news-form .signup-inline{flex-direction:column}.hub-news .news-hl a{align-items:flex-start}.hub-contact h2{font-size:clamp(3rem,13vw,4.5rem)}.hub-contact .hub-actions{align-items:stretch;flex-direction:column}.hub-contact .hub-contact-email{font-size:15px}.hub-pricing-intro h1{font-size:clamp(2.7rem,11vw,4rem)}.hub-support-grid{grid-template-columns:1fr}.hub-support-grid h3{font-size:45px}.hub-tutoring-grid{gap:20px}.hub-tutoring-grid h3{font-size:19px}.hub-tutoring-grid strong{font-size:42px}.hub-free-band{grid-template-columns:1fr}.hub-page:not(.hub-home):not(.hub-pricing) .page-head{padding-block:52px}.hub-page:not(.hub-home):not(.hub-pricing) .page-head h1{font-size:2.6rem}.hub-page .site-footer .footer-grid{gap:30px}.hub-page .fab-stack .fab{border-radius:2px}.hub-page .fab-stack .fab-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hub-page html{scroll-behavior:auto}.hub-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Consultancy layout: a quiet masthead and a full-height, grouped navigation. */
.hub-header-inner{min-height:84px;gap:0}
.hub-header-cta{margin-left:auto;border:0;border-left:1px solid var(--hub-line);padding:20px 30px;gap:12px;min-height:84px}
.hub-header-cta svg{width:23px;height:23px;flex-shrink:0;color:var(--hub-gold)}
.hub-menu{margin-left:0;align-self:stretch}
.hub-menu>#hub-menu-toggle{min-height:84px;padding:18px 0 18px 30px;border-left:1px solid var(--hub-line);gap:20px;min-width:108px;justify-content:space-between}
.hub-menu>#hub-menu-toggle i{height:10px;width:23px;position:relative;border:0;transform:none}
.hub-menu>#hub-menu-toggle i:before,.hub-menu>#hub-menu-toggle i:after{content:"";position:absolute;left:0;width:100%;height:1px;background:currentColor;transition:transform .2s,top .2s;top:1px}
.hub-menu>#hub-menu-toggle i:after{top:9px}
.hub-menu[open]>#hub-menu-toggle i:before{top:5px;transform:rotate(45deg)}
.hub-menu[open]>#hub-menu-toggle i:after{top:5px;transform:rotate(-45deg)}
.hub-menu[open]>#hub-menu-toggle{color:var(--hub-gold)}
.hub-menu-panel{height:calc(100dvh - 84px);max-height:calc(100dvh - 84px);background:#0b0f13;border:0;box-shadow:none}
.hub-menu-content{padding-block:35px 28px}
.hub-menu-search{max-width:850px;margin-bottom:34px}
.hub-menu-search label{display:block;color:#c5c9ce;font-size:14px;margin-bottom:10px}
.hub-menu-search>div{display:flex;align-items:center;gap:14px;padding:0 16px;background:#171d24;border:1px solid #48505a}
.hub-menu-search svg{width:20px;height:20px;fill:none;stroke:#d7b879;stroke-width:1.6;flex-shrink:0}
.hub-menu-search input{width:100%;min-width:0;padding:15px 0;border:0;border-radius:0;color:#f3f3ef;background:transparent;font:inherit;font-size:16px;box-shadow:none}
.hub-menu-search input:focus{outline:none!important;box-shadow:none}
.hub-menu-search>div:focus-within{outline:2px solid var(--hub-gold);outline-offset:3px}
.hub-menu-search input::placeholder{color:#abb2bc;opacity:1}
.hub-menu-search button{background:transparent;color:#e9cf99;font:inherit;font-size:14px;border:0;min-height:44px;cursor:pointer}
#hub-site-results{font-size:14px;color:#c1c8d1;margin:16px 0 0;line-height:1.6}
.hub-menu-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:clamp(50px,10vw,160px)}
.hub-nav-group{border-top:1px solid #343c47}
.hub-nav-group:last-child{border-bottom:1px solid #343c47}
.hub-nav-group>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:16px 0;color:#e7e7e1;font-size:23px;letter-spacing:-.025em;line-height:1.3;white-space:normal}
.hub-nav-group>summary>span{font-size:25px;font-weight:300;color:var(--hub-gold);line-height:1}
.hub-nav-group[open]>summary{color:var(--hub-gold)}
.hub-nav-group>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;padding:2px 0 24px;margin:0}
.hub-nav-group li{margin:0;min-width:0}
.hub-nav-group li a{display:block;padding:10px 0;font-size:15px;line-height:1.5;color:#bbc4ce;text-decoration:none}
.hub-nav-group li a:hover,.hub-nav-group li a[aria-current=page]{color:var(--hub-gold);text-decoration:underline;text-underline-offset:5px}
.hub-menu-aside{padding:6px 0 0;align-self:start}
.hub-menu-aside .hub-kicker{font-size:12px!important;letter-spacing:.08em;margin-bottom:25px;max-width:30ch}
.hub-menu-statement{font-size:clamp(2rem,3vw,3rem);line-height:1.1;letter-spacing:-.04em;font-weight:300;color:#e9e8e3;margin:0 0 28px}
.hub-menu-feature{display:block;padding:23px;background:#171c22;border-top:3px solid var(--hub-gold);color:#fff;text-decoration:none!important}
.hub-menu-feature>span{display:block;font-size:12px;letter-spacing:.09em;color:#d7b879}
.hub-menu-feature strong{display:block;font-size:24px;line-height:1.25;font-weight:400;margin:14px 0 24px;letter-spacing:-.035em}
.hub-menu-feature>span:last-child{font-size:14px;letter-spacing:0;color:#d5d8dd;display:flex;justify-content:space-between}
.hub-menu-feature b{font-weight:400}
.hub-menu-quick{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #343c47;color:#d1d6dc;font-size:15px;text-decoration:none!important}
.hub-menu-quick:hover{color:var(--hub-gold)}
.hub-menu-bottom{display:flex;flex-wrap:wrap;gap:15px 40px;margin-top:40px;border-top:1px solid #343c47;padding-top:24px}
.hub-menu-bottom a{color:#c5ccd4;font-size:14px;overflow-wrap:anywhere}
.hub-menu .topbar{background:transparent;border:0;margin-top:24px}
.hub-menu .topbar-inner{width:100%;max-width:none;padding:0;min-height:44px;gap:20px;justify-content:space-between}
.hub-menu .topbar-note{display:block;font-size:12px;max-width:55ch;line-height:1.6}
.hub-menu .lang-picker select{min-height:44px;font-size:14px;padding:8px}
.hub-navigation-open{overflow:hidden}
.hub-navigation-open .fab-stack,.hub-navigation-open .to-top{visibility:hidden}
.hub-home .hub-hero{min-height:640px;min-height:min(760px,82svh)}
.hub-home .hub-hero-content{padding-top:110px}
.hub-home .hub-hero h1{font-size:clamp(3rem,6.5vw,6.25rem)}
.hub-home .hub-hero-lead{max-width:46ch;font-size:18px;line-height:1.6!important}
.hub-introduction{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.hub-introduction>div>p:not(.hub-kicker){font-size:17px;color:#b6bdc6;margin:0 0 22px}
.hub-introduction>div>p:first-child:not(.hub-kicker){color:#e4e6e6;font-size:22px;line-height:1.45}
.hub-expertise{padding-bottom:24px;scroll-margin-top:100px}
.hub-expertise>.hub-wrap>.hub-kicker{margin-bottom:24px}
.hub-expertise-band{display:block;position:relative;isolation:isolate;overflow:hidden;text-decoration:none!important;border-bottom:1px solid #45433d;background:#141a20}
.hub-expertise-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2;opacity:.55;transition:transform .45s}
.hub-expertise-band:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080c11dd,#080c1170 60%,#080c11c9);z-index:-1}
.hub-expertise-band>.hub-wrap{min-height:128px;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(180px,.8fr) 32px;align-items:center;gap:24px;padding-block:28px}
.hub-band-number{color:var(--hub-gold);font-size:13px}
.hub-home .hub-expertise-band h3{font-size:clamp(1.45rem,2.5vw,2.1rem);font-weight:400;letter-spacing:-.03em;line-height:1.2;margin:0;max-width:26ch}
.hub-expertise-band p{color:#d6d8db;font-size:15px;max-width:35ch;line-height:1.5!important;margin:0}
.hub-band-arrow{color:var(--hub-gold);font-size:26px;text-align:right}
.hub-expertise-band:hover>img{transform:scale(1.025)}
.hub-expertise-band:hover h3{text-decoration:underline;text-decoration-color:var(--hub-gold);text-underline-offset:8px;text-decoration-thickness:1px}
.hub-home #tools{padding-bottom:70px}
.hub-home .hub-tool{border-width:0 0 1px;border-color:#434851;background:#10151b}
.hub-home .hub-tool:hover{background:#151c24;border-color:var(--hub-gold)}
.hub-home .hub-tool-copy{font-size:16px}
.hub-home .hub-about{grid-template-columns:minmax(250px,.85fr) 1.15fr;gap:10%;align-items:center}
.hub-portrait{max-width:440px;width:100%}
.hub-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:0}
.hub-portrait>p{font-size:18px;margin:0;padding:20px 0;border-bottom:1px solid #48463f}
.hub-portrait>p span{display:block;font-size:14px;color:#b8bfc7;margin-top:6px}
.hub-home .hub-about-copy .hub-proof{flex-direction:row;align-items:center;gap:25px;margin:30px 0}
.hub-home .hub-about-copy .hub-proof>strong{font-size:72px}
.hub-home .hub-about-copy .hub-proof>strong>span{font-size:32px}
.hub-home .hub-about-copy .hub-proof p{font-size:14px}
.hub-home .hub-about-copy>p:not(.hub-kicker){font-size:17px}
.hub-home #blog .blog-card{border:0;border-bottom:2px solid #645a45;background:#111820}
.hub-home #blog .blog-body{padding:22px}
.hub-home #blog .blog-body h3{font-size:23px;line-height:1.3}
.hub-page .site-footer{padding-top:50px}
.hub-page .site-footer .footer-grid{gap:40px}
.hub-page .site-footer .footer-hd{font-size:14px}
.hub-page .site-footer .footer-grid>div:not(:first-child){border-top:1px solid #49483f;padding-top:24px}
/* Keep direct support in reach without covering page links with a toolbar. */
.hub-page .fab-stack .fab:not(.fab-wa){display:none}
.hub-page .fab-stack{left:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.hub-page .fab-stack .fab-wa{flex:none;flex-direction:row;width:auto;height:48px;min-height:48px;margin:0;padding:0 16px;gap:9px;color:#ead2a2;border-color:#8b7957}
.hub-page .fab-stack .fab-wa .fab-label{position:static;display:block;width:auto;height:auto;overflow:visible;clip:auto;white-space:nowrap;font-size:13px}
@media(max-width:620px){.hub-page .fab-stack{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.hub-page .to-top{left:12px;right:auto;bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:850px){
  .hub-header-inner,.hub-header-cta,.hub-menu>#hub-menu-toggle{min-height:78px}
  .hub-header-cta{padding:18px 24px}
  .hub-menu>#hub-menu-toggle{padding-left:24px;min-width:100px}
  .hub-menu-panel{height:calc(100dvh - 78px);max-height:calc(100dvh - 78px)}
  .hub-menu-layout{grid-template-columns:1fr;gap:35px}
  .hub-menu-aside{display:none}
  .hub-nav-group>summary{font-size:21px;min-height:61px}
  .hub-nav-group>ul{grid-template-columns:1fr 1fr}
  .hub-introduction{gap:40px;grid-template-columns:1fr}
  .hub-expertise-band>.hub-wrap{grid-template-columns:28px 1fr 28px;gap:18px;min-height:120px}
  .hub-expertise-band p{display:none}
  .hub-home .hub-about{gap:40px;grid-template-columns:1fr 1.15fr;align-items:start}
  .hub-home .hub-about-copy .hub-proof{gap:18px}
  .hub-home .hub-about-copy .hub-proof>strong{font-size:62px}
}
@media(max-width:560px){
  .hub-header-inner{min-height:72px;gap:0}
  .hub-header-cta{display:flex;min-height:72px;padding:14px 17px;margin-left:auto}
  .hub-header-cta>span{display:none}
  .hub-menu{margin-left:0}
  .hub-menu>#hub-menu-toggle{min-height:72px;min-width:79px;padding:14px 0 14px 16px;gap:12px;font-size:14px}
  .hub-menu>#hub-menu-toggle i{width:19px}
  .hub-brand{gap:8px;padding-right:8px}
  .hub-brand>span{font-size:10px;letter-spacing:.055em}
  .hub-brand small{font-size:8px;letter-spacing:.07em}
  .hub-brand img{width:34px;height:34px}
  .hub-menu-panel{height:calc(100dvh - 72px);max-height:calc(100dvh - 72px)}
  .hub-menu-content{padding-block:25px}
  .hub-menu-search{margin-bottom:24px}
  .hub-menu-search label{font-size:14px}
  .hub-menu-search input{font-size:16px;padding-block:14px}
  .hub-nav-group>summary{min-height:57px;font-size:19px;padding:16px 0}
  .hub-nav-group>ul{grid-template-columns:1fr;padding:0 0 18px 16px}
  .hub-nav-group li a{font-size:16px;padding-block:11px}
  .hub-menu-bottom{margin-top:30px;flex-direction:column;gap:14px}
  .hub-menu .topbar-inner{align-items:flex-start;flex-direction:column;gap:12px}
  .hub-menu .topbar-note{display:block;font-size:12px}
  .hub-home .hub-hero{min-height:590px;min-height:max(540px,78svh)}
  .hub-home .hub-hero-content{padding-top:95px}
  .hub-home .hub-hero h1{font-size:clamp(2.5rem,10.5vw,3.5rem)}
  .hub-home .hub-hero-lead{font-size:17px}
  .hub-home .hub-hero-foot{margin-top:35px}
  .hub-home .hub-introduction{gap:28px;padding-block:55px}
  .hub-introduction>div>p:first-child:not(.hub-kicker){font-size:21px}
  .hub-expertise{padding-bottom:0}
  .hub-expertise-band>.hub-wrap{min-height:114px;grid-template-columns:20px 1fr 22px;gap:14px;padding-block:25px}
  .hub-home .hub-expertise-band h3{font-size:22px;line-height:1.25}
  .hub-home .hub-about{grid-template-columns:1fr;gap:40px}
  .hub-portrait{max-width:360px}
  .hub-home .hub-about-copy .hub-proof>strong{font-size:70px}
  .hub-home #tools{padding-bottom:55px}
}
@media(max-width:370px){.hub-brand img{width:30px;height:30px}.hub-brand>span{font-size:9px}.hub-brand small{font-size:7px}.hub-header-cta{padding-inline:12px}.hub-menu>#hub-menu-toggle{min-width:70px;padding-left:12px;gap:8px}}
@media print{.hub-header,.hub-page .topbar,.hub-page .fab-stack,.hub-page .site-footer,.hub-page .to-top{display:none!important}.hub-home main,.hub-pricing main{color:#111;background:white}.hub-home main :is(h1,h2,h3,p,a,span),.hub-pricing main :is(h1,h2,h3,p,a,span){color:#111!important}.hub-section{padding-block:24px}.hub-tool{break-inside:avoid;background:white}}
