/* Readable typography and an adaptive, touch-first app shell. */
body.itfs-site .brand img{width:190px;max-height:90px;height:auto}body.itfs-site .header-wrap{min-height:108px}
.itfs-app-dock{display:none}
body.itfs-site .itfs-eyebrow{font-size:12px;letter-spacing:.08em}
body.itfs-site .itfs-dash-head{font-size:11px;letter-spacing:.035em;line-height:1.5}
body.itfs-site .itfs-map-node{width:136px;font-size:11px;padding:10px}
body.itfs-site .itfs-map-node b{font-size:17px}body.itfs-site .itfs-map-node small{display:block;font-size:11px;line-height:1.4}
body.itfs-site .itfs-map-center small{font-size:10px;max-width:86px;text-align:center;line-height:1.4}
body.itfs-site .itfs-map-center>span{font-size:11px}
body.itfs-site .itfs-mini-tag{font-size:10px;letter-spacing:.025em}
body.itfs-site .itfs-funnel-chart>span,body.itfs-site .itfs-learning-track>strong{font-size:11px;letter-spacing:.025em;color:#425c70}
body.itfs-site .itfs-funnel-chart b,body.itfs-site .itfs-learning-track>div{font-size:12px}
body.itfs-site .itfs-funnel-chart small{font-size:11px;color:#53697b}
body.itfs-site .itfs-skill-matrix small{font-size:10px;letter-spacing:0;line-height:1.5;color:#42586a}
body.itfs-site .itfs-skill-matrix span{font-size:13px}
body.itfs-site .itfs-globe-label,body.itfs-site .itfs-globe-label small{font-size:11px}
body.itfs-site .itfs-personal-proof,body.itfs-site .itfs-personal-proof strong{font-size:12px;color:#4c6070}
body.itfs-site .itfs-brand-ribbon span{font-size:12px;color:#4b6070}
body.itfs-site .itfs-roadmap-chart article>span:last-child,body.itfs-site .itfs-roadmap-caption{font-size:11px!important;letter-spacing:.02em}
body.itfs-site .itfs-roadmap-chart p{font-size:14px}
body.itfs-site .itfs-art-note,body.itfs-site .itfs-art-label,body.itfs-site .itfs-browser-bar,body.itfs-site .itfs-browser-bar span{font-size:11px;letter-spacing:.025em}
body.itfs-site .itfs-preview-hero>span,body.itfs-site .itfs-preview-tiles>span,body.itfs-site .itfs-system-inputs span,body.itfs-site .itfs-system-core small,body.itfs-site .itfs-system-output,body.itfs-site .itfs-channel-grid b{font-size:12px}
body.itfs-site .itfs-solution-art{height:auto;min-height:340px}
body.itfs-site .itfs-footer a,body.itfs-site .itfs-footer p,body.itfs-site .itfs-footer-bottom,body.itfs-site .itfs-footer-bottom a{font-size:13px}
body.itfs-site .itfs-global-label{font-size:11px}
body.itfs-site .itfs-course-label,body.itfs-site .itfs-course-meta span,body.itfs-site .itfs-course details p{font-size:13px}
body.itfs-site .itfs-course details,body.itfs-site .itfs-course-link{font-size:14px}
body.itfs-site .itfs-course-toolbar,body.itfs-site #itfs-rate-note{font-size:13px}
body.itfs-site .itfs-text-link{font-size:14px}
body.itfs-site .itfs-slide-tabs button,body.itfs-site .itfs-slide-tabs button span{font-size:12px}
body.itfs-site .itfs-slider-arrows button{min-width:44px;min-height:44px}
body.itfs-site .itfs-slide-tabs button{min-height:44px;min-width:44px}
@media(max-width:1100px){
 html{scroll-padding-top:100px}
 body.itfs-site{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f3f5f8;padding-bottom:calc(98px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:transparent}
 body.itfs-site .container{width:calc(100% - 40px)}
 .itfs-topline{display:none}
 body.itfs-site .topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-bottom:1px solid #dce4ec;padding-top:env(safe-area-inset-top,0px)}
 body.itfs-site .header-wrap{min-height:85px;gap:12px}
 body.itfs-site .brand img{width:172px;max-height:78px}
 body.itfs-site .header-cta{display:none}
 body.itfs-site .itfs-nav-toggle{display:block;min-width:46px;min-height:46px;border:1px solid #dce4ed;border-radius:16px;background:#f0f4f8;color:#233b51;font-size:21px;margin-left:auto;padding:8px}
 body.itfs-site .main-nav{display:none;position:absolute;top:calc(100% + 8px);left:16px;right:16px;border:1px solid #dce4ed;border-radius:24px;background:#fff;padding:12px;box-shadow:0 20px 60px #21354b26;max-height:70dvh;overflow:auto}
 body.itfs-site .main-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:3px}
 body.itfs-site .main-nav a{display:block;border-radius:14px;background:#f4f6f9;padding:15px 18px;font-size:16px}
 .itfs-app-dock{position:fixed;z-index:90;bottom:max(12px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);width:min(520px,calc(100% - 24px));padding:7px;border:1px solid #fff;border-radius:27px;background:rgba(255,255,255,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #1c36532b}
 .itfs-app-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;color:#526477;text-decoration:none;border-radius:20px;font-size:12px;font-weight:600}
 .itfs-app-dock svg{width:23px;height:23px}.itfs-app-dock a[aria-current]{color:#176d9e;background:#e8f2fa}.itfs-app-dock a:active{background:#dcebf6;transform:scale(.96)}
 body.itfs-site .itfs-showcase{margin:16px 16px 0;border:1px solid #e0e6ed;border-radius:28px;background:linear-gradient(145deg,#fff 10%,#f0f7fc 65%,#f4f6ee);padding:25px 0 0;box-shadow:0 8px 25px #263b5207}
 body.itfs-site .itfs-showcase>.container{width:calc(100% - 36px)}
 body.itfs-site .itfs-slide{gap:24px;padding-bottom:20px;min-height:0}
 body.itfs-site .itfs-slide-copy h1,body.itfs-site .itfs-slide-copy h2{font-size:clamp(34px,4.3vw,46px)!important;letter-spacing:-.045em!important;line-height:1.1!important;margin:16px 0 18px!important}
 body.itfs-site .itfs-slide-copy>p{font-size:16px;line-height:1.65;color:#4b5d6e;margin-bottom:20px}
 body.itfs-site .itfs-slide .btn{font-size:14px;min-height:50px;border-radius:15px;padding:15px 18px}
 body.itfs-site .itfs-slide .hero-actions{gap:16px}
 body.itfs-site .itfs-personal-proof{margin-top:20px}
 body.itfs-site .itfs-dashboard{transform:none!important;border-radius:23px;padding:20px;box-shadow:none;max-width:none}
 body.itfs-site .itfs-brand-ribbon{margin:16px;background:transparent;border:0}
 body.itfs-site .itfs-brand-ribbon .container{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0}
 body.itfs-site .itfs-brand-ribbon span{border:1px solid #e2e7ed!important;background:#fff;border-radius:20px;padding:16px;line-height:1.5}
 body.itfs-site .itfs-brand-ribbon strong{font-size:25px}
 body.itfs-site .section,body.itfs-site .itfs-courses,body.itfs-site .itfs-roadmap{padding:38px 0}
 body.itfs-site .section h2,body.itfs-site .itfs-section-heading h2,body.itfs-site .itfs-section-heading h1{font-size:34px;letter-spacing:-.04em}
 body.itfs-site .section p{font-size:16px;line-height:1.7}
 body.itfs-site #about,body.itfs-site #services,body.itfs-site .itfs-courses,body.itfs-site .itfs-solutions{background:transparent}
 body.itfs-site .service-card,body.itfs-site .info-card,body.itfs-site .highlight-box,body.itfs-site .itfs-course,body.itfs-site .itfs-roadmap-chart article{border-radius:23px;background:#fff;border:1px solid #e1e7ed;box-shadow:0 5px 18px #263b5205}
 body.itfs-site .itfs-course-body{padding:24px}
 body.itfs-site .itfs-course h3{font-size:26px}
 body.itfs-site .itfs-course p{font-size:15px}
 body.itfs-site .itfs-course details summary{padding-block:12px;min-height:44px}
 body.itfs-site .itfs-course-toolbar select,body.itfs-site input,body.itfs-site textarea,body.itfs-site select{font-size:16px!important;min-height:48px}
 body.itfs-site .itfs-course-toolbar{padding:16px;background:#fff;border:1px solid #e0e6ed;border-radius:18px;margin-bottom:18px;gap:15px}
 body.itfs-site .itfs-brand-story{margin:16px;border-radius:28px;padding:38px 0;overflow:clip}
 body.itfs-site .itfs-story-grid{gap:30px}
 body.itfs-site .itfs-brand-story h2{font-size:36px!important}
 body.itfs-site .itfs-brand-story p{font-size:16px!important}
 body.itfs-site .itfs-roadmap-chart{gap:14px}
 body.itfs-site .itfs-roadmap-chart h3{font-size:23px}
 body.itfs-site .itfs-solution-grid{gap:18px}
 body.itfs-site .itfs-solution-grid article{border-radius:24px;max-width:none}
 body.itfs-site .itfs-footer{padding-bottom:30px;border-radius:28px 28px 0 0}
 body.itfs-site .itfs-page-hero{background:transparent;padding:30px 0}
 body.itfs-site .itfs-page-content{background:#fff;border:1px solid #e0e6ed;border-radius:24px;padding:24px;margin-bottom:24px}
 body.itfs-site .itfs-page-content p{font-size:16px}
 body.itfs-site .itfs-contact-cards>div{border-radius:18px}
 body.itfs-site .itfs-slider-controls{gap:8px}
 body.itfs-site .itfs-slide-tabs{gap:4px}
 body.itfs-site .itfs-slide-tabs button span{display:none}
 body.itfs-site .itfs-slide-tabs button{padding:8px;border-radius:12px}
 body.itfs-site .itfs-slide-tabs button[aria-current=true]{background:#e2eef7}
 body.itfs-site .itfs-slide-tabs button[aria-current=true]:before{display:none}
 body.itfs-site .itfs-slider-arrows{gap:5px}
}
@media(min-width:700px) and (max-width:1100px){
 body.itfs-site .itfs-slide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;min-height:570px}
 body.itfs-site .itfs-story-grid,body.itfs-site .about-grid,body.itfs-site .contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 body.itfs-site .grid-3,body.itfs-site .itfs-course-grid,body.itfs-site .itfs-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.itfs-site .itfs-solution-grid article:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 body.itfs-site .itfs-solution-grid article:last-child .itfs-solution-art{grid-row:1/3}
 body.itfs-site .itfs-map{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}
 body.itfs-site .itfs-map svg{display:none}
 body.itfs-site .itfs-map-center{position:static;transform:none;grid-column:1/-1;width:100%;height:auto;padding:13px;border-radius:16px;box-shadow:none}
 body.itfs-site .itfs-map-center small{max-width:none}
 body.itfs-site .itfs-map-node{position:static;width:auto}
 body.itfs-site .itfs-map-node b{font-size:16px}
 body.itfs-site .itfs-dash-title{font-size:28px}
 body.itfs-site .itfs-skill-matrix>div{padding:12px;grid-template-columns:1fr}
 body.itfs-site .itfs-globe-label{position:static;display:block;margin:5px 0}
 body.itfs-site .itfs-globe-diagram{height:auto}.itfs-globe-diagram svg{max-height:190px}
}
@media(max-width:699px){
 body.itfs-site .container{width:calc(100% - 32px)}
 body.itfs-site .itfs-showcase{margin:12px 12px 0;padding-top:22px;border-radius:25px}
 body.itfs-site .itfs-showcase>.container{width:calc(100% - 32px)}
 body.itfs-site .itfs-slide{grid-template-columns:1fr;gap:20px}
 body.itfs-site .itfs-slide-copy h1,body.itfs-site .itfs-slide-copy h2{font-size:36px!important}
 body.itfs-site .itfs-slide-copy .itfs-eyebrow{font-size:11px;letter-spacing:.025em}
 body.itfs-site .itfs-slide-copy{min-height:460px}
 body.itfs-site .itfs-slide-copy .hero-actions{align-items:stretch;flex-direction:column;gap:14px}
 body.itfs-site .itfs-slide .itfs-text-link{min-height:44px;display:flex;align-items:center;justify-content:center}
 body.itfs-site .itfs-dashboard{padding:18px;min-height:480px}
 body.itfs-site .itfs-dash-title{font-size:29px}
 body.itfs-site .itfs-map{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
 body.itfs-site .itfs-map svg{display:none}
 body.itfs-site .itfs-map-center{position:static;transform:none;grid-column:1/-1;width:100%;height:auto;padding:13px;border-radius:16px;box-shadow:none}
 body.itfs-site .itfs-map-center strong{font-size:23px}
 body.itfs-site .itfs-map-center small{max-width:none;font-size:11px}
 body.itfs-site .itfs-map-node{position:static;width:auto;padding:10px}
 body.itfs-site .itfs-map-node b{font-size:16px}
 body.itfs-site .itfs-skill-matrix>div{padding:13px 10px;grid-template-columns:1fr;gap:6px}
 body.itfs-site .itfs-skill-matrix b{font-size:26px}
 body.itfs-site .itfs-skill-matrix span{font-size:14px}
 body.itfs-site .itfs-globe-label{position:static;display:block;margin:6px 0}
 body.itfs-site .itfs-globe-diagram{height:auto}
 body.itfs-site .itfs-globe-diagram svg{height:180px}
 body.itfs-site .itfs-brand-ribbon{margin:12px}
 body.itfs-site .itfs-brand-ribbon .container{grid-template-columns:1fr 1fr}
 body.itfs-site .itfs-brand-ribbon span{padding:14px;font-size:12px}
 body.itfs-site .itfs-brand-ribbon strong{font-size:25px}
 body.itfs-site .grid-3,body.itfs-site .about-grid,body.itfs-site .contact-grid,body.itfs-site .itfs-course-grid,body.itfs-site .itfs-solution-grid,body.itfs-site .itfs-story-grid{grid-template-columns:minmax(0,1fr)}
 body.itfs-site .itfs-roadmap-chart{grid-template-columns:1fr}
 body.itfs-site .itfs-roadmap-chart article{padding:24px}
 body.itfs-site .itfs-roadmap-chart p{font-size:16px;min-height:0}
 body.itfs-site .itfs-course-art{height:150px}
 body.itfs-site .itfs-brand-story{margin:12px}
 body.itfs-site .itfs-footer-top{grid-template-columns:1fr 1fr;gap:25px}
 body.itfs-site .itfs-footer-top>div:first-child{grid-column:1/-1}
 body.itfs-site .itfs-footer-email{font-size:17px}
 body.itfs-site .itfs-footer h2{font-size:34px}
}
@media(max-width:360px){
 body.itfs-site .brand img{width:156px}
 body.itfs-site .itfs-slide-copy h1,body.itfs-site .itfs-slide-copy h2{font-size:32px!important}
 body.itfs-site .itfs-slide-copy{min-height:510px}
 body.itfs-site .itfs-slider-arrows button{min-width:40px;width:40px}
 body.itfs-site .itfs-slide-tabs button{min-width:36px;width:36px}
 body.itfs-site .itfs-dashboard{padding:14px}
 body.itfs-site .itfs-footer-top{grid-template-columns:1fr}
}
/* Progressive enhancement for browsers reporting a physical hinge. */
@media(horizontal-viewport-segments:2){
 body.itfs-site .itfs-showcase{margin-inline:0;border-radius:0}
 body.itfs-site .itfs-showcase>.container{width:100%}
 body.itfs-site .itfs-slide{grid-template-columns:env(viewport-segment-width 0 0) env(viewport-segment-width 1 0);gap:calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0));align-items:start}
 body.itfs-site .itfs-slide-copy{margin:20px;min-width:0}
 body.itfs-site .itfs-dashboard{margin:20px;width:calc(100% - 40px);min-width:0}
 .itfs-app-dock{left:calc(env(viewport-segment-left 1 0) + env(viewport-segment-width 1 0) / 2);width:calc(env(viewport-segment-width 1 0) - 24px)}
}
@media(vertical-viewport-segments:2){
 .itfs-app-dock{bottom:max(12px,env(safe-area-inset-bottom,0px))}
 body.itfs-site .itfs-showcase{scroll-margin-top:20px}
}
@media(prefers-reduced-motion:no-preference){.itfs-app-dock a{transition:background .2s,transform .2s}}
