:root{--green:#114034;--deep:#082d25;--gold:#d4af35;--ink:#101412;--muted:#5f6c67;--soft:#f3f6f4;--line:#dce4e0;--white:#fff;--radius:28px;--shadow:0 24px 70px rgba(8,45,37,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}body.lock{overflow:hidden}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.serif{font-family:"Playfair Display",Georgia,serif}.container{width:min(1240px,calc(100% - 42px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--green)}.noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--green),var(--gold));z-index:101}
header{position:fixed;top:0;left:0;right:0;z-index:90;padding:18px 0;transition:.3s}header.scrolled{padding:10px 0;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,64,52,.08)}.nav{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand svg{width:44px}.brand-text{font-size:14px;line-height:.9}.brand-text b{color:var(--green)}.links{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600}.links a{position:relative}.links>a:after,.has-drop>a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--green);transition:.25s}.links>a:hover:after,.has-drop>a:hover:after{width:100%}.has-drop{position:relative}.has-drop>a{display:flex;gap:7px;align-items:center}.caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.dropdown{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%) translateY(8px);width:325px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.25s}.has-drop:hover .dropdown,.has-drop:focus-within .dropdown{opacity:1;visibility:visible;transform:translateX(-50%)}.dropdown a{display:block;padding:12px 14px;border-radius:13px;font-size:14px}.dropdown a:hover{background:var(--soft);color:var(--green)}.dropdown small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.nav-cta,.btn{border:0;border-radius:999px;padding:14px 20px;display:inline-flex;align-items:center;gap:9px;font-weight:700;cursor:pointer;transition:.3s}.nav-cta,.btn-primary{background:var(--green);color:#fff}.nav-cta:hover,.btn-primary:hover{transform:translateY(-3px);background:var(--deep);box-shadow:0 15px 34px rgba(17,64,52,.22)}.btn-light{background:#fff;border:1px solid var(--line)}.btn-light:hover{border-color:var(--green);color:var(--green);transform:translateY(-3px)}.menu{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:50%}.mobile{position:fixed;inset:0;background:#fff;z-index:100;padding:24px;transform:translateX(100%);transition:.4s}.mobile.open{transform:none}.mobile-close{float:right;border:0;background:var(--soft);width:46px;height:46px;border-radius:50%;font-size:25px}.mobile nav{display:grid;gap:22px;margin-top:75px;font:600 36px/1.15 "Playfair Display",serif}.mobile .sub{display:grid;gap:12px;margin-top:18px;font:600 21px Poppins,sans-serif;color:var(--muted)}
.hero{min-height:100vh;padding:150px 0 80px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(155deg,#fff 0,#fff 55%,#f0f5f2 100%)}.hero:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;left:-220px;bottom:-250px;background:radial-gradient(circle,rgba(17,64,52,.15),transparent 68%)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center;position:relative;z-index:2}.hero h1{font-size:clamp(4rem,7vw,7.2rem);line-height:.9;letter-spacing:-.06em;margin:16px 0 25px;font-weight:600}.hero h1 em{font-style:normal;color:var(--green)}.hero p{font-size:18px;line-height:1.75;color:var(--muted);max-width:660px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.hero-trust{display:flex;gap:24px;flex-wrap:wrap;margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}.hero-trust div{display:flex;flex-direction:column}.hero-trust b{font:600 28px/1 "Playfair Display",serif;color:var(--green)}.hero-trust span{font-size:12px;color:var(--muted);margin-top:4px}.hero-art{position:relative}.hero-art img{width:100%;display:block;filter:drop-shadow(0 28px 45px rgba(8,45,37,.14));animation:float 7s ease-in-out infinite}.badge{position:absolute;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 16px;box-shadow:var(--shadow);font-size:12px;font-weight:700}.badge.one{left:-12px;top:18%}.badge.two{right:-8px;bottom:12%}.badge b{display:block;color:var(--green);font-size:15px}@keyframes float{50%{transform:translateY(-13px) rotate(-.5deg)}}
.logo-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.logo-row{display:grid;grid-template-columns:repeat(5,1fr)}.logo-item{padding:23px 18px;border-right:1px solid var(--line);text-align:center;color:#71807a;font-weight:700;font-size:13px}.logo-item:last-child{border:0}.section{padding:110px 0}.section.soft{background:var(--soft)}.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.head h2{font-size:clamp(3rem,5.2vw,5.4rem);line-height:.96;letter-spacing:-.05em;margin:8px 0 0;font-weight:600}.head p{max-width:500px;color:var(--muted);line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s;position:relative;overflow:hidden}.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(17,64,52,.45)}.service-card:after{content:"";position:absolute;width:140px;height:140px;border:1px solid rgba(17,64,52,.1);border-radius:50%;right:-55px;top:-55px}.ico{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,var(--green),var(--deep));display:grid;place-items:center;color:var(--gold);font-size:23px;font-weight:800}.service-card .num{font-size:11px;letter-spacing:.15em;color:var(--green);font-weight:800}.service-card h3{font:600 29px/1.1 "Playfair Display",serif;margin:24px 0 12px}.service-card p{color:var(--muted);line-height:1.65;font-size:14px;margin:0}.outcome{background:linear-gradient(155deg,#0c352c,#061d18);color:#fff;position:relative;overflow:hidden}.outcome:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-240px;top:-280px;background:radial-gradient(circle,rgba(212,175,53,.18),transparent 65%)}.outcome .head p{color:#bfd0ca}.outcome .eyebrow{color:var(--gold)}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}.pillar{padding:28px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);border-radius:22px;backdrop-filter:blur(6px)}.pillar b{font:600 33px/1 "Playfair Display",serif;color:var(--gold)}.pillar h3{font:600 22px "Playfair Display",serif;margin:15px 0 8px}.pillar p{font-size:13px;line-height:1.65;color:#bfd0ca}.solutions{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.solution{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;transition:.35s}.solution:hover{border-color:var(--green);box-shadow:var(--shadow)}.solution .icon{width:64px;height:64px;border-radius:18px;background:#e9f0ed;display:grid;place-items:center;font-size:26px}.solution h3{font:600 27px/1.1 "Playfair Display",serif;margin:0 0 9px}.solution p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{border-top:1px solid var(--line);padding:24px 6px 6px}.step span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;margin-bottom:18px}.step h3{font:600 24px "Playfair Display",serif;margin:0 0 9px}.step p{color:var(--muted);line-height:1.65;font-size:14px}.stack{background:#fff}.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.tech{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:17px 12px;text-align:center;font-weight:700;color:var(--green);transition:.3s}.tech:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 28px rgba(8,45,37,.08)}.projects{display:grid;gap:24px}.project{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff;transition:.4s}.project:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.project:nth-child(even) .project-media{order:2}.project-media{min-height:390px;background:var(--soft)}.project-media img{width:100%;height:100%;object-fit:cover;display:block}.project-copy{padding:44px;display:flex;flex-direction:column;justify-content:center}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{padding:6px 10px;border-radius:999px;background:#eaf1ed;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.1em}.project h3{font:600 42px/1 "Playfair Display",serif;margin:18px 0 13px}.project p{color:var(--muted);line-height:1.7}.stats{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:21px;margin-top:13px}.stats b{font:600 28px "Playfair Display",serif;color:var(--green);display:block}.stats span{font-size:11px;color:var(--muted)}.industries{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.industry{padding:26px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:.3s}.industry:hover{transform:translateY(-6px);border-color:var(--green)}.industry h3{font:600 20px "Playfair Display",serif;margin:10px 0 7px}.industry p{color:var(--muted);font-size:13px;line-height:1.55;margin:0}.faq-list{max-width:850px;margin:auto;display:grid;gap:13px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px}.faq-list details[open]{box-shadow:0 16px 38px rgba(8,45,37,.08);border-color:rgba(17,64,52,.4)}.faq-list summary{list-style:none;cursor:pointer;padding:21px 0;font:600 20px/1.4 "Playfair Display",serif;display:flex;justify-content:space-between;gap:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font:400 28px Poppins;color:var(--green)}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list p{color:var(--muted);line-height:1.7;margin:0 0 22px}.cta{background:#fff}.cta-box{background:linear-gradient(150deg,#0c352c,#051914);border-radius:38px;color:#fff;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;position:relative;overflow:hidden}.cta-box:after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;right:-130px;bottom:-260px;background:radial-gradient(circle,rgba(212,175,53,.2),transparent 65%)}.cta-copy,.form{position:relative;z-index:2}.cta h2{font:600 clamp(3rem,5vw,5rem)/.95 "Playfair Display",serif;margin:12px 0 20px}.cta p{color:#c2d0cb;line-height:1.75}.form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#c7d4cf}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:13px;padding:13px;outline:0}.field textarea{min-height:105px;resize:vertical}.field select option{color:#111}.form button{background:var(--gold);color:var(--deep);justify-content:center}.form button:hover{transform:translateY(-3px)}footer{background:#081f19;color:#fff;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px}.footer-col h4{color:var(--gold);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.footer-col a{display:block;color:#aebdb8;margin:11px 0;font-size:14px}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;color:#81958e;font-size:12px}.floaters{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;gap:11px}.floaters a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2);font-weight:800}.wa{background:#25d366}.call{background:var(--green)}.reveal{opacity:0;transform:translateY(30px);transition:.75s}.reveal.in{opacity:1;transform:none}
@media(max-width:950px){.links,.nav-cta{display:none}.menu{display:block}.hero-grid,.cta-box{grid-template-columns:1fr}.hero{padding-top:125px}.hero-art{max-width:700px;margin:auto}.service-grid{grid-template-columns:1fr 1fr}.pillars{grid-template-columns:1fr 1fr}.tech-grid{grid-template-columns:repeat(3,1fr)}.industries{grid-template-columns:1fr 1fr}.project{grid-template-columns:1fr}.project-media,.project:nth-child(even) .project-media{order:-1}.footer-grid{grid-template-columns:1fr 1fr}.head{display:block}.head p{margin-top:20px}.logo-row{grid-template-columns:repeat(3,1fr)}.logo-item:nth-child(3){border-right:0}.logo-item:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:620px){.container{width:min(100% - 26px,1240px)}.hero h1{font-size:3.65rem}.hero p{font-size:16px}.hero-trust{gap:17px}.section{padding:82px 0}.service-grid,.solutions,.pillars,.process-grid,.industries{grid-template-columns:1fr}.tech-grid{grid-template-columns:repeat(2,1fr)}.project-copy{padding:30px 24px}.project h3{font-size:34px}.project-media{min-height:260px}.cta-box{padding:35px 22px;border-radius:26px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block;line-height:2}.logo-row{grid-template-columns:1fr 1fr}.logo-item:nth-child(3){border-right:1px solid var(--line)}.logo-item:nth-child(even){border-right:0}.logo-item{border-bottom:1px solid var(--line)}.logo-item:last-child{grid-column:1/-1}.badge{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Hero consultation form + real photography */
.hero{background:#071e19;color:#fff;min-height:920px}.hero:before{display:none}.hero-photo-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=2200&q=88') center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,18,.94) 0%,rgba(4,22,18,.82) 46%,rgba(4,22,18,.58) 100%),linear-gradient(180deg,rgba(4,22,18,.2),rgba(4,22,18,.72))}.hero-with-form{grid-template-columns:minmax(0,1.06fr) minmax(390px,.72fr);gap:72px}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:var(--gold)}.hero h1{font-size:clamp(3.9rem,6.4vw,7rem);text-shadow:0 8px 35px rgba(0,0,0,.2)}.hero h1 em{color:#fff}.hero p{color:#d6e0dc}.hero .btn-light{background:#fff;color:var(--deep);border-color:#fff}.hero .btn-light:hover{background:var(--gold);border-color:var(--gold);color:var(--deep)}.hero-trust{border-color:rgba(255,255,255,.2)}.hero-trust b{color:var(--gold)}.hero-trust span{color:#c8d6d1}.hero-form-card{position:relative;z-index:3;background:rgba(255,255,255,.97);color:var(--ink);border:1px solid rgba(255,255,255,.5);border-radius:30px;padding:34px;box-shadow:0 34px 90px rgba(0,0,0,.34);backdrop-filter:blur(18px)}.form-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--green)}.hero-form-card h2{font:600 42px/1.02 "Playfair Display",serif;margin:9px 0 12px;letter-spacing:-.035em}.hero-form-card>p{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 22px}.hero-form{display:grid;gap:13px}.hero-form .field{gap:6px}.hero-form label{font-size:11px;font-weight:700;color:#4e5e58}.hero-form input,.hero-form select{width:100%;border:1px solid var(--line);background:#f8faf9;color:var(--ink);border-radius:13px;padding:13px 14px;outline:0}.hero-form input:focus,.hero-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(17,64,52,.09)}.hero-submit{width:100%;justify-content:center;background:var(--green);color:#fff;margin-top:3px}.hero-submit:hover{background:var(--deep);transform:translateY(-2px)}.form-note{text-align:center;color:#73817c;font-size:10px}.hero-form-success{background:#e7f2ed;border:1px solid #c7dfd4;color:var(--green);font-size:12px;font-weight:700;border-radius:12px;padding:11px 13px;text-align:center}.photo-story{background:#fff}.photo-story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}.photo-main{margin:0;position:relative;min-height:620px;border-radius:30px;overflow:hidden;background:var(--soft)}.photo-main img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}.photo-main:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,28,23,.72),transparent 48%)}.photo-main figcaption{position:absolute;left:28px;right:28px;bottom:25px;z-index:2;color:#fff;font:600 23px/1.25 "Playfair Display",serif}.photo-story-copy h2{font-size:clamp(2.8rem,4.7vw,4.9rem);line-height:.98;letter-spacing:-.045em;margin:12px 0 20px}.photo-story-copy>p{color:var(--muted);line-height:1.75;font-size:16px}.mini-gallery{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:30px}.mini-gallery figure{margin:0;height:190px;border-radius:19px;overflow:hidden;background:var(--soft)}.mini-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.mini-gallery figure:hover img{transform:scale(1.06)}.project-media{overflow:hidden}.project-media img{transition:transform .7s;filter:saturate(.82) contrast(1.02)}.project:hover .project-media img{transform:scale(1.05)}
@media(max-width:950px){.hero{min-height:auto}.hero-with-form{grid-template-columns:1fr;gap:42px}.hero-form-card{max-width:720px}.photo-story-grid{grid-template-columns:1fr}.photo-main{min-height:500px}}
@media(max-width:620px){.hero{padding-top:118px}.hero h1{font-size:3.35rem}.hero-form-card{padding:25px 20px;border-radius:23px}.hero-form-card h2{font-size:34px}.photo-main{min-height:390px}.mini-gallery{grid-template-columns:1fr}.mini-gallery figure{height:230px}}

/* Header contrast fix for photographic hero */
header:not(.scrolled) .brand{color:#fff}
header:not(.scrolled) .brand svg circle,
header:not(.scrolled) .brand svg path{fill:#fff!important}
header:not(.scrolled) .brand-text,
header:not(.scrolled) .brand-text b{color:#fff!important}
header:not(.scrolled) .links>a,
header:not(.scrolled) .has-drop>a{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.28)}
header:not(.scrolled) .caret{border-color:#fff}
header:not(.scrolled) .links>a:after,
header:not(.scrolled) .has-drop>a:after{background:#d4af35}
header:not(.scrolled) .nav-cta{background:#fff;color:#114034;box-shadow:0 12px 30px rgba(0,0,0,.16)}
header:not(.scrolled) .nav-cta:hover{background:#d4af35;color:#082d25}
header:not(.scrolled) .dropdown{color:#111;text-shadow:none}
header:not(.scrolled) .dropdown a{color:#111}
header:not(.scrolled) .dropdown a:hover{color:#114034}
header:not(.scrolled) .dropdown small{color:#65716c}
header.scrolled .brand svg circle,
header.scrolled .brand svg path{fill:#114034!important}
header.scrolled .brand-text{color:#111}
header.scrolled .brand-text b{color:#114034!important}
header.scrolled .links>a,
header.scrolled .has-drop>a{color:#111}

@media(max-width:950px){
  header:not(.scrolled) .menu{display:block;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.5);color:#114034;box-shadow:0 10px 28px rgba(0,0,0,.16)}
}

/* Mobile app development page */
.app-hero-bg{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1551650975-87deedd944c3?auto=format&fit=crop&w=2200&q=88') center/cover no-repeat;transform:scale(1.02)}
.app-showcase{background:linear-gradient(150deg,#0b3028,#061b16);color:#fff;overflow:hidden}.app-showcase-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.app-showcase-copy h2{font-size:clamp(3rem,5vw,5.4rem);line-height:.96;letter-spacing:-.05em;margin:12px 0 22px}.app-showcase-copy>p{color:#c5d3ce;line-height:1.75}.app-feature-list{display:grid;gap:12px;margin-top:27px}.app-feature-list span{border-top:1px solid rgba(255,255,255,.16);padding-top:12px;color:#e4ebe8;font-size:14px}.app-feature-list span:before{content:'✓';color:var(--gold);font-weight:800;margin-right:10px}.phone-stage{min-height:620px;position:relative;display:grid;place-items:center}.phone-shell{position:absolute;width:280px;height:570px;border:10px solid #111;border-radius:44px;background:#111;box-shadow:0 35px 80px rgba(0,0,0,.42);overflow:hidden}.phone-left{left:12%;transform:rotate(-8deg) translateY(18px)}.phone-right{right:10%;transform:rotate(7deg) translateY(-20px)}.phone-notch{position:absolute;z-index:3;width:112px;height:23px;background:#111;border-radius:0 0 16px 16px;left:50%;top:0;transform:translateX(-50%)}.phone-screen{width:100%;height:100%;border-radius:34px;padding:48px 18px 20px;overflow:hidden}.app-screen-one{background:#f5f8f6;color:#111}.screen-header{font:700 19px Poppins;margin-bottom:18px}.screen-card.large{height:145px;border-radius:24px;background:linear-gradient(145deg,#114034,#246b57);box-shadow:0 18px 35px rgba(17,64,52,.22)}.screen-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:14px 0}.screen-row i{height:85px;border-radius:18px;background:#fff;border:1px solid #dde6e1}.screen-list{display:grid;gap:10px}.screen-list b{height:48px;border-radius:14px;background:#fff;border:1px solid #dde6e1}.app-screen-two{background:#dcebe4;position:relative}.screen-map{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(17,64,52,.26) 0 2px,transparent 3px),linear-gradient(36deg,transparent 48%,rgba(255,255,255,.8) 49% 52%,transparent 53%),linear-gradient(-20deg,transparent 48%,rgba(255,255,255,.7) 49% 52%,transparent 53%);background-size:35px 35px,140px 140px,180px 180px}.screen-float{position:absolute;left:18px;right:18px;bottom:78px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 18px 36px rgba(8,45,37,.18)}.screen-float b,.screen-float span{display:block}.screen-float b{color:#111}.screen-float span{font-size:12px;color:#65716c;margin-top:4px}.screen-nav{position:absolute;left:18px;right:18px;bottom:18px;height:48px;background:#fff;border-radius:17px;display:flex;align-items:center;justify-content:space-around}.screen-nav i{width:10px;height:10px;border-radius:50%;background:#114034}.app-project-art{display:grid;place-items:center;background:linear-gradient(145deg,#dce9e4,#f8faf9)}.app-project-art.dark-art{background:linear-gradient(145deg,#0c352c,#061914)}.mini-phone{width:210px;height:430px;border:9px solid #111;background:#111;border-radius:36px;box-shadow:0 30px 65px rgba(0,0,0,.25);transform:rotate(6deg);padding:0}.mini-screen{height:100%;border-radius:27px;padding:42px 18px 18px;display:grid;gap:13px}.mini-screen.health{background:#f5f8f6}.mini-screen.delivery{background:#d4af35}.mini-screen i{height:135px;border-radius:20px;background:#114034}.mini-screen b{height:58px;border-radius:15px;background:#fff}.mini-screen.delivery i{background:#082d25}.mini-screen.delivery b{background:rgba(255,255,255,.8)}
@media(max-width:950px){.app-showcase-grid{grid-template-columns:1fr}.phone-stage{min-height:600px;max-width:700px;width:100%;margin:auto}.phone-left{left:18%}.phone-right{right:18%}}
@media(max-width:620px){.phone-stage{min-height:490px}.phone-shell{width:210px;height:430px;border-width:8px;border-radius:35px}.phone-left{left:2%}.phone-right{right:2%}.phone-screen{border-radius:27px;padding:38px 13px 14px}.screen-card.large{height:108px}.screen-row i{height:62px}.app-showcase-copy h2{font-size:3rem}.app-project-art{min-height:450px}}

/* Animated mobile-app portfolio */
.portfolio-showcase{position:relative;overflow:hidden}.portfolio-showcase:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;left:-360px;top:13%;background:radial-gradient(circle,rgba(17,64,52,.11),transparent 68%);pointer-events:none}.portfolio-list{display:grid;gap:34px;position:relative;z-index:2}.portfolio-case{display:grid;grid-template-columns:1.08fr .92fr;min-height:540px;background:#fff;border:1px solid var(--line);border-radius:34px;overflow:hidden;box-shadow:0 10px 35px rgba(8,45,37,.05);transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s,border-color .55s;transform-style:preserve-3d;will-change:transform}.portfolio-case:hover{box-shadow:0 32px 90px rgba(8,45,37,.17);border-color:rgba(17,64,52,.35)}.portfolio-case.reverse .portfolio-visual{order:2}.portfolio-visual{position:relative;min-height:540px;display:grid;place-items:center;overflow:hidden;isolation:isolate;perspective:1100px}.tone-rizq{background:linear-gradient(145deg,#d9eee4,#f8fbf9)}.tone-adil{background:linear-gradient(145deg,#252f86,#5260d5)}.tone-dish{background:linear-gradient(145deg,#e8dfc8,#fbf6e9)}.tone-muv{background:linear-gradient(145deg,#092e27,#16614f)}.portfolio-image-wrap{width:88%;position:relative;z-index:3;transform:translateZ(42px);animation:portfolioFloat 7s ease-in-out infinite}.portfolio-image-wrap img{width:100%;display:block;border-radius:25px;box-shadow:0 30px 65px rgba(0,0,0,.2);transition:transform .75s cubic-bezier(.2,.75,.2,1),filter .5s}.portfolio-case:hover .portfolio-image-wrap img{transform:scale(1.035) rotate(-.5deg);filter:saturate(1.06)}.portfolio-orb{position:absolute;border-radius:50%;filter:blur(3px);opacity:.55;z-index:1;animation:orbDrift 8s ease-in-out infinite}.portfolio-orb.orb-a{width:260px;height:260px;right:-75px;top:-70px;background:rgba(212,175,53,.34)}.portfolio-orb.orb-b{width:190px;height:190px;left:-55px;bottom:-45px;background:rgba(255,255,255,.5);animation-delay:-3s}.floating-label{position:absolute;z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:10px 15px;font-size:11px;font-weight:800;color:var(--green);box-shadow:0 15px 38px rgba(0,0,0,.14);animation:labelFloat 5s ease-in-out infinite}.label-one{left:6%;top:12%}.label-two{right:5%;bottom:11%;animation-delay:-2.3s}.portfolio-copy{padding:58px 54px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:4}.case-number{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--green);text-transform:uppercase;transform:translateY(12px);opacity:0;transition:.65s .08s}.portfolio-copy h3{font:600 clamp(2.8rem,4.2vw,4.5rem)/.95 "Playfair Display",serif;letter-spacing:-.045em;margin:15px 0 20px;transform:translateY(22px);opacity:0;transition:.7s .14s}.portfolio-copy>p{font-size:15px;line-height:1.78;color:var(--muted);max-width:460px;transform:translateY(22px);opacity:0;transition:.7s .22s}.case-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.case-tags span{padding:8px 12px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:11px;font-weight:700;color:var(--green);opacity:0;transform:translateY(15px) scale(.95);transition:.5s}.case-tags span:nth-child(1){transition-delay:.3s}.case-tags span:nth-child(2){transition-delay:.36s}.case-tags span:nth-child(3){transition-delay:.42s}.case-tags span:nth-child(4){transition-delay:.48s}.case-action{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-weight:800;color:var(--green);align-self:flex-start;opacity:0;transform:translateY(14px);transition:opacity .6s .52s,transform .6s .52s,gap .3s}.case-action:hover{gap:14px}.portfolio-case.in .case-number,.portfolio-case.in .portfolio-copy h3,.portfolio-case.in .portfolio-copy>p,.portfolio-case.in .case-tags span,.portfolio-case.in .case-action{opacity:1;transform:none}.portfolio-case.reveal{transform:translateY(70px) scale(.975);opacity:0;filter:blur(7px)}.portfolio-case.reveal.in{transform:none;opacity:1;filter:none;transition:opacity .9s,transform .9s cubic-bezier(.2,.75,.2,1),filter .9s,box-shadow .55s,border-color .55s}.portfolio-case.reverse.reveal{transform:translateY(70px) translateX(35px) scale(.975)}.portfolio-case.reverse.reveal.in{transform:none}.muv-device-scene{position:relative;width:82%;height:440px;z-index:3;transform:translateZ(42px)}.muv-phone{position:absolute;width:220px;height:430px;border:9px solid #0b0d0c;border-radius:38px;background:#f7faf8;box-shadow:0 35px 75px rgba(0,0,0,.35);overflow:hidden;transition:transform .75s cubic-bezier(.2,.75,.2,1)}.phone-back{left:12%;top:26px;transform:rotate(-9deg)}.phone-front{right:11%;top:0;transform:rotate(8deg);background:#dcebe4}.portfolio-case:hover .phone-back{transform:rotate(-12deg) translate(-8px,-8px)}.portfolio-case:hover .phone-front{transform:rotate(5deg) translate(8px,-10px)}.muv-ui{padding:55px 17px 18px;display:grid;gap:12px}.muv-ui i{height:135px;border-radius:20px;background:linear-gradient(145deg,#114034,#2a7a63)}.muv-ui b{height:58px;border-radius:15px;background:#e7efeb}.muv-map{position:absolute;inset:0;background:linear-gradient(35deg,transparent 48%,rgba(255,255,255,.85) 49% 52%,transparent 53%),linear-gradient(-18deg,transparent 48%,rgba(255,255,255,.75) 49% 52%,transparent 53%)}.muv-map span{position:absolute;width:15px;height:15px;border:4px solid var(--green);border-radius:50%;background:#fff;animation:mapPulse 2.4s infinite}.muv-map span:nth-child(1){left:28%;top:27%}.muv-map span:nth-child(2){right:22%;top:43%;animation-delay:.7s}.muv-map span:nth-child(3){left:42%;bottom:32%;animation-delay:1.4s}.muv-sheet{position:absolute;left:14px;right:14px;bottom:18px;background:#fff;border-radius:20px;padding:18px;box-shadow:0 18px 36px rgba(8,45,37,.18)}.muv-sheet b,.muv-sheet small{display:block}.muv-sheet b{font-size:14px}.muv-sheet small{font-size:10px;color:var(--muted);margin-top:5px}@keyframes portfolioFloat{50%{transform:translateZ(42px) translateY(-12px) rotate(.4deg)}}@keyframes orbDrift{50%{transform:translate(25px,-18px) scale(1.12)}}@keyframes labelFloat{50%{transform:translateY(-9px)}}@keyframes mapPulse{0%,100%{box-shadow:0 0 0 0 rgba(17,64,52,.3)}50%{box-shadow:0 0 0 12px rgba(17,64,52,0)}}
@media(max-width:950px){.portfolio-case{grid-template-columns:1fr}.portfolio-case.reverse .portfolio-visual{order:0}.portfolio-visual{min-height:470px}.portfolio-copy{padding:40px 34px}.muv-device-scene{max-width:640px}.portfolio-case.reverse.reveal{transform:translateY(60px) scale(.98)}}
@media(max-width:620px){.portfolio-list{gap:22px}.portfolio-case{border-radius:25px;min-height:0}.portfolio-visual{min-height:350px}.portfolio-image-wrap{width:94%}.floating-label{font-size:9px;padding:8px 10px}.label-one{left:4%;top:7%}.label-two{right:4%;bottom:7%}.portfolio-copy{padding:32px 23px 36px}.portfolio-copy h3{font-size:2.75rem}.muv-device-scene{height:330px;width:100%}.muv-phone{width:158px;height:310px;border-width:7px;border-radius:29px}.phone-back{left:6%;top:20px}.phone-front{right:5%}.muv-ui{padding:42px 11px 12px;gap:8px}.muv-ui i{height:92px}.muv-ui b{height:39px}.muv-sheet{padding:12px;left:9px;right:9px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.portfolio-image-wrap,.portfolio-orb,.floating-label,.muv-map span{animation:none!important}.portfolio-case,.portfolio-case *{transition:none!important}}


/* ===== Premium motion system: technology + industries ===== */
.stack-premium,.industries-premium{position:relative;overflow:hidden;isolation:isolate}
.stack-premium{background:linear-gradient(180deg,#fff 0%,#f7faf8 54%,#fff 100%)}
.industries-premium{background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}
.stack-ambient,.industry-ambient{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.stack-ambient i,.industry-ambient i{position:absolute;display:block;border-radius:50%;filter:blur(2px);opacity:.55;will-change:transform}
.stack-ambient i:nth-child(1){width:440px;height:440px;right:-150px;top:-180px;background:radial-gradient(circle,rgba(17,64,52,.12),transparent 68%);animation:ambientDrift 15s ease-in-out infinite}
.stack-ambient i:nth-child(2){width:330px;height:330px;left:-130px;bottom:-150px;background:radial-gradient(circle,rgba(212,175,53,.13),transparent 68%);animation:ambientDrift 19s ease-in-out infinite reverse}
.stack-ambient i:nth-child(3){width:180px;height:180px;left:48%;top:38%;border:1px solid rgba(17,64,52,.10);animation:ambientSpin 24s linear infinite}
.industry-ambient i:nth-child(1){width:500px;height:500px;left:-230px;top:15%;background:radial-gradient(circle,rgba(17,64,52,.09),transparent 68%);animation:ambientDrift 18s ease-in-out infinite}
.industry-ambient i:nth-child(2){width:380px;height:380px;right:-160px;bottom:-160px;background:radial-gradient(circle,rgba(212,175,53,.10),transparent 68%);animation:ambientDrift 22s ease-in-out infinite reverse}
@keyframes ambientDrift{50%{transform:translate3d(55px,-35px,0) scale(1.12)}}
@keyframes ambientSpin{to{transform:rotate(360deg)}}
.premium-head .eyebrow{position:relative;display:inline-flex;align-items:center;gap:10px}
.premium-head .eyebrow:before{content:"";width:0;height:1px;background:var(--gold);transition:width .8s cubic-bezier(.2,.7,.2,1) .15s}
.premium-head.in .eyebrow:before{width:32px}
.premium-head h2{clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:clip-path 1s cubic-bezier(.2,.75,.2,1),transform 1s cubic-bezier(.2,.75,.2,1)}
.premium-head.in h2{clip-path:inset(-8% 0 -10% 0);transform:none}
.premium-head>p{opacity:0;transform:translateX(34px);transition:opacity .85s ease .25s,transform .85s cubic-bezier(.2,.75,.2,1) .25s}
.premium-head.in>p{opacity:1;transform:none}
.premium-tech-grid{perspective:1200px}
.premium-tech-grid .tech{position:relative;overflow:hidden;opacity:0;transform:translateY(34px) rotateX(10deg) scale(.96);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s,background .35s;color:var(--green);isolation:isolate}
.premium-tech-grid.in .tech{opacity:1;transform:none}
.premium-tech-grid .tech:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.9) 48%,transparent 74%);transform:translateX(-130%);transition:transform .7s ease;z-index:-1}
.premium-tech-grid .tech:after{content:"";position:absolute;inset:auto 20% 0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:.4s}
.premium-tech-grid .tech:hover{transform:translateY(-9px) scale(1.025);border-color:rgba(17,64,52,.35);box-shadow:0 20px 45px rgba(8,45,37,.12);background:#fff}
.premium-tech-grid .tech:hover:before{transform:translateX(130%)}
.premium-tech-grid .tech:hover:after{transform:scaleX(1)}
.premium-tech-grid .tech:nth-child(1){transition-delay:.03s}.premium-tech-grid .tech:nth-child(2){transition-delay:.08s}.premium-tech-grid .tech:nth-child(3){transition-delay:.13s}.premium-tech-grid .tech:nth-child(4){transition-delay:.18s}.premium-tech-grid .tech:nth-child(5){transition-delay:.23s}.premium-tech-grid .tech:nth-child(6){transition-delay:.28s}.premium-tech-grid .tech:nth-child(7){transition-delay:.33s}.premium-tech-grid .tech:nth-child(8){transition-delay:.38s}.premium-tech-grid .tech:nth-child(9){transition-delay:.43s}.premium-tech-grid .tech:nth-child(10){transition-delay:.48s}
.premium-industries{perspective:1400px}
.premium-industries .industry{position:relative;overflow:hidden;opacity:0;transform:translateY(46px) scale(.96);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s,background .4s;will-change:transform}
.premium-industries.in .industry{opacity:1;transform:none}
.premium-industries .industry:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-70px;top:-70px;background:radial-gradient(circle,rgba(17,64,52,.14),transparent 70%);transform:scale(.3);opacity:0;transition:.55s}
.premium-industries .industry:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--green),var(--gold));transform:scaleX(0);transform-origin:left;transition:.45s}
.premium-industries .industry:hover{transform:translateY(-12px) rotateX(2deg);box-shadow:0 26px 60px rgba(8,45,37,.12);background:#fff;border-color:rgba(17,64,52,.32)}
.premium-industries .industry:hover:before{transform:scale(1);opacity:1}
.premium-industries .industry:hover:after{transform:scaleX(1)}
.industry-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf3f0;color:var(--green);transition:transform .55s cubic-bezier(.2,.9,.2,1),background .35s,color .35s}
.premium-industries .industry:hover .industry-icon{transform:rotate(-8deg) scale(1.13);background:var(--green);color:#fff}
.premium-industries .industry:nth-child(1){transition-delay:.03s}.premium-industries .industry:nth-child(2){transition-delay:.09s}.premium-industries .industry:nth-child(3){transition-delay:.15s}.premium-industries .industry:nth-child(4){transition-delay:.21s}.premium-industries .industry:nth-child(5){transition-delay:.27s}.premium-industries .industry:nth-child(6){transition-delay:.33s}.premium-industries .industry:nth-child(7){transition-delay:.39s}.premium-industries .industry:nth-child(8){transition-delay:.45s}
/* smoother movement between major page bands */
section{transition:background-position .8s ease}
.service-card,.solution,.step,.pillar,.faq-list details,.portfolio-case{will-change:transform}
@media(max-width:620px){.premium-head h2{clip-path:none;transform:translateY(20px)}.premium-tech-grid .tech,.premium-industries .industry{transform:translateY(24px);transition-delay:0s!important}.premium-industries .industry:hover,.premium-tech-grid .tech:hover{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.stack-ambient,.industry-ambient{display:none}.premium-head h2,.premium-head>p,.premium-tech-grid .tech,.premium-industries .industry{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;animation:none!important}}
