/* TechToTab Atelier V5 — original visual design system, layered over legacy pages */
:root{--tt-navy:#101a30;--tt-ink:#18233a;--tt-muted:#627087;--tt-indigo:#5966f3;--tt-mint:#13bba9;--tt-ivory:#f8f7f2;--tt-line:#e4e7ed;--tt-radius:22px}
html{scroll-behavior:smooth}body.atelier-site{font-family:'DM Sans',Arial,sans-serif;color:var(--tt-ink);background:var(--tt-ivory);-webkit-font-smoothing:antialiased}body.atelier-site h1,body.atelier-site h2,body.atelier-site h3,body.atelier-site h4,body.atelier-site .brand-logo{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.044em}body.atelier-site h1{letter-spacing:-.065em}body.atelier-site p,body.atelier-site li{line-height:1.78}body.atelier-site a,body.atelier-site button{transition:color .22s,background .22s,transform .22s,border-color .22s,box-shadow .22s}body.atelier-site a:focus-visible,body.atelier-site button:focus-visible,body.atelier-site input:focus-visible,body.atelier-site textarea:focus-visible{outline:3px solid #13bba9;outline-offset:4px}body.atelier-site .container-xl{max-width:1280px}body.atelier-site .announce{background:#111b35;color:#d5e1f4;border:0}body.atelier-site .announce a{color:#8fe0d4}body.atelier-site .site-header{background:rgba(250,249,246,.96);border-bottom:1px solid rgba(19,35,60,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}body.atelier-site .header-shell{min-height:83px}body.atelier-site .nav-link{font-family:'DM Sans',Arial,sans-serif;font-weight:650;letter-spacing:-.02em}body.atelier-site .nav-link:hover,body.atelier-site .nav-link.active{color:var(--tt-indigo)}body.atelier-site .btn-primary{background:var(--tt-indigo);border-color:var(--tt-indigo);box-shadow:0 12px 28px rgba(74,90,226,.18)}body.atelier-site .btn-primary:hover{background:#4150d9;border-color:#4150d9;transform:translateY(-2px)}body.atelier-site .btn{font-weight:700;border-radius:100px;padding:.88rem 1.55rem;letter-spacing:-.02em}body.atelier-site .mega-menu{border:1px solid #e6e8ef;border-radius:25px;box-shadow:0 30px 75px rgba(21,34,62,.12);background:#fff}body.atelier-site .mega-intro{border-radius:18px;background:#eef1ff}body.atelier-site .mega-group h3{font-size:15px;font-weight:800}body.atelier-site .mega-group>a{font-size:13.5px;line-height:1.3}body.atelier-site .mega-group>a:hover{color:#4555d9}body.atelier-site .atelier-menu-divider{font-size:10px;color:#5264b9;letter-spacing:.16em;font-weight:800;margin:17px 0 5px;border-top:1px solid #e5e9f3;padding-top:12px}body.atelier-site .mega-group.tech-menu-group{overflow-y:auto;max-height:430px;scrollbar-width:thin}body.atelier-site .hero-home{background:radial-gradient(circle at 70% 33%,rgba(84,103,187,.38),transparent 37%),radial-gradient(circle at 9% 77%,rgba(42,160,157,.12),transparent 33%),#101a30;position:relative;overflow:hidden}body.atelier-site .hero-home:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.17) .8px,transparent .8px);background-size:28px 28px;mask-image:linear-gradient(90deg,transparent,black);opacity:.22;pointer-events:none}body.atelier-site .hero-home .hero-copy h1{font-size:clamp(3rem,5.5vw,6.6rem);line-height:1.035;letter-spacing:-.069em;max-width:800px}body.atelier-site .hero-home .hero-copy h1 em{background:linear-gradient(102deg,#a0b4ff 10%,#8ee6d7 96%);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}body.atelier-site .hero-home .hero-copy>p{font-size:clamp(16px,1.4vw,19px);line-height:1.8;color:#c1cbe0}body.atelier-site .hero-pill{border:1px solid rgba(175,197,237,.2);background:rgba(255,255,255,.055);color:#b9eadf}body.atelier-site .premium-visual{filter:drop-shadow(0 35px 60px rgba(0,0,0,.24))}body.atelier-site .pv-dashboard{border:1px solid rgba(180,200,255,.2);box-shadow:0 32px 70px rgba(0,0,0,.23)}body.atelier-site .section{padding-top:105px;padding-bottom:105px}body.atelier-site .section-intro h2,body.atelier-site .atelier-heading h2{font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.12;letter-spacing:-.061em}body.atelier-site .section-intro p{font-size:16px;color:#637087}body.atelier-site .service-card,body.atelier-site .feature-card,body.atelier-site .solution-card,body.atelier-site .industry-card,body.atelier-site .portfolio-card{border-radius:22px;border:1px solid #e8e9ed;box-shadow:0 6px 35px rgba(18,34,65,.035);transition:transform .3s,box-shadow .3s,border-color .3s}body.atelier-site .service-card:hover,body.atelier-site .feature-card:hover,body.atelier-site .solution-card:hover,body.atelier-site .portfolio-card:hover{transform:translateY(-7px);border-color:#cfd4ff;box-shadow:0 20px 44px rgba(33,44,84,.10)}body.atelier-site .eyebrow{font-family:'DM Sans',Arial,sans-serif;letter-spacing:.16em;font-size:11px;font-weight:800}body.atelier-site .cta-panel{border-radius:32px;background:linear-gradient(118deg,#141d39,#293e67 65%,#334d72)}body.atelier-site .site-footer{background:#10192f}body.atelier-site .footer-top{border-bottom-color:rgba(255,255,255,.14)}body.atelier-site .faq-item{border:1px solid #e6e9f0;border-radius:15px;margin-bottom:10px;background:#fff;padding:6px 22px}body.atelier-site .form-control,body.atelier-site input,body.atelier-site select,body.atelier-site textarea{border-radius:12px}body.atelier-site .field-invalid{border-color:#d85151!important;box-shadow:0 0 0 3px #fbe0e0!important}
/* Editorial marquee */
.atelier-proof{background:#ebefe9;border-bottom:1px solid #dfe6e0}.atelier-proof-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:19px 0}.atelier-proof-inner span{color:#44516b;font-size:11px;font-weight:800;letter-spacing:.13em}.atelier-proof-inner span:first-child{color:#253e58}.atelier-proof-inner span:first-child i{color:#16ad9b;font-size:7px;vertical-align:middle;margin-right:9px}
.atelier-feature-section{background:#f8f7f2}.atelier-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:70px;margin-bottom:36px}.atelier-label{color:#5665c6;letter-spacing:.18em;font-size:11px;font-weight:800;display:inline-block;margin-bottom:17px}.atelier-heading h2{margin:0}.atelier-heading h2 em{color:#6474d7;font-style:normal}.atelier-heading p{font-size:17px;color:#627087;margin-bottom:6px}.atelier-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.atelier-feature-card{color:#19233a;text-decoration:none;min-height:355px;padding:30px 25px;border:1px solid #e4e6ec;border-radius:22px;background:#fff;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,background .3s}.atelier-feature-card:nth-child(2){background:#eff2ff}.atelier-feature-card:nth-child(3){background:#eaf3ed}.atelier-feature-card:nth-child(4){background:#f4eee8}.atelier-feature-card:hover{transform:translateY(-9px);box-shadow:0 25px 50px rgba(26,38,61,.09);color:#18233a}.atelier-feature-card .atelier-n{font-size:10px;letter-spacing:.13em;font-weight:800;color:#5c6980}.atelier-feature-card>i{font-size:39px;margin:32px 0 12px;color:#5665d2}.atelier-feature-card h3{font-size:23px;font-weight:800;line-height:1.28;margin:0 0 12px}.atelier-feature-card p{font-size:14px;color:#607087;line-height:1.7;margin-bottom:22px}.atelier-feature-card strong{margin-top:auto;color:#3e4fbc;font-size:13px}
/* New service pages */
.atelier-subhero{background:#111b35;padding:55px 0 105px;color:white;overflow:hidden}.atelier-crumb{display:flex;gap:11px;flex-wrap:wrap;font-size:12px;margin-bottom:78px;color:#abb6cf}.atelier-crumb a{color:#bfcbee;text-decoration:none}.atelier-subhero .atelier-label{color:#83dfd2}.atelier-subgrid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px}.atelier-subgrid h1{font-size:clamp(3.1rem,5.5vw,6.7rem);line-height:1.07;font-weight:800;letter-spacing:-.07em;overflow-wrap:anywhere}.atelier-accent{color:#7ee1d3}.atelier-subgrid .lead{font-size:20px;max-width:650px;color:#c0cbe0;margin:27px 0 29px}.atelier-art{position:relative;min-height:375px;border:1px solid #41516f;background:radial-gradient(circle at 75% 20%,#4d62a86b,transparent 45%),#182640;border-radius:28px;display:flex;align-items:center;justify-content:center;overflow:hidden}.atelier-art-number{position:absolute;top:25px;left:25px;font-size:10px;letter-spacing:.18em;color:#bbcae8}.atelier-art-loop{position:absolute;width:290px;height:290px;border:1px solid #7388d38c;border-radius:50%;box-shadow:0 0 0 35px #5367b51c,0 0 0 70px #5367b516}.atelier-art-inner{position:relative;z-index:1;width:185px;height:185px;border-radius:30px;background:linear-gradient(142deg,#3b4a8a,#253450);border:1px solid #7389b4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;padding:18px;transform:rotate(-8deg);box-shadow:18px 18px 55px #09132688}.atelier-art-inner i{font-size:60px;color:#8ddfd5}.atelier-art-inner span{font-size:15px;font-weight:800;line-height:1.3}.atelier-body{background:#f8f7f2}.atelier-two{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.atelier-two h2,.atelier-steps h2{font-size:clamp(2.2rem,3.7vw,4rem);line-height:1.15;margin-bottom:25px}.atelier-two p{font-size:17px;color:#657184}.atelier-checklist{background:#fff;border:1px solid #e4e7ed;border-radius:25px;padding:36px}.atelier-checklist h3{font-size:22px;margin-bottom:24px}.atelier-checklist ul{padding:0;margin:0;list-style:none}.atelier-checklist li{display:flex;gap:12px;border-bottom:1px solid #ecedf0;padding:12px 0;font-weight:600;font-size:15px}.atelier-checklist li:last-child{border:0}.atelier-checklist i{color:#11b7a6}.atelier-steps{margin-top:110px}.atelier-stepgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.atelier-stepgrid article{padding:30px 24px;background:#eff1f8;border-radius:20px;min-height:225px}.atelier-stepgrid article:nth-child(2){background:#e8f2ed}.atelier-stepgrid article:nth-child(3){background:#eeeef9}.atelier-stepgrid article:nth-child(4){background:#f3eee8}.atelier-stepgrid b{font-size:11px;color:#4c5bb9}.atelier-stepgrid h3{font-size:23px;margin:28px 0 10px}.atelier-stepgrid p{font-size:14px;color:#667287}.atelier-footer{background:#111b35;color:#d8e0ef;padding:60px 0 28px}.atelier-footer>.container-xl{display:flex;gap:20px;flex-direction:column;align-items:flex-start}.atelier-footer p{margin:0}.atelier-footer>div>div{display:flex;gap:25px}.atelier-footer a{color:#e3e9f4;text-decoration:none}.atelier-footer small{border-top:1px solid #354159;padding-top:18px;width:100%;color:#abb6cd}.atelier-form-note{font-size:12px!important;color:#68768c!important}.honeypot-field{position:absolute!important;left:-10000px!important;opacity:0!important;pointer-events:none!important}
/* Assistant */
.tt-assist-launcher{position:fixed;right:24px;bottom:24px;z-index:10001;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.2);background:#1d2b4f;color:#fff;border-radius:60px;padding:13px 19px;box-shadow:0 18px 45px #17223a44;font-weight:800;font-size:13px}.tt-assist-launcher i{color:#88e4d6;font-size:18px}.tt-assist-launcher:hover{background:#344679;transform:translateY(-2px)}.tt-assist-panel{position:fixed;right:24px;bottom:91px;width:min(390px,calc(100vw - 28px));height:min(590px,calc(100dvh - 120px));z-index:10002;display:flex;flex-direction:column;border:1px solid #e1e5ec;border-radius:24px;background:#fff;box-shadow:0 28px 95px rgba(13,28,52,.25);overflow:hidden}.tt-assist-panel[hidden]{display:none}.tt-assist-head{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#15213c;color:white}.tt-assist-head strong{font-family:Manrope,Arial,sans-serif;display:block;font-size:17px}.tt-assist-head small{color:#bac8db;font-size:11px}.tt-assist-close{border:0;background:none;color:white;font-size:24px;cursor:pointer}.tt-assist-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:13px;background:#f9fafc}.tt-assist-msg{align-self:flex-start;max-width:89%;border-radius:16px 16px 16px 4px;background:#e9edf6;color:#273750;padding:12px 14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}.tt-assist-msg.user{align-self:flex-end;border-radius:16px 16px 4px 16px;background:#5966f3;color:white}.tt-assist-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:0 17px 12px;background:#fff}.tt-assist-suggestions button{border:1px solid #d8ddec;background:#fff;border-radius:40px;color:#4455a7;font-size:11px;padding:8px 11px;cursor:pointer}.tt-assist-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e7e9ef}.tt-assist-form input{flex:1;min-width:0;border:1px solid #e2e6ed;background:#f9fafc;padding:12px 13px;font-size:13px;border-radius:12px}.tt-assist-form button{width:43px;border:0;background:#5966f3;border-radius:12px;color:#fff}.tt-assist-note{font-size:10px;color:#758196;text-align:center;padding:0 8px 9px;background:#fff}
@media(max-width:1100px){.atelier-feature-grid{grid-template-columns:repeat(2,1fr)}.atelier-proof-inner{justify-content:center}.atelier-stepgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.atelier-heading,.atelier-two,.atelier-subgrid{grid-template-columns:1fr;gap:35px}.atelier-art{min-height:275px}.atelier-subhero{padding-bottom:60px}.atelier-crumb{margin-bottom:35px}body.atelier-site .section{padding-top:70px;padding-bottom:70px}}
@media(max-width:575px){.atelier-feature-grid,.atelier-stepgrid{grid-template-columns:1fr}.atelier-feature-card{min-height:295px}.atelier-proof-inner span:nth-child(n+3){display:none}.tt-assist-launcher{right:14px;bottom:14px}.tt-assist-panel{right:14px;bottom:78px}.atelier-checklist{padding:25px}.atelier-subgrid h1{font-size:clamp(2.5rem,12vw,4.2rem)}body.atelier-site .header-shell{min-height:68px}body.atelier-site .hero-home .hero-copy h1{font-size:clamp(2.7rem,11vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Compact navigation support on additional service pages */
@media(max-width:990px){body.atelier-site:not([data-page="index.html"]) .site-header nav:not([id]) .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:#fbfaf7;box-shadow:0 25px 40px #14203a20;flex-direction:column;align-items:stretch;gap:4px;z-index:200}body.atelier-site:not([data-page="index.html"]) .site-header nav:not([id]).tt-nav-open .nav-links{display:flex}body.atelier-site:not([data-page="index.html"]) .site-header nav:not([id]) .nav-link{display:block;padding:12px 16px}body.atelier-site:not([data-page="index.html"]) .site-header .header-shell{position:relative}}
