:root{--navy:#071427;--navy2:#0b1b33;--blue:#4168e9;--gold:#d8a837;--cream:#f1f0ea;--paper:#faf9f5;--ink:#0e1b30;--muted:#7b838f;--line:rgba(234,238,246,.2);--darkline:#d9dce1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}.page-noise{pointer-events:none;position:fixed;inset:0;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.container{width:min(1120px,88vw);margin:auto}.progress{height:3px;background:var(--gold);position:fixed;top:0;left:0;right:0;z-index:30;transform-origin:left}.progress i{display:block;height:100%;width:0;background:#fff;transition:width .1s}.header{height:70px;display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;top:0;padding:0 5.5vw;border-bottom:1px solid rgba(255,255,255,.08);z-index:10;color:white;transition:background .3s,position .3s}.header .logo{flex-shrink:0}.header.stuck{position:fixed;background:rgba(7,20,39,.89);backdrop-filter:blur(16px);box-shadow:0 6px 24px rgba(0,0,0,.13)}.logo{display:inline-flex;align-items:center;gap:9px;font-family:"Playfair Display",serif;font-weight:600;font-size:18px;color:inherit;text-decoration:none;letter-spacing:-.03em}.logo-dot{height:11px;width:11px;background:var(--gold);border-radius:100%;box-shadow:0 0 0 4px rgba(216,168,55,.13)}.desktop-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);margin-left:clamp(20px,6vw,120px);flex-wrap:nowrap;min-width:0}.desktop-nav a{font-size:13px;color:rgba(255,255,255,.76);text-decoration:none;position:relative;padding:25px 0;white-space:nowrap}.desktop-nav a:after{position:absolute;content:"";left:0;right:100%;bottom:17px;height:1px;background:var(--gold);transition:right .22s}.desktop-nav a:hover{color:white}.desktop-nav a:hover:after{right:0}.talk-button{border:0;border-radius:2px;padding:12px 17px;background:white;color:var(--navy);font:600 13px "DM Sans",sans-serif;text-decoration:none;display:inline-block;cursor:pointer;transition:transform .22s,box-shadow .22s;white-space:nowrap;flex-shrink:0}.talk-button:hover{transform:translateY(-3px);box-shadow:0 9px 19px rgba(0,0,0,.18)}.talk-button span{margin-left:17px}.talk-button.blue{background:var(--blue);color:white}.menu-toggle,.mobile-nav{display:none}.hero{color:#fff;min-height:820px;background:radial-gradient(circle at 77% 33%,#152d57 0,rgba(15,37,73,.45) 18%,transparent 45%),var(--navy);position:relative;overflow:hidden;padding-top:1px}.hero:after{content:"";position:absolute;width:800px;height:800px;border:1px solid rgba(102,137,213,.1);border-radius:50%;right:-280px;top:100px}.hero-inner{padding-top:162px;position:relative;z-index:1}.kicker{font:11px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.14em;margin:0;display:flex;align-items:center;gap:10px}.kicker i{width:20px;height:1px;background:currentColor;display:inline-block}.hero-kicker{color:#6e87e7}.hero h1{font:500 clamp(48px,5.6vw,80px)/.98 "Playfair Display",serif;letter-spacing:-.06em;margin:18px 0 33px;max-width:700px}.hero h1 em,h2 em{font-style:italic;color:var(--gold);font-weight:500}.hero-bottom{width:500px}.hero-bottom>p{font-size:16px;line-height:1.75;color:rgba(255,255,255,.72);margin:0 0 25px}.hero-tags{display:flex;gap:12px;flex-wrap:wrap}.hero-tags span{font-size:12px;border:1px solid rgba(255,255,255,.12);padding:10px 13px;color:#f0f2f9}.hero-tags b{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 8px 1px 0}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:39px}.line-link{font-size:13px;font-weight:600;text-decoration:none;color:inherit;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block;transition:color .2s}.line-link:hover{color:var(--gold)}.line-link span{margin-left:12px}.hero-art{position:absolute;width:580px;height:580px;right:4vw;top:150px;opacity:.9}.grid-sphere{position:absolute;width:440px;height:440px;border-radius:50%;right:0;top:35px;background:repeating-radial-gradient(ellipse at 45% 45%,transparent 0 30px,rgba(89,129,213,.18) 31px 32px),repeating-linear-gradient(15deg,transparent 0 22px,rgba(89,129,213,.12) 23px 24px);transform:rotate(-18deg);mask-image:radial-gradient(circle,black 35%,transparent 71%);animation:float 7s ease-in-out infinite}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid rgba(111,150,232,.2);border-radius:50%;width:450px;height:450px;right:-16px;top:30px}.hero-art:after{width:560px;height:560px;right:-70px;top:-27px}.star{position:absolute;color:var(--gold);font-size:22px;animation:pulse 3s ease-in-out infinite}.s1{top:50px;right:120px}.s2{left:80px;bottom:120px;animation-delay:1s}.s3{right:0;bottom:90px;font-size:13px;animation-delay:2s}.orbit-label{position:absolute;right:40px;top:245px;color:#6f89e3;font:10px/1.7 "DM Mono";letter-spacing:.12em;text-align:right}.marquee{background:var(--gold);height:58px;overflow:hidden;display:flex;align-items:center;white-space:nowrap}.marquee>div{display:flex;align-items:center;padding-left: 50%; gap:90px;animation:marquee 28s linear infinite;font:500 12px "DM Mono";letter-spacing:.12em;text-transform:uppercase}.marquee b{font-size:13px}.section{padding:126px 0}.section-top{display:flex;gap:22px;align-items:center}.number{color:var(--gold);font:12px "DM Mono";letter-spacing:.1em}.section-top .kicker{color:#697282}.about{background:#edf0ec}.about-layout{display:grid;grid-template-columns:1.2fr .75fr;gap:8vw;margin-top:45px}.section h2{font:500 clamp(37px,4.5vw,65px)/1.04 "Playfair Display",serif;letter-spacing:-.055em;margin:0}.about-copy{padding-top:10px}.about-copy p{color:#596471;font-size:14px;line-height:1.8}.about-copy .lead{font-size:19px;line-height:1.55;color:var(--ink);margin-bottom:18px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:85px}.service-card{min-height:390px;background:var(--paper);padding:22px 25px 25px;position:relative;border:1px solid transparent;display:flex;flex-direction:column;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}.service-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:var(--gold);right:-125px;bottom:-125px;opacity:0;transition:opacity .35s,transform .5s;transform:scale(.3)}.service-card:hover{transform:translateY(-9px);box-shadow:0 20px 38px rgba(25,38,52,.11);border-color:#d6dad2}.service-card:hover:after{opacity:.13;transform:scale(1)}.card-index{font:11px "DM Mono";color:#8e97a0}.service-icon{height:54px;width:54px;border:1px solid #d6dce1;display:grid;place-items:center;margin:48px 0 30px;font:22px Georgia;color:var(--blue);transition:background .3s,color .3s}.service-card:hover .service-icon{background:var(--blue);color:white;border-color:var(--blue)}.code-icon{font:15px "DM Mono"!important}.service-card h3{font:500 22px/1.17 "Playfair Display";letter-spacing:-.035em;margin:0 0 12px}.service-card p{font-size:13px;line-height:1.75;color:#67707a;margin:0;max-width:290px}.service-card a{margin-top:auto;position:relative;z-index:1;color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:.09em;text-decoration:none;padding-top:20px}.service-card a span{color:var(--blue);margin-left:10px}.about-statement{border-top:1px solid #ced5ce;border-bottom:1px solid #ced5ce;margin:85px 0 0;padding:24px 0;color:#52606b;font:500 17px/1.7 "Playfair Display";max-width:850px}.about-statement b{color:var(--ink)}.expertise{background:var(--navy);color:#fff}.expertise .section-top .kicker{color:#7791ec}.expertise-intro{display:grid;grid-template-columns:1.12fr .62fr;gap:9vw;align-items:end;margin:45px 0 70px}
.expertise-intro p{color:#aab5c3;font-size:14px;line-height:1.8;margin:0}.expertise-list{border-top:1px solid var(--line)}.expertise-item{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:#fff;display:grid;grid-template-columns:80px 1fr 30px;text-align:left;padding:20px 12px 20px 0;align-items:center;cursor:pointer;transition:background .25s,padding .25s}.expertise-item span{font:11px "DM Mono";color:#8290a4}.expertise-item strong{font:500 clamp(20px,2vw,28px)/1 "Playfair Display";letter-spacing:-.035em}.expertise-item i{font-size:25px;font-style:normal;color:#8597b2;justify-self:end;transition:transform .3s}.expertise-item:hover,.expertise-item.active{background:rgba(255,255,255,.05);padding-left:16px}.expertise-item.active i{transform:rotate(45deg);color:var(--gold)}.expertise-detail{margin-top:16px;background:rgba(88,116,187,.17);border:1px solid rgba(105,137,215,.2);padding:20px 24px;display:grid;grid-template-columns:140px 1fr 30px;gap:20px;align-items:center;min-height:75px;transition:opacity .2s,transform .2s}.expertise-detail span{font:10px "DM Mono";letter-spacing:.1em;text-transform:uppercase;color:#8095de}.expertise-detail p{color:#e3e9fb;margin:0;font-size:14px;line-height:1.5}.expertise-detail b{color:var(--gold);font-size:20px}.industries{overflow:hidden;background:var(--cream);padding-bottom:88px}.industry-intro{display:grid;grid-template-columns:1.1fr .65fr;gap:9vw;align-items:end;margin:45px 0 70px}.industry-intro p{font-size:14px;line-height:1.8;color:#616c78;margin:0}.industry-slider{padding-left:max(6vw,calc((100vw - 1120px)/2));overflow:hidden}.slider-track{display:flex;gap:16px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.industry-card{background:var(--navy);color:#fff;flex:0 0 min(350px,74vw);height:390px;padding:24px;position:relative;overflow:hidden;transition:transform .3s}.industry-card:hover{transform:translateY(-7px)}.industry-card:after{content:"";position:absolute;width:270px;height:270px;border:1px solid rgba(120,157,235,.28);border-radius:50%;right:-125px;bottom:-125px}.industry-card>span{font:11px "DM Mono";color:#8292b1}.industry-symbol{height:55px;width:55px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:23px Georgia;margin:38px 0 25px}.industry-card h3{font:500 28px/1.04 "Playfair Display";letter-spacing:-.04em;margin:0 0 12px}.industry-card p{max-width:270px;color:#afbbca;font-size:13px;line-height:1.6;margin:0}.industry-card small{position:absolute;bottom:23px;color:#7792e6;font:10px "DM Mono";text-transform:uppercase;letter-spacing:.1em}.slider-controls{display:flex;align-items:center;gap:18px;margin-top:28px}.slide-count{font:11px "DM Mono";color:#84909c}.slide-count b{color:var(--blue)}.slider-line{height:1px;background:#cbd0d2;width:120px}.slider-line i{height:3px;display:block;background:var(--blue);width:16.67%;transition:width .5s}.slider-button{height:36px;width:36px;background:transparent;border:1px solid #bec6cb;color:var(--ink);cursor:pointer;margin-left:4px;transition:background .2s,color .2s}.slider-button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.certifications{background:var(--paper)}.cert-head{display:grid;grid-template-columns:1.1fr .65fr;gap:9vw;align-items:end;margin:45px 0 70px}.cert-head p{font-size:14px;line-height:1.8;color:#63707b;margin:0}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--darkline);border-left:1px solid var(--darkline)}.cert{min-height:188px;border-right:1px solid var(--darkline);border-bottom:1px solid var(--darkline);padding:18px;position:relative;transition:background .25s,color .25s}.cert:hover{background:var(--blue);color:white}.cert b{color:var(--gold);font:16px Arial}.cert span{position:absolute;right:16px;top:21px;color:#89929d;font:10px "DM Mono"}.cert:hover span{color:#d2dcfc}.cert h3{position:absolute;bottom:17px;margin:0;font:500 19px/1.1 "Playfair Display";letter-spacing:-.03em}.cert-footer{display:flex;gap:25px;align-items:center;margin-top:38px}.cert-footer strong{font:500 63px/.8 "Playfair Display";letter-spacing:-.06em}.cert-footer strong span{color:var(--gold)}.cert-footer p{max-width:290px;color:#65707a;font-size:13px;line-height:1.6}.partnership{background:#dbe4ef;overflow:hidden}.partnership-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.partnership-side{border-right:1px solid #bdcad9;padding-right:40px}.partnership-side .kicker{color:#6374a0}.partnership-side .section-top{margin-top:24px}.partner-mark{display:flex;align-items:center;gap:14px;margin:120px 0 28px;color:#294c8e}.partner-mark span{height:66px;width:66px;background:#fff;border-radius:50%;display:grid;place-items:center;font:500 37px "Playfair Display"}.partner-mark i{font-style:normal;font-size:25px}.partner-mark .encore-mark{background:var(--navy);color:var(--gold);font-style:italic}.partnership-side>p{font:500 18px/1.45 "Playfair Display";max-width:230px}.partnership-copy{padding-top:52px}.partnership-copy h2{font-size:clamp(36px,4.4vw,59px)}.partnership-copy>p{font-size:15px;line-height:1.8;color:#526577;max-width:560px;margin:28px 0}.contact{background:var(--navy);color:white;padding:125px 0}.contact-layout{display:grid;grid-template-columns:1.1fr .7fr;gap:10vw}.contact-title .kicker{color:#7891e8}.contact-title h2{margin:27px 0;font-size:clamp(37px,4.4vw,61px)}.contact-title>p:last-child{max-width:430px;color:#acb6c4;line-height:1.8;font-size:14px}.contact-form{display:grid;gap:21px;padding-top:10px}.contact-form label{font:10px "DM Mono";letter-spacing:.12em;text-transform:uppercase;color:#8297d9}.contact-form input,.contact-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #47546b;padding:12px 0;color:white;font:15px "DM Sans";outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form textarea{height:88px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#657083}.contact-form .talk-button{justify-self:start;margin-top:8px}.form-response{color:#c6d0df;font-size:13px;margin:0;min-height:18px}footer{background:#050f1e;color:#d9e0ec;padding:55px 0 24px}.footer-main{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:30px;padding-bottom:55px}.footer-mail{font:500 23px/1.2 "Playfair Display";color:#fff;text-decoration:none}.footer-mail span{color:var(--gold);font-family:"DM Sans"}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:11px}.footer-links a,.footer-bottom{font-size:12px;color:#8d9aab;text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #202c3c;padding-top:19px;display:flex;justify-content:space-between}.footer-bottom a{color:#8d9aab;text-decoration:none}.footer-bottom a:hover{color:white}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}@keyframes float{50%{transform:rotate(-5deg) translate(-15px,10px)}}@keyframes pulse{50%{transform:scale(1.4);opacity:.5}}@keyframes marquee{to{transform:translateX(-50%)}}
.reveal {
  opacity: 0;
  transform: translateY(30px) scale(0.98);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* --- 2. Expertise Accordion Fix --- */
.expertise-list { border-top: 1px solid var(--line); }
.expertise-item-wrap { border-bottom: 1px solid var(--line); }
.expertise-item { border-bottom: none; width: 100%; }
.expertise-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0, 1, 0, 1), padding 0.4s ease, margin 0.4s ease, opacity 0.3s ease;
  background: rgba(88,116,187,.17);
  border-radius: 4px;
  margin: 0 12px;
  opacity: 0;
}
.expertise-content p {
  color: #e3e9fb;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.expertise-item.active i { transform: rotate(45deg); color: var(--gold); }
.expertise-item.active ~ .expertise-content {
  max-height: 250px;
  padding: 18px 24px;
  margin-bottom: 15px;
  opacity: 1;
  border: 1px solid rgba(105,137,215,.2);
  transition: max-height 0.5s ease-in-out, padding 0.4s ease, margin 0.4s ease, opacity 0.5s ease 0.1s;
}

/* --- 3. Industries slider: native scroll, works for touch + mouse-drag + buttons --- */
.industry-slider {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scroll-padding-left: max(6vw, calc((100vw - 1120px) / 2));
  scrollbar-width: none;
  cursor: grab;
}
.industry-slider::-webkit-scrollbar { display: none; }
.industry-slider.dragging { cursor: grabbing; scroll-snap-type: none; }
.slider-track {
  width: max-content;
  user-select: none;
}
.industry-card {
  scroll-snap-align: start;
  transform-style: preserve-3d;
  will-change: transform;
}
.industry-slider.dragging .industry-card { pointer-events: none; }

/* --- 4. Partnership orbit-merge animation --- */
.partner-orbit {
  position: relative;
  width: 100%;
  max-width: 560px;
  height: 190px;
  margin-top: 45px;
}
.partner-orbit-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.orbit-link {
  stroke: rgba(120,157,235,.3);
  stroke-width: 1.5;
  stroke-dasharray: 4 6;
  animation: orbitDashFlow 2.4s linear infinite;
}
@keyframes orbitDashFlow { to { stroke-dashoffset: -20; } }
.orbit-dot { filter: drop-shadow(0 0 6px currentColor); }

.orbit-node {
  position: absolute;
  top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.orbit-node img {
  border-radius: 50%;
  background: #fff;
  object-fit: cover;
  box-shadow: 0 0 0 2px rgba(120,157,235,.28), 0 10px 24px rgba(4,10,22,.35);
  animation: orbitFloat 4.4s ease-in-out infinite;
}
.node-left { left: 40px; }
.node-right { right: 40px; }
.node-left img, .node-right img { width: 66px; height: 66px; }
.node-right img { animation-delay: .8s; }
.orbit-tag {
  font: 10px "DM Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e9f0fa;
}
.node-center {
  left: 50%;
  top: 8px;
  transform: translateX(-50%);
  width: 108px;
  height: 108px;
  justify-content: center;
}
.orbit-cloud-img {
  position: relative;
  width: 82px !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 8px 18px rgba(0,140,214,.55));
  animation: orbitFloat 4.4s ease-in-out infinite .4s;
  z-index: 2;
}
.orbit-core-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(0,193,255,.3);
  pointer-events: none;
}
.orbit-core-ring.cr1 { animation: orbitRingPulse 3s ease-in-out infinite; }
.orbit-core-ring.cr2 { inset: -14px; border-color: rgba(216,168,55,.24); border-style: dashed; animation: orbitSpin 16s linear infinite; }
@keyframes orbitRingPulse { 0%,100% { transform: scale(.92); opacity: .5; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
.orbit-core-burst {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,193,255,.55);
  opacity: 0;
  animation: orbitBurst 3.2s ease-out infinite;
}
@keyframes orbitBurst {
  0%   { transform: scale(.7); opacity: 0; }
  12%  { opacity: .8; }
  55%  { transform: scale(1.55); opacity: 0; }
  100% { opacity: 0; }
}
@keyframes orbitFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
  .partner-orbit *, .orbit-link, .orbit-dot { animation: none !important; }
}
@media (max-width: 620px) {
  .partner-orbit { height: 220px; }
  .node-left { left: 10px; }
  .node-right { right: 10px; }
}
.logo-img {
  width: 10%;
  height: 10%;
  display: inline;
  border-radius: 50%;
}
.logo-img-2 {
  width: 30%;
  height: 30%;
  display: inline;
  border-radius: 50%;
}

@keyframes ai-spin { 100% { transform: rotate(360deg); } }
@keyframes ai-flow { 100% { left: 100%; } }

/* --- 5. Extra interactive polish --- */
.industry-slider { perspective: 900px; }
.marquee > div { animation-play-state: running; }
.marquee:hover > div { animation-play-state: paused; }
.contact-form label { transition: color .25s; }
.contact-form input:focus ~ *, .contact-form textarea:focus ~ * {}
.contact-form input, .contact-form textarea { transition: border-color .25s; }
.footer-links a { transition: color .2s, transform .2s; display: inline-block; }
.footer-links a:hover { transform: translateX(3px); }
.footer-bottom a { transition: color .2s; }
.logo { transition: opacity .2s; }
.logo:hover { opacity: .82; }
.slider-button { transition: background .2s, color .2s, transform .2s; }
.slider-button:active { transform: scale(.92); }
.count-up { display: inline-flex; align-items: baseline; }
@media (prefers-reduced-motion: reduce) {
  .marquee > div, .grid-sphere, .star, .orbit-dot, .orbit-core-ring, .orbit-core-burst { animation: none !important; }
  .reveal { transition: opacity .3s ease !important; transform: none !important; }
  html { scroll-behavior: auto; }
}

@media(max-width:1300px){.header{padding:0 3.5vw}.desktop-nav{gap:16px;margin-left:20px}.desktop-nav a{font-size:12px}.talk-button.header-talk{padding:11px 14px;font-size:12px}}
@media(max-width:800px){.header{height:64px;padding:0 6vw}.desktop-nav,.header-talk{display:none}.menu-toggle{height:38px;width:38px;display:grid;place-content:center;gap:6px;background:transparent;border:0;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:22px;border-top:1px solid currentColor;transition:transform .25s}.menu-toggle.open span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:fixed;z-index:9;inset:64px 0 auto;background:var(--navy);padding:20px 6vw 32px;border-bottom:1px solid rgba(255,255,255,.12);transform:translateY(-130%);transition:transform .35s;display:block}.mobile-nav.open{transform:none}.mobile-nav a{display:flex;justify-content:space-between;color:white;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font:500 20px "Playfair Display"}.mobile-nav a span{font:11px "DM Mono";color:var(--gold)}.hero{min-height:790px}.hero-inner{padding-top:135px}.hero h1{font-size:clamp(46px,12vw,65px)}.hero-bottom{width:auto;max-width:500px}.hero-art{transform:scale(.65);transform-origin:right bottom;right:-110px;top:340px;opacity:.55}.hero-bottom>p{font-size:14px;max-width:470px}.hero-actions{margin-top:28px}.section{padding:80px 0}.about-layout,.expertise-intro,.industry-intro,.cert-head,.partnership-wrap,.contact-layout{grid-template-columns:1fr;gap:25px}.about-copy{padding:0}.service-cards{grid-template-columns:1fr;margin-top:55px}.service-card{min-height:310px}.service-icon{margin:27px 0 18px}.about-statement{margin-top:55px;font-size:16px}.expertise-intro,.industry-intro,.cert-head{margin:34px 0 45px}.expertise-item{grid-template-columns:48px 1fr 20px;padding:18px 4px 18px 0}.expertise-item strong{font-size:20px}.expertise-detail{grid-template-columns:1fr 20px;gap:8px}.expertise-detail span{grid-column:1/-1}.expertise-detail p{font-size:13px}.industry-card{height:360px}.cert-grid{grid-template-columns:repeat(2,1fr)}.cert{min-height:163px}.partnership-side{padding-right:0;border-right:0;border-bottom:1px solid #bdcad9;padding-bottom:35px}.partner-mark{margin:42px 0 20px}.partnership-copy{padding-top:10px}.contact{padding:80px 0}.footer-main{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-wrap:wrap;gap:15px}.marquee{height:50px}.marquee>div{gap:24px;font-size:10px}}@media(max-width:430px){.hero-tags{display:grid}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero{min-height:850px}.industry-slider{padding-left:6vw}.cert h3{font-size:17px}.slider-controls{padding-right:6vw}.logo{font-size:16px}}

/* ===== MOBILE ACCURACY FIXES ===== */

/* Prevent any horizontal overflow */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

.container {
  width: min(1120px, calc(100vw - 32px));
}

/* Fix logo sizing */
.logo-img {
  width: 38px;
  height: 38px;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

.logo-img-2 {
  width: 72px;
  height: 72px;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}

/* Hero text should never overflow */
.hero h1 {
  max-width: 100%;
  width: 100%;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
}

.hero-bottom {
  width: 100%;
  max-width: 100%;
}

.hero-bottom > p {
  max-width: 100%;
}

/* Back to top button */
.back-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--encore-blue, var(--blue));
  color: white;
  display: grid;
  place-items: center;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index: 999;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  transform: translateY(-2px);
}

/* Tablet */
@media (max-width: 800px) {
  .hero {
    min-height: auto;
    padding-bottom: 80px;
  }

  .hero-inner {
    padding-top: 120px;
  }

  .hero h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }

  .hero-art {
    right: -90px;
    top: 420px;
    transform: scale(.55);
    opacity: .4;
  }
}

/* Phones */
@media (max-width: 480px) {
  .header {
    padding: 0 16px;
  }

  .logo {
    font-size: 14px;
    gap: 8px;
  }

  .logo-img {
    width: 34px;
    height: 34px;
  }

  .container {
    width: calc(100vw - 32px);
  }

  .hero {
    min-height: auto;
    padding-bottom: 90px;
  }

  .hero-inner {
    padding-top: 110px;
  }

  .hero h1 {
    font-size: clamp(24px, 7.5vw, 36px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 22px !important;
  }

  .hero-bottom > p {
    font-size: 14px;
    line-height: 1.7;
  }

  .hero-tags {
    gap: 10px;
  }

  .hero-tags span {
    width: 100%;
    justify-content: flex-start;
  }

  .hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .talk-button,
  .hero-actions .line-link {
    width: 100%;
    text-align: center;
  }

  .hero-art {
    right: -120px;
    top: 500px;
    transform: scale(.45);
    opacity: .3;
  }

  .industry-card {
    flex-basis: calc(100vw - 48px);
  }

  .slider-controls {
    padding-right: 16px;
  }
}

/* Very small devices */
@media (max-width: 360px) {
  .hero h1 {
    font-size: 22px !important;
    line-height: 1.15 !important;
  }

  .hero-bottom > p {
    font-size: 13px;
  }
}


/* Mobile back-to-top stacking */
@media (max-width: 768px){
  .back-to-top{z-index:9999;}
}

.industries-track{padding-left:40px}.industry-card{display:flex;flex-direction:column}.industry-card h3{min-height:64px}.industry-card p{min-height:90px}.reveal{opacity:0;transform:translateY(30px);transition:.6s}.reveal.visible{opacity:1;transform:none}
