@font-face{font-family:Garet;src:url("assets/fonts/garet-book.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Garet;src:url("assets/fonts/garet-bold.ttf") format("truetype");font-style:normal;font-weight:600 700;font-display:swap}
@font-face{font-family:Garet;src:url("assets/fonts/garet-heavy.otf") format("opentype");font-style:normal;font-weight:800 900;font-display:swap}
@font-face{font-family:Helvetica;src:url("assets/fonts/helvetica.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Helvetica;src:url("assets/fonts/helvetica-bold.otf") format("opentype");font-style:normal;font-weight:600 700;font-display:swap}

:root{
  --font-display:Garet,"Century Gothic",Arial,sans-serif;
  --font-body:Helvetica,"Helvetica Neue",Arial,sans-serif;
  --ink:#0d0d0d;--muted:#606975;--white:#fff;--line:#e7ebef;--soft:#f5f7f9;
  --blue:#2eabff;--blue-deep:#0879f9;--blue-soft:#eaf6ff;--navy:#071039;
  --purple:#075fc7;--purple-deep:#031c4a;
  --radius:1rem;--radius-lg:1.75rem;--radius-xl:2.5rem;
  --shadow:0 22px 60px -38px rgba(13,13,13,.32);
  --ease:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.25,.8,.25,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{min-width:320px;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}ul,ol{list-style:none}
h1,h2,h3,h4,.brand,.button,.eyebrow,.nav-link,.nav-card-title{font-family:var(--font-display)}
h1,h2,h3,h4{overflow-wrap:break-word;letter-spacing:-.035em;line-height:1.08}
p{overflow-wrap:break-word}.container{width:min(100% - 3rem,73.75rem);margin-inline:auto}.section{padding-block:6.75rem}.section-soft{background:var(--soft)}
.section-head{display:flex;flex-direction:column;gap:1rem;max-width:49rem;margin-bottom:3.5rem}.section-head.center{align-items:center;margin-inline:auto;text-align:center}.section-head h2{font-size:clamp(2.25rem,4.4vw,4rem)}.section-head p{max-width:42rem;color:var(--muted);font-size:1.1rem;line-height:1.75}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--blue-deep);font-size:.75rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(46,171,255,.12)}.eyebrow.light{color:#a9dfff}.eyebrow.light::before{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.12)}
.lead{color:var(--muted);font-size:1.1rem;line-height:1.78}.kicker{color:var(--blue-deep);font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Header and navigation */
.scroll-progress{position:fixed;inset:0 0 auto;z-index:200;height:3px;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:linear-gradient(90deg,var(--blue),var(--purple));box-shadow:0 0 16px rgba(46,171,255,.55)}
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(231,235,239,.72);background:rgba(255,255,255,.83);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background .35s ease,box-shadow .35s ease}.site-header.is-scrolled{background:rgba(255,255,255,.95);box-shadow:0 14px 42px -32px rgba(13,13,13,.42)}
.announcement-bar{position:relative;z-index:110;max-height:5rem;overflow:hidden;border-bottom:1px solid rgba(46,171,255,.24);background:linear-gradient(105deg,var(--navy),var(--purple-deep) 60%,var(--blue-deep));color:var(--white);transition:max-height .4s var(--ease),opacity .3s ease,transform .4s var(--ease)}
.announcement-bar[hidden]{display:none}.announcement-bar.is-closing{max-height:0;opacity:0;transform:translateY(-100%)}
.announcement-inner{display:flex;min-height:3.25rem;align-items:center;gap:.75rem;padding-block:.45rem}
.announcement-link{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;gap:.8rem;color:inherit}
.announcement-badge{flex:none;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(255,255,255,.12);padding:.24rem .55rem;font-family:var(--font-display);font-size:.63rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}
.announcement-message{font-size:.84rem;line-height:1.35;text-align:center}
.announcement-cta{display:inline-flex;flex:none;align-items:center;gap:.35rem;border-radius:999px;background:var(--white);padding:.42rem .72rem;color:var(--navy);font-family:var(--font-display);font-size:.7rem;font-weight:700;line-height:1;transition:transform .35s var(--ease),background .3s ease,color .3s ease}
.announcement-cta-short{display:none}
.announcement-link:hover .announcement-cta{transform:translateX(3px);background:var(--blue-soft);color:var(--blue-deep)}
.announcement-close{position:relative;width:2rem;height:2rem;flex:none;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .3s ease,transform .35s var(--ease),border-color .3s ease}
.announcement-close span::before,.announcement-close span::after{content:"";position:absolute;top:50%;left:50%;width:.8rem;height:1.5px;border-radius:99px;background:currentColor}
.announcement-close span::before{transform:translate(-50%,-50%) rotate(45deg)}.announcement-close span::after{transform:translate(-50%,-50%) rotate(-45deg)}
.announcement-close:hover{transform:rotate(90deg);border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.17)}
.announcement-link:focus-visible,.announcement-close:focus-visible{outline:3px solid rgba(255,255,255,.48);outline-offset:2px}
@media(max-width:47.99rem){.announcement-inner{min-height:3.6rem;gap:.45rem}.announcement-link{justify-content:flex-start;gap:.55rem}.announcement-message{font-size:.75rem;text-align:left}.announcement-cta{padding:.4rem .55rem;font-size:.66rem}.announcement-cta-full{display:none}.announcement-cta-short{display:inline}.announcement-badge{font-size:.57rem}.announcement-close{width:1.85rem;height:1.85rem}}
@media(max-width:25rem){.announcement-badge{display:none}}
.nav-shell{position:relative;display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;letter-spacing:-.025em}.brand-mark{width:2rem;height:2rem;overflow:hidden;border:1px solid var(--line);border-radius:.62rem;background:#fff;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand:hover .brand-mark{transform:rotate(-4deg) scale(1.06);box-shadow:0 12px 26px -16px rgba(46,171,255,.9)}
.nav-menu{display:flex;align-items:center;gap:.25rem}.nav-link{position:relative;padding:.65rem .72rem;color:#4e5761;font-size:.76rem;font-weight:600;white-space:nowrap;transition:color .25s ease}.nav-link::after{content:"";position:absolute;right:.72rem;bottom:.42rem;left:.72rem;height:1.5px;transform:scaleX(0);transform-origin:right;border-radius:99px;background:var(--blue);transition:transform .4s var(--ease)}.nav-link:hover,.nav-link[aria-current="page"]{color:var(--ink)}.nav-link:hover::after,.nav-link[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav-contact{margin-left:.35rem;border-radius:999px;background:var(--ink);padding:.78rem 1.15rem;color:#fff;font-family:var(--font-display);font-size:.76rem;font-weight:700;transition:transform .35s var(--ease),background .3s ease,box-shadow .35s var(--ease)}.nav-contact:hover{transform:translateY(-2px);background:var(--blue-deep);box-shadow:0 14px 30px -18px rgba(8,121,249,.8)}
.nav-toggle{display:none;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:.85rem;background:#fff}.nav-toggle-box{display:grid;gap:4px}.nav-toggle-box span{width:18px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),opacity .25s ease}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(5.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-5.5px) rotate(-45deg)}

/* Buttons */
.button-row{display:flex;flex-wrap:wrap;gap:.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.2rem;border:1px solid transparent;border-radius:999px;padding:.82rem 1.35rem;font-size:.86rem;font-weight:700;transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .3s ease,border-color .3s ease,color .3s ease}.button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;transition:transform .4s var(--ease)}.button:hover{transform:translateY(-3px)}.button:hover svg{transform:translateX(3px)}.button-primary{background:var(--blue-deep);color:#fff;box-shadow:0 16px 34px -22px rgba(8,121,249,.95)}.button-primary:hover{background:#006ce4;box-shadow:0 20px 38px -20px rgba(8,121,249,.9)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--purple)}.button-light{background:#fff;color:var(--ink);box-shadow:0 16px 35px -24px rgba(0,0,0,.55)}.button-outline{border-color:var(--line);background:#fff;color:var(--ink)}.button-outline:hover{border-color:rgba(46,171,255,.5);background:var(--blue-soft)}.button-ghost-light{border-color:rgba(255,255,255,.3);color:#fff}.button-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.1)}

/* Motion */
.reveal{opacity:0;transform:translateY(28px) scale(.987);filter:blur(5px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--delay,0ms)}.reveal.visible,html:not(.js) .reveal{opacity:1;transform:none;filter:none}.motion-section{transform:translate3d(0,var(--section-drift,0),0)}
.interactive-card{--mx:50%;--my:20%;position:relative;overflow:hidden;isolation:isolate}.interactive-card::before{content:"";position:absolute;inset:-1px;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(46,171,255,.16),transparent 34%);opacity:0;transition:opacity .45s ease}.interactive-card:hover::before{opacity:1}

/* Shared heroes */
.page-hero{position:relative;overflow:hidden}.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 4%,rgba(46,171,255,.14),transparent 34%),radial-gradient(circle at 4% 80%,rgba(108,60,243,.08),transparent 30%)}
.hero-grid{display:grid;align-items:center;gap:4rem;min-height:calc(100vh - 4.75rem);padding-block:5rem}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1.55rem}.hero-copy h1{max-width:46rem;font-size:clamp(3rem,6.5vw,6.1rem);line-height:.98}.hero-copy h1 span{color:var(--blue)}.hero-copy>p{max-width:39rem;color:var(--muted);font-size:1.15rem;line-height:1.75}.hero-art{position:relative;width:100%;max-width:32rem;aspect-ratio:1;margin-inline:auto;perspective:1000px}.hero-art::before{content:"";position:absolute;inset:8%;z-index:-1;border-radius:30%;background:rgba(46,171,255,.2);filter:blur(55px);animation:breathe 6s ease-in-out infinite}.hero-art img{width:100%;height:100%;border-radius:2rem;object-fit:cover;box-shadow:0 35px 80px -42px rgba(7,16,57,.48);transition:transform .85s var(--ease)}
@keyframes breathe{50%{transform:scale(1.08);opacity:.65}}

/* Home navigation cards */
.nav-card-grid{display:grid;gap:1rem}.nav-card{display:flex;min-height:14rem;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:1.5rem;box-shadow:0 12px 35px -32px rgba(13,13,13,.35);transition:transform .5s var(--ease),border-color .4s ease,box-shadow .5s var(--ease)}.nav-card:hover{transform:translateY(-8px);border-color:rgba(46,171,255,.4);box-shadow:0 30px 58px -38px rgba(13,13,13,.45)}.nav-card-top{display:flex;align-items:center;justify-content:space-between}.nav-card-number{color:#9ba3ab;font-family:var(--font-display);font-size:.72rem;font-weight:700}.nav-card-arrow{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);transition:transform .5s var(--ease),background .35s ease,color .35s ease}.nav-card-arrow svg{width:1rem;fill:none;stroke:currentColor;stroke-width:2}.nav-card:hover .nav-card-arrow{transform:rotate(-35deg);background:var(--blue);color:#fff}.nav-card-label{color:var(--muted);font-size:.8rem}.nav-card-title{margin-top:.35rem;font-size:1.28rem;font-weight:700}

/* Products */
.product-grid{display:grid;gap:1.25rem}.product-card{display:flex;min-height:30rem;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;padding:2rem;box-shadow:var(--shadow);transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s ease}.product-card:hover{transform:translateY(-8px);border-color:rgba(46,171,255,.42);box-shadow:0 36px 80px -48px rgba(7,16,57,.5)}.product-card:nth-child(2){background:linear-gradient(150deg,#fff 48%,rgba(108,60,243,.07))}.product-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.product-mark{display:flex;width:4rem;height:4rem;align-items:center;justify-content:center;border-radius:1.25rem;background:linear-gradient(145deg,var(--blue),var(--blue-deep));color:#fff;font-family:var(--font-display);font-size:1.3rem;font-weight:800;box-shadow:0 18px 34px -22px rgba(8,121,249,.8)}.product-card:nth-child(2) .product-mark{background:linear-gradient(145deg,var(--purple),var(--purple-deep))}.product-status{border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.8);padding:.38rem .7rem;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase}.product-card h3{margin-top:2.2rem;font-size:clamp(2rem,4vw,3.25rem)}.product-card>p{margin-top:1rem;color:var(--muted);font-size:1.02rem;line-height:1.7}.benefit-list{display:grid;gap:.65rem;margin-block:1.5rem 2rem}.benefit-list li{display:flex;align-items:flex-start;gap:.7rem;color:#3f4852;font-size:.92rem}.benefit-list li::before{content:"✓";display:flex;width:1.25rem;height:1.25rem;flex:none;align-items:center;justify-content:center;border-radius:50%;background:var(--blue-soft);color:var(--blue-deep);font-size:.7rem;font-weight:700}.product-card .button{align-self:flex-start;margin-top:auto}
.product-detail{display:grid;align-items:center;gap:3rem;padding-block:5rem;border-bottom:1px solid var(--line)}.product-detail:last-child{border-bottom:0}.product-visual{display:flex;min-height:25rem;align-items:center;justify-content:center;border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--blue-soft),#fff);font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);font-weight:900;color:var(--blue-deep);letter-spacing:-.08em}.product-detail:nth-child(even) .product-visual{background:linear-gradient(145deg,#f0eaff,#fff);color:var(--purple)}.product-detail-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}.product-detail-copy h2{font-size:clamp(2.6rem,5vw,4.5rem)}

/* Home differential */
.differential-grid{display:grid;align-items:center;gap:4rem}.pillar-list{display:grid;gap:.85rem;margin-top:2rem}.pillar{display:grid;grid-template-columns:auto 1fr;gap:1rem;border-top:1px solid var(--line);padding-top:1.25rem}.pillar-number{color:var(--blue-deep);font-family:var(--font-display);font-size:.75rem;font-weight:700}.pillar h3{font-size:1.15rem}.pillar p{margin-top:.35rem;color:var(--muted);font-size:.93rem}.culture-visual{position:relative;min-height:34rem;overflow:hidden;border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--navy),#101c5b 55%,var(--purple));padding:2.25rem;color:#fff;box-shadow:0 40px 90px -48px rgba(7,16,57,.75)}.culture-visual::before,.culture-visual::after{content:"";position:absolute;border-radius:50%;filter:blur(2px)}.culture-visual::before{right:-12%;top:-7%;width:19rem;height:19rem;background:rgba(46,171,255,.25)}.culture-visual::after{left:-15%;bottom:-12%;width:17rem;height:17rem;background:rgba(108,60,243,.45)}.culture-visual-content{position:relative;z-index:1;display:flex;height:100%;min-height:29.5rem;flex-direction:column;justify-content:space-between}.culture-visual small{font-family:var(--font-display);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.culture-visual strong{max-width:28rem;font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;letter-spacing:-.06em}.culture-words{display:flex;flex-wrap:wrap;gap:.5rem}.culture-words span{border:1px solid rgba(255,255,255,.24);border-radius:99px;background:rgba(255,255,255,.08);padding:.45rem .72rem;font-size:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* CTAs */
.cta-dark{position:relative;overflow:hidden;border-radius:3rem;background:linear-gradient(135deg,#090d27 0%,#11123e 52%,#321184 100%);padding:clamp(3.5rem,8vw,7rem) 1.5rem;color:#fff;text-align:center}.cta-dark::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 70% 30%,rgba(108,60,243,.3),transparent 28%);animation:ctaFloat 9s ease-in-out infinite alternate}.cta-inner{position:relative;z-index:1;display:flex;max-width:53rem;margin-inline:auto;flex-direction:column;align-items:center;gap:1.4rem}.cta-inner h2{font-size:clamp(2.5rem,5vw,4.8rem)}.cta-inner p{max-width:42rem;color:rgba(255,255,255,.72);font-size:1.05rem}.cta-light{border:1px solid var(--line);border-radius:3rem;background:#f7f8fa;padding:clamp(3rem,7vw,6rem) 1.5rem;text-align:center}.cta-light .cta-inner h2{max-width:52rem;font-size:clamp(2.35rem,5vw,4.6rem)}.cta-signature{color:var(--blue-deep);font-family:var(--font-display);font-weight:700}
@keyframes ctaFloat{to{transform:translate3d(-3%,4%,0) scale(1.08)}}

/* About */
.about-banner{display:flex;min-height:calc(100vh - 4.75rem);align-items:center;background:linear-gradient(145deg,#fff 55%,rgba(234,246,255,.7));text-align:center}.about-banner-inner{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding-block:6rem}.about-banner h1{max-width:66rem;font-size:clamp(3.2rem,7vw,7rem)}.about-banner h1 span{display:block;color:var(--blue)}.about-banner p{max-width:43rem;color:var(--muted);font-size:1.1rem}.scroll-cue{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.5rem;color:var(--muted);font-family:var(--font-display);font-size:.76rem;font-weight:700}.scroll-cue span{animation:scrollCue 1.8s ease-in-out infinite}@keyframes scrollCue{50%{transform:translateY(5px)}}
.manifesto-grid{display:grid;gap:4rem}.manifesto-intro{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.manifesto-intro h2{font-size:clamp(2.5rem,5vw,4.5rem)}.manifesto-intro blockquote{border-left:3px solid var(--blue);padding-left:1.25rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;line-height:1.45}.manifesto-values{display:grid}.manifesto-value{padding-block:1.7rem;border-bottom:1px solid var(--line)}.manifesto-value:first-child{padding-top:0}.manifesto-value-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.75rem}.manifesto-icon{display:flex;width:2.4rem;height:2.4rem;flex:none;align-items:center;justify-content:center;border-radius:.8rem;background:var(--blue-soft);color:var(--blue-deep)}.manifesto-icon svg{width:1.15rem;fill:none;stroke:currentColor;stroke-width:2}.manifesto-value h3{font-size:1.1rem}.manifesto-value p{color:var(--muted);font-size:.95rem}
.motive-grid,.culture-grid{display:grid;align-items:start;gap:4rem}.capability-grid{display:grid;gap:1rem}.capability-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:1.4rem;transition:transform .45s var(--ease),border-color .35s ease,box-shadow .45s var(--ease)}.capability-card:hover{transform:translateY(-6px);border-color:rgba(46,171,255,.4);box-shadow:var(--shadow)}.capability-card span{color:var(--blue-deep);font-family:var(--font-display);font-size:.7rem;font-weight:700}.capability-card h3{margin-top:1rem;font-size:1.12rem}.capability-card p{margin-top:.55rem;color:var(--muted);font-size:.88rem}
.team-card{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow)}.team-portrait{display:flex;min-height:24rem;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--navy),var(--purple));color:#fff;font-family:var(--font-display);font-size:clamp(4rem,10vw,8rem);font-weight:900;letter-spacing:-.08em}.team-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:2.5rem}.team-info h3{font-size:2.2rem}.team-role{margin-top:.35rem;color:var(--blue-deep);font-family:var(--font-display);font-size:.82rem;font-weight:700;text-transform:uppercase}.team-info p{margin-top:1.25rem;max-width:34rem;color:var(--muted)}
.team-portrait{position:relative;overflow:hidden;padding:0}
.team-portrait img{width:100%;height:100%;min-height:24rem;object-fit:cover;object-position:center 31%;transition:transform 1s var(--ease),filter .65s ease}
.team-card:hover .team-portrait img{transform:scale(1.035);filter:saturate(1.05) contrast(1.025)}
.team-card .team-portrait{height:22rem;min-height:0}
.team-card .team-portrait img{height:100%;min-height:0}
@media(max-width:47.99rem){.team-card .team-portrait{height:19rem}.team-card .team-portrait img{object-position:center 29%}}
.ubuntu-visual{min-height:32rem;border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--purple),var(--purple-deep));padding:2.2rem;color:#fff;box-shadow:0 35px 75px -45px rgba(50,17,132,.8)}.ubuntu-visual-inner{display:flex;height:100%;min-height:27.6rem;flex-direction:column;justify-content:space-between}.ubuntu-visual strong{font-family:var(--font-display);font-size:clamp(4rem,10vw,8rem);line-height:1;letter-spacing:-.07em}.ubuntu-visual p{max-width:32rem;font-size:1.05rem;line-height:1.7}.value-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.value-tags span{border:1px solid var(--line);border-radius:99px;background:#fff;padding:.48rem .78rem;color:#4c5560;font-size:.78rem}
.unit-grid{display:grid;gap:1.2rem}.unit-card{min-height:22rem;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;padding:2rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.unit-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.unit-code{display:inline-flex;border-radius:99px;background:var(--blue-soft);padding:.4rem .7rem;color:var(--blue-deep);font-family:var(--font-display);font-size:.7rem;font-weight:700}.unit-card h3{margin-top:4rem;font-size:2.4rem}.unit-card p{margin-top:1rem;color:var(--muted)}

/* Services */
.service-hero{padding-block:7.5rem 6rem}.service-hero-inner{display:flex;max-width:63rem;flex-direction:column;align-items:flex-start;gap:1.5rem}.service-hero h1{font-size:clamp(3.2rem,7vw,7rem)}.service-hero h1 span{color:var(--blue)}.service-hero p{max-width:49rem;color:var(--muted);font-size:1.12rem;line-height:1.75}
.service-grid{display:grid;gap:1.2rem}.service-card{display:flex;min-height:34rem;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff;padding:2rem;transition:transform .55s var(--ease),border-color .4s ease,box-shadow .55s var(--ease)}.service-card:hover{transform:translateY(-8px);border-color:rgba(46,171,255,.42);box-shadow:0 32px 72px -46px rgba(7,16,57,.5)}.service-card-top{display:flex;align-items:center;justify-content:space-between}.service-number{color:var(--blue-deep);font-family:var(--font-display);font-size:.78rem;font-weight:700}.service-icon{display:flex;width:3.2rem;height:3.2rem;align-items:center;justify-content:center;border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep)}.service-icon svg{width:1.35rem;fill:none;stroke:currentColor;stroke-width:2}.service-card h3{margin-top:2.2rem;font-size:clamp(1.75rem,3vw,2.55rem)}.service-card>p{margin-top:1rem;color:var(--muted);font-size:.95rem;line-height:1.7}.service-features{display:grid;gap:.65rem;margin-top:auto;padding-top:1.7rem}.service-features li{display:flex;gap:.65rem;color:#46505a;font-size:.86rem}.service-features li::before{content:"";width:.42rem;height:.42rem;flex:none;margin-top:.45rem;border-radius:50%;background:var(--blue)}
.process-section{overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(240,248,255,.8)),var(--blue);color:var(--ink)}.process-section .eyebrow.light{color:var(--blue-deep)}.process-section .section-head p{color:var(--muted)}.process-track{position:relative;display:grid;gap:1.2rem;margin-top:4rem}.process-line{display:none}.process-step{position:relative;border:1px solid rgba(46,171,255,.2);border-radius:1.5rem;background:rgba(255,255,255,.54);padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .45s var(--ease),background .35s ease}.process-step:hover{transform:translateY(-6px);background:rgba(255,255,255,.74)}.process-dot{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--font-display);font-size:.75rem;font-weight:700}.process-step h3{margin-top:1.4rem;font-size:1.3rem}.process-step p{margin-top:.65rem;color:var(--muted);font-size:.88rem}

/* Contact */
.contact-hero{text-align:center}.contact-hero .service-hero-inner{align-items:center;margin-inline:auto}.contact-grid{display:grid;gap:1rem}.contact-card{display:flex;min-height:17rem;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:1.7rem;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .35s ease}.contact-card:hover{transform:translateY(-7px);border-color:rgba(46,171,255,.42);box-shadow:var(--shadow)}.contact-card-icon{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep)}.contact-card-icon svg{width:1.3rem;fill:none;stroke:currentColor;stroke-width:2}.contact-card h3{font-size:1.4rem}.contact-card p{color:var(--muted);font-size:.9rem}.contact-card-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue-deep);font-family:var(--font-display);font-size:.8rem;font-weight:700}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,var(--blue-soft))}.footer-main{display:grid;gap:2.5rem;padding-block:4rem 2.5rem}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.footer-brand p{max-width:25rem;color:var(--muted);font-size:.9rem}.footer-column h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.footer-links{display:grid;gap:.65rem;margin-top:1rem}.footer-links a{color:var(--muted);font-size:.88rem;transition:color .25s ease,transform .3s var(--ease)}.footer-links a:hover{transform:translateX(3px);color:var(--blue-deep)}.footer-bottom{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid rgba(96,105,117,.18);padding-block:1.25rem;color:var(--muted);font-size:.8rem}.footer-bottom a{color:var(--blue-deep)}

/* 404 */
.error-page{display:flex;min-height:calc(100vh - 4.75rem);align-items:center;text-align:center}.error-inner{display:flex;flex-direction:column;align-items:center;gap:1.3rem}.error-code{background:linear-gradient(135deg,var(--blue),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--font-display);font-size:clamp(7rem,20vw,14rem);font-weight:900;line-height:.8}.error-inner h1{font-size:clamp(2rem,5vw,4rem)}.error-inner p{max-width:36rem;color:var(--muted)}

/* Responsive */
@media(min-width:42rem){.nav-card-grid{grid-template-columns:repeat(2,1fr)}.capability-grid,.unit-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-bottom{flex-direction:row;justify-content:space-between}}
@media(min-width:48rem){.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr)}.product-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.differential-grid,.motive-grid,.culture-grid,.manifesto-grid,.team-card,.product-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail:nth-child(even) .product-visual{order:2}.manifesto-intro{position:sticky;top:7rem}.process-track{grid-template-columns:repeat(4,1fr);gap:1.4rem}.process-line{position:absolute;top:1.25rem;right:8%;left:8%;display:block;height:1px;background:linear-gradient(90deg,var(--blue),rgba(255,255,255,.18),var(--purple))}.process-step{border:0;background:transparent;padding:0 1rem 0 0;-webkit-backdrop-filter:none;backdrop-filter:none}.process-step:hover{background:transparent}.process-dot{position:relative;z-index:1;box-shadow:0 0 0 8px var(--navy)}.contact-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:64rem){.nav-card-grid{grid-template-columns:repeat(4,1fr)}.capability-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:64rem){.nav-link{padding-inline:.48rem;font-size:.7rem}.nav-link::after{right:.48rem;left:.48rem}.nav-contact{padding-inline:.9rem}}
@media(max-width:53rem){.nav-shell{flex-wrap:wrap;padding-block:.8rem}.js .nav-toggle{display:inline-flex}.js .nav-menu{position:absolute;top:calc(100% + .4rem);right:0;left:0;display:flex;align-items:stretch;flex-direction:column;gap:.2rem;border:1px solid var(--line);border-radius:1.25rem;background:rgba(255,255,255,.98);padding:.65rem;box-shadow:0 30px 65px -35px rgba(13,13,13,.45);opacity:0;pointer-events:none;transform:translateY(-10px) scale(.98);transform-origin:top;transition:opacity .3s ease,transform .4s var(--ease)}.js .nav-menu.open{opacity:1;pointer-events:auto;transform:none}.nav-link{padding:.8rem 1rem;font-size:.8rem}.nav-link::after{display:none}.nav-contact{margin:.25rem 0 0;text-align:center}.section{padding-block:4.75rem}}
@media(max-width:36rem){.container{width:min(100% - 2rem,73.75rem)}.button-row{width:100%}.button-row .button{flex:1}.hero-grid{gap:2.5rem;padding-block:3.75rem}.hero-art{max-width:25rem}.section-head{margin-bottom:2.5rem}.product-card,.service-card{padding:1.5rem;border-radius:2rem}.cta-dark,.cta-light{border-radius:2.2rem}.culture-visual{min-height:29rem}.footer-main{padding-top:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-progress{display:none}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}.motion-section{transform:none!important}}

/* Pointer-based depth is defined separately to keep the image transform composable. */
.hero-art img{transform:translate3d(var(--hero-x,0),var(--hero-y,0),0)}
.nav-contact[aria-current="page"]{background:var(--blue-deep);box-shadow:0 14px 30px -18px rgba(8,121,249,.8)}
.hero-copy h1{font-size:clamp(3rem,5.2vw,5.25rem);overflow-wrap:break-word}
.hero-copy h1 span{display:block}
@media(max-width:36rem){.hero-copy h1{font-size:clamp(2.45rem,12.5vw,3rem)}}
.footer-links a[target]{display:flex;align-items:center;gap:.55rem}
.footer-links a[target]::before{display:inline-flex;width:1.35rem;height:1.35rem;flex:none;align-items:center;justify-content:center;border-radius:.38rem;color:#fff;font-family:Arial,sans-serif;font-size:.7rem;font-weight:700}
.footer-links a[href*="instagram.com"]::before{content:"";background:url("assets/instagram.svg") center/1rem no-repeat}
.footer-links a[href*="facebook.com"]::before{content:"";background:url("assets/facebook.svg") center/1rem no-repeat}
.footer-links a[href*="linkedin.com"]::before{content:"";background:url("assets/linkedin.svg") center/1rem no-repeat}

/* Refined visual language: one blue family, editorial cards and SVG iconography. */
:root{--purple:#075fc7;--purple-deep:#031c4a}
.scroll-progress span{background:linear-gradient(90deg,var(--blue),var(--blue-deep),var(--navy))}
.button-dark:hover{background:var(--blue-deep)}
.product-card:nth-child(2){background:linear-gradient(150deg,#fff 48%,rgba(46,171,255,.09))}
.product-card:nth-child(2) .product-mark{background:linear-gradient(145deg,#118df4,var(--navy))}
.product-detail:nth-child(even) .product-visual{background:linear-gradient(145deg,#e6f4ff,#fff);color:var(--blue-deep)}
.culture-visual{background:linear-gradient(145deg,#050b20,var(--navy) 55%,#075fc7)}
.culture-visual::after{background:rgba(46,171,255,.32)}
.cta-dark{background:linear-gradient(135deg,#05070c 0%,#071039 55%,#075fc7 135%)}
.cta-dark::before{background:radial-gradient(circle at 70% 30%,rgba(46,171,255,.24),transparent 28%)}
.team-portrait{background:linear-gradient(145deg,#05070c,var(--navy),var(--blue-deep))}
.ubuntu-visual{background:linear-gradient(145deg,var(--blue-deep),var(--navy));box-shadow:0 35px 75px -45px rgba(7,16,57,.8)}

.nav-card{min-height:15.5rem;border-radius:1.55rem;padding:1.65rem;background:linear-gradient(145deg,#fff 70%,rgba(234,246,255,.42))}
.nav-card:hover{transform:translateY(-8px) scale(1.012);background:linear-gradient(145deg,#fff 35%,var(--blue-soft));box-shadow:0 32px 65px -38px rgba(8,121,249,.4)}
.nav-card-arrow{width:3rem;height:3rem;border:1px solid rgba(46,171,255,.22);border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep)}
.nav-card-arrow svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-card:hover .nav-card-arrow{transform:translateY(-3px) rotate(0);background:var(--blue-deep);color:#fff;box-shadow:0 15px 30px -18px rgba(8,121,249,.8)}
.nav-card-title{display:block;margin:0 0 .55rem;font-size:1.22rem}
.nav-card-label{display:flex;align-items:center;gap:.4rem;line-height:1.45}
.nav-card-label b{color:var(--blue-deep);font-size:1rem;transition:transform .35s var(--ease)}
.nav-card:hover .nav-card-label b{transform:translateX(4px)}
.product-mark svg{width:1.75rem;height:1.75rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.product-mark--inkmaster{overflow:hidden;padding:0;background:var(--navy)!important}
.product-mark--inkmaster img{width:100%;height:100%;object-fit:cover;border-radius:1.25rem;clip-path:inset(0 round 1.25rem);transition:transform .55s var(--ease),filter .45s ease}
.product-card:hover .product-mark--inkmaster img{transform:scale(1.07);filter:brightness(1.08)}
.product-visual--inkmaster{overflow:hidden;background:linear-gradient(145deg,#e7f3ff,#fff)!important;padding:clamp(1.4rem,4vw,2.6rem)}
.product-visual--inkmaster img{width:min(100%,20rem);aspect-ratio:1;object-fit:cover;border-radius:18%;clip-path:inset(0 round 18%);box-shadow:0 30px 60px -34px rgba(7,16,57,.72);transition:transform .8s var(--ease),filter .5s ease}
.product-visual--inkmaster:hover img{transform:scale(1.035) rotate(-1deg);filter:brightness(1.06)}
.product-visual--pomodoro{position:relative;flex-direction:column;gap:1.35rem;overflow:hidden;background:linear-gradient(145deg,#071039,#0d3380)!important;color:#fff!important;text-align:center}
.product-visual--pomodoro::before,.product-visual--pomodoro::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.product-visual--pomodoro::before{width:20rem;height:20rem;animation:pomodoroOrbit 10s linear infinite}
.product-visual--pomodoro::after{width:27rem;height:27rem;border-color:rgba(46,171,255,.18);animation:pomodoroOrbit 16s linear infinite reverse}
.pomodoro-mark{position:relative;z-index:1;display:flex;width:8.5rem;height:8.5rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.1);box-shadow:0 0 0 1rem rgba(46,171,255,.08),0 26px 65px -35px #000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .65s var(--ease),background .4s ease}
.pomodoro-mark svg{width:4rem;height:4rem;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.product-visual--pomodoro>span{position:relative;z-index:1;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.product-visual--pomodoro:hover .pomodoro-mark{transform:scale(1.06) rotate(4deg);background:rgba(46,171,255,.22)}
@keyframes pomodoroOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.product-visual--pomodoro::before,.product-visual--pomodoro::after{animation:none}}

/* Reusable infinite ticker. Adjust speed with the component's data-speed attribute. */
.infinite-ticker{display:block;overflow:hidden;background:#fff;padding-block:3.6rem 4rem;--ticker-duration:48s}
.ticker-heading{display:flex;max-width:73.75rem;flex-direction:column;align-items:center;margin-bottom:1.45rem;text-align:center}
.ticker-heading h2{max-width:48rem;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.025em}
.ticker-viewport{position:relative;overflow:hidden;border-block:1px solid rgba(46,171,255,.2);background:linear-gradient(100deg,#050b20,var(--navy) 54%,#073f87);box-shadow:0 24px 55px -42px rgba(7,16,57,.8);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ticker-track{display:flex;width:max-content;will-change:transform;animation:tickerSequence var(--ticker-duration) linear infinite reverse}
.ticker-group{display:flex;min-width:max-content;flex:none;align-items:center;gap:1.1rem;padding:1.35rem 1.1rem 1.35rem 0}
.ticker-item{display:inline-flex;min-height:2.65rem;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);padding:.64rem 1rem;color:#fff;font-family:var(--font-display);font-size:.84rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
@keyframes tickerSequence{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:47.99rem){.infinite-ticker{padding-block:2.8rem 3.2rem}.ticker-heading{align-items:center;margin-bottom:1.25rem;text-align:center}.ticker-heading h2{font-size:clamp(1.2rem,5.3vw,1.55rem)}.ticker-group{gap:.75rem;padding-block:1rem;padding-right:.75rem}.ticker-item{min-height:2.4rem;padding:.55rem .85rem;font-size:.76rem}.ticker-viewport{-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation-name:tickerSequence!important;animation-duration:var(--ticker-duration)!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-direction:reverse!important}}

/* Services process cards: the progress rail is integrated into each card. */
.process-section .process-track{align-items:stretch;gap:1.15rem}
.process-section .process-line{display:none}
.process-section .process-step{position:relative;isolation:isolate;min-height:18rem;overflow:hidden;border:1px solid rgba(46,171,255,.22);border-radius:1.6rem;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,255,255,.48));padding:1.5rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 20px 45px -38px rgba(46,171,255,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .5s var(--ease),border-color .35s ease,background .4s ease,box-shadow .5s var(--ease)}
.process-section .process-step::before{content:"";position:absolute;top:2.74rem;right:1.35rem;left:4.55rem;z-index:-1;height:1px;background:linear-gradient(90deg,rgba(46,171,255,.9),rgba(46,171,255,.18));box-shadow:0 0 12px rgba(46,171,255,.18);transition:background .4s ease,box-shadow .4s ease}
.process-section .process-step:last-child::before{background:linear-gradient(90deg,rgba(46,171,255,.9),transparent 72%)}
.process-section .process-step:hover{transform:translateY(-7px);border-color:var(--blue);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.72));box-shadow:0 0 0 1px rgba(46,171,255,.16),0 0 30px rgba(46,171,255,.18),0 28px 55px -34px rgba(46,171,255,.56),inset 0 1px 0 #fff}
.process-section .process-step:hover::before{background:linear-gradient(90deg,var(--blue),rgba(46,171,255,.42));box-shadow:0 0 14px rgba(46,171,255,.55)}
.process-section .process-dot{position:relative;z-index:2;box-shadow:0 0 0 7px rgba(46,171,255,.1),0 0 22px rgba(46,171,255,.25)}
.process-section .process-step h3{margin-top:1.55rem}
@media(min-width:48rem){.process-section .process-track{grid-template-columns:repeat(4,minmax(0,1fr))}.process-section .process-step{padding:1.5rem}.process-section .process-step:hover{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.72))}}
@media(max-width:47.99rem){.process-section .process-step{min-height:15rem}.process-section .process-step::before{right:1.25rem}}

/* Service packages */
.packages-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f5f9fd 100%)}
.packages-section::before{content:"";position:absolute;top:8rem;left:50%;width:min(70rem,90vw);height:32rem;transform:translateX(-50%);border-radius:50%;background:rgba(46,171,255,.09);filter:blur(80px);pointer-events:none}
.packages-heading{position:relative;max-width:48rem;margin-inline:auto;text-align:center}
.packages-heading p{margin-inline:auto}
.packages-grid{position:relative;display:grid;align-items:stretch;gap:1.2rem;margin-top:3.5rem}
.package-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:2rem;background:rgba(255,255,255,.9);box-shadow:0 24px 60px -50px rgba(7,16,57,.62);transition:transform .55s var(--ease),border-color .4s ease,box-shadow .55s var(--ease)}
.package-card:hover{transform:translateY(-8px);border-color:rgba(46,171,255,.58);box-shadow:0 34px 72px -46px rgba(7,61,139,.48)}
.package-featured{border-color:rgba(46,171,255,.42);box-shadow:0 28px 70px -48px rgba(46,171,255,.7)}
.package-labs{background:linear-gradient(155deg,#fff 0%,#f4f8ff 100%)}
.package-header{position:relative;padding:1.65rem 1.65rem 1.5rem;border-bottom:1px solid var(--line)}
.package-icon{display:flex;width:3.25rem;height:3.25rem;align-items:center;justify-content:center;margin-bottom:1.4rem;border:1px solid rgba(46,171,255,.22);border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep);transition:transform .5s var(--ease),background .35s ease,color .35s ease}
.package-card:hover .package-icon{transform:rotate(-5deg) scale(1.06);background:var(--blue);color:#fff}
.package-icon svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.package-level{position:absolute;top:1.85rem;right:1.65rem;color:var(--blue-deep);font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.package-header h3{font-size:clamp(2rem,3vw,2.85rem);letter-spacing:-.055em;text-transform:uppercase}
.package-header p{margin-top:.85rem;color:var(--muted);font-size:.88rem;line-height:1.7}
.package-content{display:grid;gap:1.5rem;padding:1.55rem 1.65rem}
.package-list h4{font-size:.92rem;line-height:1.4}
.package-list ul{display:grid;gap:.72rem;margin-top:1rem}
.package-list li{position:relative;padding-left:1.65rem;color:#4e5964;font-size:.82rem;line-height:1.55}
.package-list li::before{position:absolute;top:.05rem;left:0;display:flex;width:1.05rem;height:1.05rem;align-items:center;justify-content:center;border-radius:50%;font-family:Arial,sans-serif;font-size:.69rem;font-weight:700;line-height:1}
.package-includes li::before{content:"✓";background:rgba(32,178,108,.12);color:#128553}
.package-excludes li::before{content:"×";background:rgba(230,73,73,.11);color:#c73535}
.package-outcome{margin:0 1.65rem 1.55rem;border:1px solid rgba(46,171,255,.2);border-radius:1.2rem;background:var(--blue-soft);padding:1.15rem}
.package-outcome strong{display:block;color:var(--blue-deep);font-family:var(--font-display);font-size:.73rem;letter-spacing:.04em;text-transform:uppercase}
.package-outcome p{margin-top:.45rem;color:#435468;font-size:.8rem;line-height:1.55}
.package-footer{display:flex;flex-direction:column;gap:1rem;margin-top:auto;padding:0 1.65rem 1.7rem}
.package-button{width:100%;justify-content:center}
.package-note{color:#727b85;font-size:.69rem;line-height:1.5;text-align:center}
@media(min-width:48rem){.packages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-labs{grid-column:1/-1}.package-labs .package-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:72rem){.packages-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.package-labs{grid-column:auto}.package-labs .package-content{grid-template-columns:1fr}.package-featured{transform:translateY(-1rem)}.package-featured:hover{transform:translateY(calc(-1rem - 8px))}}
@media(max-width:31rem){.package-level{position:static;display:block;margin-bottom:.55rem}.package-icon{margin-bottom:1rem}.package-header,.package-content{padding-inline:1.3rem}.package-outcome{margin-inline:1.3rem}.package-footer{padding-inline:1.3rem}}

/* Data treatment policy */
.policy-page{background:linear-gradient(180deg,#f4f9ff 0,#fff 26rem)}
.policy-container{width:min(100% - 2rem,58rem);margin-inline:auto}
.policy-hero{padding-block:8rem 4.5rem;border-bottom:1px solid var(--line)}
.policy-hero h1{max-width:52rem;margin-top:1rem;font-size:clamp(2.7rem,6vw,5.6rem);line-height:.98;letter-spacing:-.065em}
.policy-updated{margin-top:1.4rem;color:var(--muted);font-size:.86rem}
.policy-document{padding-block:4rem 6rem}
.policy-document a{color:var(--blue-deep);font-weight:700;text-decoration:underline;text-decoration-color:rgba(0,95,230,.28);text-underline-offset:.18em}
.policy-intro{margin:3.5rem 0;color:#3f4a56;font-size:1.02rem;line-height:1.85}
.policy-callout{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;border:1px solid rgba(46,171,255,.25);border-radius:1.7rem;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(230,244,255,.84));padding:1.65rem;box-shadow:0 24px 60px -50px rgba(7,61,139,.55)}
.policy-summary{border-color:rgba(46,171,255,.38);background:linear-gradient(145deg,#ecf7ff,#fff)}
.policy-controller{background:linear-gradient(145deg,#fff,#f5f9fd)}
.policy-rights{background:linear-gradient(145deg,#eef8ff,#fff)}
.policy-callout-icon{display:flex;width:3rem;height:3rem;align-items:center;justify-content:center;border:1px solid rgba(46,171,255,.24);border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep)}
.policy-callout-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.policy-callout h2,.policy-callout h3{font-size:1.2rem}
.policy-callout p{margin-top:.55rem;color:#465361;font-size:.91rem;line-height:1.72}
.policy-section{padding-block:2.25rem;border-top:1px solid var(--line)}
.policy-section>h2{display:flex;align-items:baseline;gap:.8rem;font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.035em}
.policy-section>h2 span{color:var(--blue);font-size:.67rem;letter-spacing:.08em}
.policy-section>h3{margin-top:2rem;font-size:1.08rem}
.policy-section>p{margin-top:1rem;color:#4b5661;font-size:.95rem;line-height:1.8}
.policy-list{display:grid;gap:.75rem;margin-top:1.2rem}
.policy-list li{position:relative;padding-left:1.45rem;color:#4b5661;font-size:.93rem;line-height:1.65}
.policy-list li::before{content:"";position:absolute;top:.62rem;left:0;width:.42rem;height:.42rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.policy-table-wrap{overflow-x:auto;margin-block:1.5rem;border:1px solid var(--line);border-radius:1.35rem;background:#fff;box-shadow:0 20px 50px -46px rgba(7,16,57,.55)}
.policy-table{width:100%;min-width:42rem;border-collapse:collapse;text-align:left}
.policy-table th{background:var(--navy);padding:1rem 1.15rem;color:#fff;font-family:var(--font-display);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.policy-table td{width:50%;padding:1rem 1.15rem;border-top:1px solid var(--line);color:#48535f;font-size:.86rem;line-height:1.55;vertical-align:top}
.policy-table tbody tr:nth-child(even){background:#f7fbff}
.policy-table tbody tr:hover{background:var(--blue-soft)}
.policy-signoff{border-top:1px solid var(--line);background:#f7f9fb;padding-block:1.5rem;color:#68727d;font-size:.76rem;text-align:center}
.policy-signoff a{color:inherit;text-decoration:none}
.footer-policy-link{color:inherit;font-size:.78rem;transition:color .3s ease}
.footer-policy-link:hover{color:var(--blue)}
@media(max-width:38rem){.policy-hero{padding-block:6.5rem 3.5rem}.policy-document{padding-block:2.5rem 4.5rem}.policy-callout{grid-template-columns:1fr}.policy-section{padding-block:1.8rem}.policy-table-wrap{margin-right:-.25rem}.policy-signoff{line-height:1.7}}
.pillar-icon{display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;border:1px solid rgba(46,171,255,.25);border-radius:.8rem;background:var(--blue-soft);color:var(--blue-deep)}
.pillar-icon svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-icon svg,.manifesto-icon svg{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card{background:linear-gradient(145deg,#fff 75%,rgba(234,246,255,.32))}
.service-card:hover{background:linear-gradient(145deg,#fff 42%,var(--blue-soft));transform:translateY(-8px) scale(1.008)}
.contact-card-icon{background:var(--blue-soft)!important;color:var(--blue-deep)!important}
.contact-card-icon img{width:1.25rem;height:1.25rem;object-fit:contain}

.footer-column:last-child .footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.footer-column:last-child .footer-links>a:first-child{width:100%}
.footer-links a[target]{width:max-content;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.58rem .85rem;color:var(--muted);font-weight:700;box-shadow:0 10px 28px -25px rgba(13,13,13,.45);transition:transform .35s var(--ease),border-color .3s ease,color .3s ease,box-shadow .35s var(--ease)}
.footer-links a[target]::before{width:1.1rem;height:1.1rem;border-radius:0;color:var(--muted)}
.footer-links a[target]:hover{transform:translateY(-3px);border-color:rgba(46,171,255,.45);color:var(--blue-deep);box-shadow:0 16px 32px -24px rgba(8,121,249,.5)}
@media(min-width:64rem){.footer-main{grid-template-columns:1.45fr .75fr 1.8fr}}

/* Home differential card */
.differential-card{min-height:34rem;border:1px solid rgba(46,171,255,.16);border-radius:2.8rem;background:linear-gradient(140deg,#070a18 0%,#071039 58%,#074d9f 145%);padding:clamp(1.6rem,3vw,2.75rem);box-shadow:0 42px 90px -50px rgba(7,16,57,.85)}
.differential-card::before{right:-18%;top:-20%;width:22rem;height:22rem;background:rgba(46,171,255,.18);filter:blur(12px)}
.differential-card::after{left:-18%;bottom:-30%;width:20rem;height:20rem;background:rgba(8,121,249,.16);filter:blur(18px)}
.differential-card .culture-visual-content{min-height:28.4rem;justify-content:flex-start;gap:1.25rem}
.differential-quote{max-width:29rem;border-left:4px solid var(--blue);padding:.2rem 0 .2rem 1.25rem;font-family:var(--font-display);font-size:clamp(1.45rem,2.7vw,2.15rem);font-weight:700;line-height:1.35;letter-spacing:-.035em}
.differential-author{color:rgba(255,255,255,.5);font-size:.9rem;font-weight:700}
.differential-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:auto}
.differential-value{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:1.05rem;background:rgba(255,255,255,.055);padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .45s var(--ease),border-color .35s ease,background .35s ease,box-shadow .45s var(--ease)}
.differential-value::after{content:"";position:absolute;inset:auto -30% -80% 30%;height:7rem;border-radius:50%;background:rgba(46,171,255,.14);filter:blur(18px);opacity:0;transition:opacity .4s ease}
.differential-value:hover{transform:translateY(-5px);border-color:rgba(46,171,255,.38);background:rgba(255,255,255,.09);box-shadow:0 18px 38px -28px rgba(46,171,255,.75)}
.differential-value:hover::after{opacity:1}
.differential-value-title{position:relative;z-index:1;display:flex;align-items:center;gap:.55rem}
.differential-value-title svg{width:1.05rem;height:1.05rem;flex:none;fill:none;stroke:#57bdff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease),stroke .3s ease}
.differential-value:hover svg{transform:scale(1.12) rotate(-4deg);stroke:#fff}
.differential-value h3{font-size:.92rem;letter-spacing:-.02em}
.differential-value p{position:relative;z-index:1;margin-top:.35rem;color:rgba(255,255,255,.5);font-size:.8rem;line-height:1.45}
@media(max-width:27rem){.differential-values{grid-template-columns:1fr}.differential-card .culture-visual-content{min-height:0}.differential-card{min-height:0}.differential-value{padding:.9rem}}

/* Home route cards: icon, category, title, description and action. */
.nav-card{min-height:20rem;justify-content:flex-start;gap:0;padding:1.55rem}
.nav-card-icon{display:flex;width:3rem;height:3rem;flex:none;align-items:center;justify-content:center;border:1px solid rgba(46,171,255,.22);border-radius:1rem;background:var(--blue-soft);color:var(--blue-deep);transition:transform .45s var(--ease),background .35s ease,color .35s ease,box-shadow .45s var(--ease)}
.nav-card-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-card:hover .nav-card-icon{transform:translateY(-3px) rotate(-3deg);background:var(--blue-deep);color:#fff;box-shadow:0 15px 30px -18px rgba(8,121,249,.8)}
.nav-card-body{display:block;margin-top:1.7rem}
.nav-card-label{display:block;margin-bottom:.55rem;color:#8a9199;font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.11em;line-height:1.3;text-transform:uppercase}
.nav-card-title{display:block;margin:0;font-size:1.18rem;line-height:1.25}
.nav-card-description{display:block;margin-top:.65rem;color:var(--muted);font-size:.83rem;line-height:1.55}
.nav-card-link{display:inline-flex;margin-top:auto;padding-top:1.1rem;color:var(--blue-deep);font-family:var(--font-display);font-size:1.15rem;font-weight:700;transition:transform .4s var(--ease),color .3s ease}
.nav-card:hover .nav-card-link{transform:translateX(6px);color:var(--ink)}
@media(max-width:36rem){.nav-card{min-height:18rem}}

/* Inner-page banners */
body:not([data-page="home"]) main>.page-hero{text-align:center}
body:not([data-page="home"]) main>.page-hero .service-hero-inner{align-items:center;margin-inline:auto;text-align:center}
body:not([data-page="home"]) main>.page-hero h1{font-size:clamp(3rem,6.5vw,6.55rem)}
body:not([data-page="home"]) main>.page-hero p{font-size:1.05rem}

body[data-page="about"] .about-banner,
body[data-page="products"] main>.page-hero{isolation:isolate;background:linear-gradient(135deg,#0879f9 0%,#075fc7 52%,#031c4a 125%);color:#fff}
body[data-page="about"] .about-banner::before,
body[data-page="products"] main>.page-hero::before{z-index:-1;background:radial-gradient(circle at 78% 20%,rgba(111,204,255,.38),transparent 27%),radial-gradient(circle at 14% 86%,rgba(0,41,111,.5),transparent 32%);animation:bannerDrift 10s var(--ease-soft) infinite alternate}
body[data-page="about"] .about-banner::after,
body[data-page="products"] main>.page-hero::after{content:"";position:absolute;right:-8rem;bottom:-10rem;z-index:-1;width:29rem;height:29rem;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.018);animation:bannerOrbit 12s ease-in-out infinite alternate}
body[data-page="about"] .about-banner h1 span{color:#fff}
body[data-page="about"] .about-banner p,
body[data-page="about"] .scroll-cue,
body[data-page="products"] main>.page-hero p{color:rgba(255,255,255,.78)}
body[data-page="about"] .about-banner .eyebrow,
body[data-page="products"] main>.page-hero .eyebrow{color:#fff}
body[data-page="about"] .about-banner .eyebrow::before,
body[data-page="products"] main>.page-hero .eyebrow::before{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.14)}
body[data-page="products"] main>.page-hero h1 span{color:#fff}
body[data-page="products"] main>.page-hero .button-primary{background:#fff;color:var(--ink);box-shadow:0 18px 38px -25px rgba(0,0,0,.5)}
body[data-page="products"] main>.page-hero .button-primary:hover{background:var(--blue-soft);color:var(--blue-deep)}
body[data-page="products"] main>.page-hero .button-outline{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.07);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body[data-page="products"] main>.page-hero .button-outline:hover{border-color:#fff;background:rgba(255,255,255,.14)}

body[data-page="services"] main>.page-hero{isolation:isolate;background:linear-gradient(145deg,#f0f2f4,#e8ecef 60%,#f7f8f9)}
body[data-page="services"] main>.page-hero::before{z-index:-1;background:radial-gradient(circle at 82% 16%,rgba(46,171,255,.16),transparent 28%),radial-gradient(circle at 8% 88%,rgba(7,16,57,.055),transparent 32%);animation:bannerDrift 11s var(--ease-soft) infinite alternate}
body[data-page="services"] main>.page-hero .service-hero-inner{max-width:58rem}
body[data-page="services"] main>.page-hero .service-hero-inner p{margin-inline:auto}

body[data-page="contact"] main>.page-hero .service-hero-inner{max-width:59rem}
body[data-page="contact"] main>.page-hero .service-hero-inner p{margin-inline:auto}

@keyframes bannerDrift{0%{transform:translate3d(-1.5%,-1%,0) scale(1.02)}100%{transform:translate3d(1.5%,1.5%,0) scale(1.07)}}
@keyframes bannerOrbit{0%{transform:translate3d(0,0,0) scale(.96)}100%{transform:translate3d(-2rem,-1.2rem,0) scale(1.05)}}
@media(max-width:36rem){body:not([data-page="home"]) main>.page-hero h1{font-size:clamp(2.65rem,12vw,3.15rem)}body:not([data-page="home"]) main>.page-hero p{font-size:1rem}}

/* Animated media blocks */
.ubuntu-media{position:relative;display:grid;min-height:32rem;place-items:center;overflow:hidden;background:#000;padding:0}
.ubuntu-media>img{width:100%;height:100%;min-height:32rem;object-fit:cover;object-position:center;transform:scale(1.025);transition:transform 1.1s var(--ease),filter .7s ease}
.ubuntu-media:hover>img{transform:scale(1.07);filter:brightness(1.12)}
.ubuntu-media-copy{position:absolute;inset:auto 0 0;z-index:2;padding:5.5rem 2rem 2rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));color:#fff}
.ubuntu-media-copy strong{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.06em}
.ubuntu-media-copy p{max-width:31rem;margin-top:1rem;color:rgba(255,255,255,.68);font-size:.95rem;line-height:1.65}
.shared-vision-visual{border-color:rgba(46,171,255,.2);background:#000}
.shared-vision-visual::before{right:-22%;top:-18%;background:rgba(46,171,255,.14);filter:blur(22px)}
.shared-vision-visual::after{background:rgba(8,121,249,.13);filter:blur(25px)}
.shared-vision-visual .culture-visual-content{align-items:stretch}
.shared-vision-visual img{width:min(100%,27rem);max-height:23rem;align-self:center;object-fit:contain;mix-blend-mode:screen;transition:transform 1s var(--ease),filter .7s ease}
.shared-vision-visual:hover img{transform:scale(1.045) rotate(.6deg);filter:brightness(1.14)}
@media(max-width:36rem){.ubuntu-media,.ubuntu-media>img{min-height:29rem}.ubuntu-media-copy{padding-inline:1.5rem}.shared-vision-visual img{max-height:19rem}}

/* Shared vision: the animation is the complete visual. */
.shared-vision-visual{display:block;min-height:0;aspect-ratio:1;overflow:hidden;padding:0;background:#000}
.shared-vision-visual::before,.shared-vision-visual::after{display:none}
.shared-vision-visual>img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:1;object-fit:cover;object-position:center;mix-blend-mode:normal;transform:none}
.shared-vision-visual:hover>img{transform:scale(1.025);filter:brightness(1.08)}
@media(max-width:36rem){.shared-vision-visual>img{max-height:none}}

/* Shared vision copy overlays the edge-to-edge animation. */
.shared-vision-visual{position:relative}
.shared-vision-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.48),transparent 24%,transparent 72%,rgba(0,0,0,.58))}
.shared-vision-overlay small{color:#fff;font-family:var(--font-display);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.shared-vision-overlay .culture-words{position:relative;z-index:1}
.shared-vision-overlay .culture-words span{border-color:rgba(255,255,255,.24);background:rgba(4,12,28,.66);color:#fff;box-shadow:0 8px 22px -16px #000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@media(max-width:36rem){.shared-vision-overlay{padding:1.35rem}.shared-vision-overlay small{font-size:.68rem}.shared-vision-overlay .culture-words{gap:.38rem}.shared-vision-overlay .culture-words span{padding:.38rem .58rem;font-size:.68rem}}

/* Footer social pills, balanced home hero and a stable mobile menu icon. */
.footer-column:last-child .footer-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.footer-column:last-child .footer-links>a:first-child{width:max-content}
.footer-links a[target]{position:relative;isolation:isolate;display:inline-flex;min-height:2.65rem;align-items:center;gap:.6rem;overflow:hidden;border:1px solid #dfe4e9;border-radius:999px;background:#fff;padding:.62rem 1rem;color:#606975;font-size:.84rem;font-weight:700;line-height:1;box-shadow:0 10px 28px -25px rgba(13,13,13,.45);transition:transform .45s var(--ease),border-color .35s ease,color .35s ease,box-shadow .45s var(--ease)}
.footer-links a[target]::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 20%,rgba(46,171,255,.13) 50%,transparent 80%);transform:translateX(-120%);transition:transform .65s var(--ease)}
.footer-links a[target]::before{content:"";display:block;width:1.05rem;height:1.05rem;flex:none;border-radius:0;background:currentColor;transition:transform .45s var(--ease);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.footer-links a[href*="instagram.com"]::before{-webkit-mask-image:url("assets/instagram.svg");mask-image:url("assets/instagram.svg")}
.footer-links a[href*="facebook.com"]::before{-webkit-mask-image:url("assets/facebook.svg");mask-image:url("assets/facebook.svg")}
.footer-links a[href*="linkedin.com"]::before{-webkit-mask-image:url("assets/linkedin.svg");mask-image:url("assets/linkedin.svg")}
.footer-links a[target]:hover{transform:translateY(-4px);border-color:rgba(46,171,255,.55);color:var(--blue-deep);box-shadow:0 18px 34px -23px rgba(8,121,249,.48)}
.footer-links a[target]:hover::before{transform:scale(1.12) rotate(-5deg)}
.footer-links a[target]:hover::after{transform:translateX(120%)}
.footer-links a[target]:focus-visible{outline:3px solid rgba(46,171,255,.28);outline-offset:3px}

.nav-toggle{position:relative;overflow:hidden;transition:border-color .3s ease,background .3s ease,box-shadow .35s var(--ease)}
.nav-toggle:hover,.nav-toggle[aria-expanded="true"]{border-color:rgba(46,171,255,.42);background:var(--blue-soft);box-shadow:0 12px 26px -20px rgba(8,121,249,.7)}
.nav-toggle-box{position:relative;display:block;width:20px;height:16px}
.nav-toggle-box span{position:absolute;left:0;width:20px;height:1.5px;border-radius:99px;transform-origin:center;background:var(--ink);transition:top .35s var(--ease),transform .4s var(--ease),opacity .2s ease,background .3s ease}
.nav-toggle-box span:first-child{top:1px}.nav-toggle-box span:nth-child(2){top:7px}.nav-toggle-box span:last-child{top:13px}
.nav-toggle[aria-expanded="true"] .nav-toggle-box span:first-child{top:7px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-box span:nth-child(2){opacity:0;transform:scaleX(.25)}
.nav-toggle[aria-expanded="true"] .nav-toggle-box span:last-child{top:7px;transform:rotate(-45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-box span{background:var(--blue-deep)}

@media(min-width:53.01rem){
  body[data-page="home"] .hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(21rem,.84fr);gap:3rem}
  body[data-page="home"] .hero-copy h1{max-width:42rem;font-size:clamp(3.7rem,5vw,4.75rem);line-height:1.01}
  body[data-page="home"] .hero-copy h1 .hero-desktop-break{display:inline}
}
@media(max-width:53rem){body[data-page="home"] .hero-copy h1 .hero-desktop-break{display:none}}
@media(max-width:36rem){
  .footer-column:last-child .footer-links{gap:.55rem}
  .footer-links a[target]{min-height:2.55rem;padding:.6rem .82rem;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){.footer-links a[target]::after{display:none}.footer-links a[target]:hover,.footer-links a[target]:hover::before{transform:none}}

/* Render social artwork as real SVG images for consistent visibility. */
.footer-links a[target]::before{display:none}
.footer-social-icon{display:grid;width:1.75rem;height:1.75rem;flex:none;place-items:center;border-radius:.55rem;background:#eef1f4;transition:transform .45s var(--ease),background .35s ease,box-shadow .45s var(--ease)}
.footer-social-icon img{display:block;width:1.05rem;height:1.05rem;object-fit:contain;opacity:.78;filter:none;transition:transform .45s var(--ease),filter .35s ease,opacity .35s ease}
.footer-social-icon svg{display:block;width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.78;transition:transform .45s var(--ease),opacity .35s ease}
.footer-links a[target]:hover .footer-social-icon{transform:rotate(-5deg) scale(1.08);background:var(--blue-deep);box-shadow:0 10px 20px -12px rgba(8,121,249,.8)}
.footer-links a[target]:hover .footer-social-icon img{transform:scale(1.08);opacity:1;filter:brightness(0) invert(1)}
.footer-links a[target]:hover .footer-social-icon svg{transform:scale(1.08);opacity:1;color:#fff}
.footer-column:last-child .footer-email-link{width:100%;margin-top:.25rem;color:var(--muted);font-size:.86rem;font-weight:400;text-decoration:underline;text-decoration-color:rgba(96,105,117,.38);text-underline-offset:.2rem}
.footer-column:last-child .footer-email-link:hover{color:var(--blue-deep);text-decoration-color:currentColor}
.cta-inner .cta-email{margin-top:-.35rem;color:rgba(255,255,255,.68);font-size:.88rem}
.cta-email a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:.22rem;transition:text-decoration-color .25s ease,color .25s ease}
.cta-email a:hover{color:var(--blue-soft);text-decoration-color:currentColor}
@media(prefers-reduced-motion:reduce){.footer-links a[target]:hover .footer-social-icon,.footer-links a[target]:hover .footer-social-icon img{transform:none}}

/* Adaptive technology showcase */
.tools-showcase{position:relative;overflow:hidden;background:#fff}
.tools-showcase::before{content:"";position:absolute;top:50%;right:-12rem;width:38rem;height:38rem;transform:translateY(-50%);border-radius:50%;background:rgba(46,171,255,.1);filter:blur(90px);pointer-events:none}
.tools-showcase-grid{position:relative;display:grid;align-items:center;gap:clamp(2.5rem,6vw,6rem)}
.tools-showcase-copy{max-width:35rem}
.tools-showcase-copy h2{margin-top:1rem;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;letter-spacing:-.06em}
.tools-showcase-copy>p{margin-top:1.2rem;color:var(--muted);font-size:.98rem;line-height:1.78}
.tools-showcase-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.7rem}
.tools-showcase-tags span{border:1px solid rgba(46,171,255,.24);border-radius:99px;background:var(--blue-soft);padding:.48rem .78rem;color:var(--blue-deep);font-family:var(--font-display);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tools-showcase-visual{position:relative;isolation:isolate;overflow:hidden;margin:0;border:1px solid rgba(46,171,255,.22);border-radius:2.25rem;background:linear-gradient(145deg,#f8fcff,#eaf6ff);padding:clamp(.8rem,2vw,1.35rem);box-shadow:0 35px 80px -55px rgba(7,61,139,.7);transition:transform .75s var(--ease),border-color .4s ease,box-shadow .7s var(--ease)}
.tools-showcase-visual::after{content:"";position:absolute;inset:-35% auto -35% -24%;z-index:2;width:24%;transform:rotate(12deg) translateX(-260%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);transition:transform 1s var(--ease);pointer-events:none}
.tools-showcase-glow{position:absolute;inset:14%;z-index:-1;border-radius:50%;background:rgba(46,171,255,.28);filter:blur(55px);animation:toolsGlow 5s ease-in-out infinite alternate}
.tools-showcase-visual img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:1.55rem;filter:saturate(.92) contrast(1.02);transition:transform 1s var(--ease),filter .65s ease}
.tools-showcase-visual:hover{transform:translateY(-8px) rotate(.35deg);border-color:var(--blue);box-shadow:0 42px 95px -52px rgba(7,94,190,.7)}
.tools-showcase-visual:hover::after{transform:rotate(12deg) translateX(620%)}
.tools-showcase-visual:hover img{transform:scale(1.025);filter:saturate(1.08) contrast(1.03)}
@keyframes toolsGlow{from{transform:scale(.9);opacity:.55}to{transform:scale(1.12);opacity:.9}}
@media(min-width:48rem){.tools-showcase-grid{grid-template-columns:minmax(0,.9fr) minmax(24rem,1.1fr)}}
@media(max-width:47.99rem){.tools-showcase-copy{max-width:none}.tools-showcase-visual{border-radius:1.65rem}.tools-showcase-visual img{border-radius:1.05rem}}
@media(prefers-reduced-motion:reduce){.tools-showcase-glow{animation:none}.tools-showcase-visual,.tools-showcase-visual img{transition-duration:.01ms}}
