/* Content-fit additions only. Original colors, fonts, effects and component styles stay shared. */
.site-nav-bar:has(.language-switcher[open]){overflow:visible}
/* Keep the original hover sheen contained while the dropdown is open. */
.site-nav-bar:has(.language-switcher[open])::before{visibility:hidden}
.language-switcher{position:relative;flex-shrink:0;margin-left:.8rem;font:500 12px 'Open Sans',sans-serif}
.language-trigger{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:40px;padding:.5rem .7rem;color:#e5e7eb;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.035);cursor:pointer}
.language-trigger::-webkit-details-marker{display:none}
.language-trigger:hover,.language-switcher[open] .language-trigger{border-color:rgba(37,99,235,.6);background:rgba(37,99,235,.1)}
.language-flag{display:block;width:26px;height:18px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px #0005)}
.language-chevron{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-left:3px;margin-top:-3px}
.language-switcher[open] .language-chevron{transform:rotate(225deg);margin-top:3px}
.language-options{position:absolute;right:0;top:calc(100% + 12px);width:220px;padding:6px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#0b0e18;box-shadow:0 16px 48px rgba(0,0,0,.5);z-index:70}
.language-options a{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px;border-radius:10px;color:#aeb4c2}
.language-options a:hover,.language-options a[aria-current="page"]{color:#fff;background:rgba(37,99,235,.14)}
.language-code{font-size:10px;letter-spacing:.04em;color:#e5e7eb}
.language-check{margin-left:auto;color:#93c5fd}
.language-trigger:focus-visible,.language-options a:focus-visible{outline:2px solid #93c5fd;outline-offset:3px}
#hero h1{max-width:1100px;line-height:1.04;letter-spacing:-.035em}
#hero h1 .clip-inner{font-size:clamp(3rem,7.3vw,6.4rem)!important;white-space:nowrap!important;overflow-wrap:normal;line-height:1.04}
#hero .hero-content>.hero-intro>p{max-width:36rem}
.solution-card h3{padding-right:1rem}
.product-status{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;color:#bbc9e8;font-size:11px;letter-spacing:.04em;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}
.product-status i{width:6px;height:6px;background:var(--brand-blue);border-radius:50%}
.section-alias{position:absolute;top:0}
#pricing .jpc-plan-name{min-height:2.6em}
#pricing .jpc-plan-features{margin-top:1.6rem}
#gallery .traffic-mini{min-width:0}
.jpc-footer-detail strong{overflow-wrap:anywhere}
.jpc-assist-field textarea,.jpc-assist-field input{font:inherit}
.jpc-assist-field :focus-visible{outline:2px solid var(--brand-blue);outline-offset:3px}
@media(min-width:768px) and (max-width:1100px){.site-nav-bar{gap:.4rem;padding-inline:1rem}.site-nav-bar>.hidden.md\:flex{gap:.8rem}.site-nav-bar>.hidden.md\:block{display:none}.site-nav-bar .jpc-site-logo{max-width:155px}}
@media(max-width:767px){.language-switcher{margin-left:auto;margin-right:.6rem}#hero h1 .clip-inner{font-size:clamp(1.9rem,8.6vw,3.8rem)!important}#hero .hero-content>.hero-intro>p{font-size:14px;line-height:1.65}#hero .hero-actions a{white-space:normal;line-height:1.35}#hero .hero-location-line{font-size:9px;letter-spacing:.1em}.solution-card h3{font-size:1.3rem}.jpc-plan-name{overflow-wrap:normal}.jpc-footer-detail strong{font-size:13px}}
@media(max-width:375px){.site-nav-bar{padding-inline:.65rem}.site-nav-bar .jpc-site-logo{max-width:118px}.language-trigger{padding:.45rem .55rem}.hero-content{padding-inline:1.25rem!important}}
:lang(pt-BR) .jpc-founder::after{content:"JPC / FUNDADOR / 01"}
:lang(es) .jpc-founder::after{content:"JPC / FUNDADOR / 01"}
@media(min-width:768px) and (max-width:1100px){#hero .hero-content>.hero-intro{flex-direction:column;align-items:flex-start;gap:1.5rem}#hero .hero-content>.hero-intro>p{width:100%;max-width:40rem;flex-shrink:0}#hero .hero-actions{margin-left:0}}
/* Existing light-blue token keeps small technical labels readable on glass cards. */
.solution-card .font-mono,.traffic-mini>.font-mono{color:#93c5fd}
@media(max-width:767px){:lang(en) .jpc-about-title__line{white-space:normal}}

/* Editorial refinement: retain the original palette and components, prioritize reading. */
body,.stack-card{cursor:auto}
a,button,summary,[role="button"]{cursor:pointer}
#hero .hero-content>.hero-intro{align-items:flex-start;flex-direction:column;gap:1.8rem}
#hero .hero-content>.hero-intro>p{max-width:42rem;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.75;color:#aeb4c2}
#hero .hero-actions{margin-left:0}
#hero .hero-actions a{letter-spacing:.035em;text-transform:none;font-size:14px;box-shadow:none}
#hero .hero-grid-overlay{opacity:.16}
#hero-particles{opacity:.22}
#hero .hero-location-badge .animate-pulse{animation:none;box-shadow:none}
.site-nav-bar:hover,.solution-card:hover,.jpc-case-card:hover,.traffic-mini:hover,.faq-item:hover{transform:none}
.site-nav-bar::before,.solution-card::before,.jpc-case-card::before,.faq-item::before{display:none}
.site-nav-bar{background:rgba(7,9,15,.92)}
.jpc-case-description{margin-bottom:1rem}
.case-delivery{border-top:1px solid rgba(255,255,255,.1);margin:0 0 1.5rem}
.case-delivery summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;padding:.9rem 0;color:#cbd5e1;font-size:12px;font-weight:600}
.case-delivery summary::-webkit-details-marker{display:none}
.case-delivery summary span{font-size:18px;font-weight:400;color:#93b5ff}
.case-delivery[open] summary span{transform:rotate(45deg)}
.case-delivery summary:focus-visible{outline:2px solid #93b5ff;outline-offset:4px;border-radius:4px}
.case-delivery dl{display:grid;gap:1rem;padding:0 0 .5rem}
.case-delivery dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#93b5ff;margin-bottom:.3rem}
.case-delivery dd{font-size:13px;line-height:1.7;color:#aeb4c2;margin:0}
#workTrack{align-items:flex-start}
#workTrack .jpc-case-description-mobile{display:none}
#workTrack .jpc-case-description-desktop{display:block;-webkit-line-clamp:unset;line-clamp:unset}
.jpc-plan{box-shadow:none}
.jpc-plan:hover{transform:none}
.jpc-plan-cta{text-transform:none;letter-spacing:0}
.jpc-plan-description{min-height:5em}
#pricing .jpc-plan-name{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.3;min-height:2.6em}
.jp-process-cta{gap:2rem}
.jp-process-cta-link{text-transform:none;letter-spacing:0;box-shadow:none;flex-shrink:0}
.jp-process-cta h3{max-width:34rem}
.jpc-footer-matrix{opacity:.12}
@media(min-width:768px) and (max-width:1279px){.site-nav-bar>.hidden.md\:block{display:none}.site-nav-bar>.hidden.md\:flex{gap:1rem}.site-nav-bar{padding-inline:1rem}}
@media(min-width:1280px){.site-nav-bar>.hidden.md\:flex{gap:1.25rem}.site-nav-bar>.hidden.md\:block a{letter-spacing:.02em;text-transform:none;font-size:11px}}
@media(max-width:767px){
 #hero .hero-content{padding-top:8.5rem!important;padding-bottom:3.5rem!important}
 #hero .hero-content>.hero-intro{align-items:center;gap:1.5rem}
 #hero .hero-content>.hero-intro>p{max-width:27rem;font-size:14px;line-height:1.75}
 #hero .hero-actions a{font-size:12px}
 #hero .hero-actions{margin-inline:auto}
 .case-delivery{margin-bottom:1rem}
 #pricing .jpc-plan-name{min-height:0;font-size:1.35rem}
 .jpc-plan-description{min-height:0}
 .jp-process-cta h3{font-size:1.5rem;line-height:1.25}
 .jp-process-cta-link{max-width:100%;white-space:normal;text-align:center}
}
section[id]{scroll-margin-top:7rem}
#sobre .jpc-about-title__line{display:block;white-space:normal}
@media(min-width:1024px){#services .solution-card:last-child{grid-column:1/-1}}

/* User-directed correction: expressive opening, real visual references, shorter copy. */
#hero h1{margin-bottom:1.6rem}
#hero .hero-grid-overlay{opacity:.4}
.project-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.project-preview{position:relative;overflow:hidden;min-width:0;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#090d17;text-align:left;transition:border-color .2s,box-shadow .2s}
.project-preview img{display:block;width:100%;height:132px;object-fit:cover;object-position:top;opacity:.72;transition:opacity .2s}
.project-preview span{display:block;padding:.7rem .85rem;color:#aeb4c2;font-size:12px;font-weight:600}
.project-preview:hover img,.project-preview[aria-pressed="true"] img{opacity:1}
.project-preview[aria-pressed="true"]{border-color:#5586ed;box-shadow:0 0 0 1px rgba(37,99,235,.25)}
.project-preview[aria-pressed="true"] span{color:#fff}
.project-preview:focus-visible{outline:2px solid #93c5fd;outline-offset:4px}
@media(max-width:767px){
 #hero .hero-grid-overlay{opacity:.8}
 .project-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}
 .project-preview img{height:84px}
 .project-preview span{font-size:11px;padding:.6rem .65rem}
}

/* Human voice and clear title grouping: white first, blue beneath. */
.services-section-title__line,.traffic-section-title__line,.jp-process-title__line,.jpc-pricing-title__line,.jpc-founder-title__line{display:block;white-space:normal}
.services-section-title__line:first-child,.traffic-section-title__line:first-child,.jp-process-title__line:first-child,.jpc-pricing-title__line:first-child,.jpc-founder-title__line:first-child{color:#fff;-webkit-text-fill-color:#fff}
#services .services-section-title__line:last-child,#gallery .traffic-section-title__line:last-child,#process .jp-process-title__line:last-child,#pricing .jpc-pricing-title__line:last-child,#founder .jpc-founder-title__line:last-child{color:var(--brand-blue);-webkit-text-fill-color:var(--brand-blue)}
#hero h1 .clip-outer:nth-child(2){min-height:1.04em}
.hero-person{display:inline-flex;align-items:center;gap:.75rem;color:#aeb4c2;text-decoration:none;max-width:100%;padding:.2rem 0}
.hero-person>img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 24%;border:1px solid rgba(255,255,255,.2)}
.hero-person>span:nth-child(2){display:grid;gap:.2rem;min-width:0}
.hero-person strong{font-size:13px;font-weight:600;color:#fff}
.hero-person>span:nth-child(2)>span{font-size:12px;line-height:1.5}
.hero-person>span:last-child{color:#93c5fd;font-size:17px}
.hero-person:hover strong{color:#93c5fd}
.hero-person:focus-visible{outline:2px solid #93c5fd;outline-offset:5px;border-radius:6px}
.jpc-founder::after{display:none}
@media(max-width:767px){
 #hero h1 .clip-outer:nth-child(2) .clip-inner{font-size:clamp(1.5rem,7.4vw,3.3rem)!important}
 .hero-person{text-align:left;align-self:center}
 .hero-person>span:nth-child(2)>span{font-size:11px}
 #services .services-section-title__line,#gallery .traffic-section-title__line,#process .jp-process-title__line,#founder .jpc-founder-title__line{white-space:normal}
}

/* Focused visual pass: footer, process, own products and development fronts. */
/* Partner profile follows the founder without changing the project contact. */
.jpc-partner{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);margin-top:clamp(40px,5vw,64px);padding-top:clamp(40px,5vw,64px);border-top:1px solid #86a8df26;scroll-margin-top:112px}
.jpc-partner-portrait{margin:0;padding:10px;border:1px solid #618bf247;border-radius:24px;background:linear-gradient(145deg,#2563eb1c,#ffffff05);box-shadow:0 24px 64px #0004}
.jpc-partner-portrait img{display:block;width:100%;height:auto;aspect-ratio:2/3;border-radius:16px}
.jpc-partner-content{min-width:0;max-width:740px}
.jpc-partner-eyebrow{margin:0 0 12px;color:#8db4ff;font:600 10px/1.5 monospace;letter-spacing:.16em;text-transform:uppercase}
.jpc-partner-content h3{margin:0;font:500 clamp(28px,3vw,40px)/1.15 'Montserrat',sans-serif;letter-spacing:-.045em;color:#f5f7fb;text-wrap:balance}
.jpc-partner-role{margin:12px 0 20px;font-size:17px;line-height:1.5;color:#a7c5ff}
.jpc-partner-copy{margin:0;max-width:64ch;font-size:15px;line-height:1.8;color:#b9c3d3}
.jpc-partner-credentials{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;margin:24px 0;padding-top:22px;border-top:1px solid #86a8df26}
.jpc-partner-education{grid-column:1/-1}
.jpc-partner-credentials dt,.jpc-partner-contribution h4{margin:0 0 7px;font:600 10px/1.5 monospace;letter-spacing:.1em;text-transform:uppercase;color:#8da9d6}
.jpc-partner-credentials dd{margin:0;font-size:14px;line-height:1.7;color:#e0e7f3}
.jpc-partner-contribution{border-left:2px solid #2563eb;padding-left:18px}
.jpc-partner-contribution p{margin:0;font-size:14px;line-height:1.8;color:#b9c3d3;max-width:65ch}
.jpc-partner-contact{display:flex;align-items:flex-start;gap:10px;margin:24px 0 0;color:#96a6be;font-size:13px;line-height:1.7}
.jpc-partner-contact>.iconify{flex-shrink:0;color:#8db4ff;margin-top:2px}
.jpc-partner-contact a{color:#e0e7f3;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8db4ff80}
@media(min-width:761px) and (max-width:1023px){.jpc-partner{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:32px}.jpc-partner-credentials{grid-template-columns:1fr;gap:14px}}
@media(max-width:760px){
 .jpc-partner{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px;padding-top:40px}
 .jpc-partner-portrait{width:min(100%,320px);justify-self:center;padding:8px;border-radius:20px}
 .jpc-partner-portrait img{border-radius:13px}
 .jpc-partner-content{padding-inline:8px}
 .jpc-partner-content h3{font-size:clamp(26px,7.5vw,34px)}
 .jpc-partner-role{font-size:16px;margin-bottom:18px}
 .jpc-partner-credentials{grid-template-columns:1fr;gap:18px;margin-block:22px}
 .jpc-partner-contact{font-size:13px}
}
.jpc-footer-matrix{opacity:.8}
.jpc-footer-site-link{display:inline-block;font-size:14px;color:#aeb4c2;line-height:1.6;margin-bottom:1.5rem;padding-block:.25rem}
.jpc-footer-mini-actions{gap:.85rem}
.process-art{margin:0 0 1.6rem;border-radius:16px;overflow:hidden;border:1px solid rgba(119,164,255,.2);background:#060a12}
.process-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
#process .jp-process-step{min-height:0;opacity:.8}
#process .jp-process-step.is-active,#process .jp-process-step.is-complete{opacity:1}
#process .jp-process-body{min-width:0}
#process .jp-process-head{margin-bottom:1.3rem}
#process .jp-process-meta{margin-bottom:0}
.front-art{margin:0 -1.5rem 1.5rem;overflow:hidden;border-block:1px solid rgba(255,255,255,.07)}
.front-art img{display:block;width:100%;height:190px;object-fit:cover}
#pricing .jpc-plan{padding:1.5rem;display:flex;flex-direction:column;background:linear-gradient(150deg,rgba(34,56,93,.22),rgba(5,8,15,.96))}
#pricing .jpc-plan-name{min-height:2.6em;font-size:clamp(1.3rem,1.8vw,1.65rem);margin-bottom:1rem}
#pricing .jpc-plan-description{min-height:4.6em;line-height:1.7}
#pricing .jpc-plan-features{margin-top:1rem;margin-bottom:1.75rem}
#pricing .jpc-plan-cta{margin-top:auto}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
#gallery .product-card{padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;border:1px solid rgba(130,165,228,.18);background:linear-gradient(155deg,rgba(27,44,73,.3),rgba(5,8,15,.98));min-width:0}
.product-art{margin:0;border-bottom:1px solid rgba(130,165,228,.14);overflow:hidden}
.product-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.product-copy{padding:1.6rem;display:flex;flex-direction:column;flex:1;min-width:0}
.product-category{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93b5ff;margin-bottom:.65rem}
.product-copy h3{font:600 clamp(1.25rem,2vw,1.65rem)/1.25 'Montserrat',sans-serif;letter-spacing:-.035em;color:#fff;min-height:2.5em;margin-bottom:.85rem}
.product-description{color:#aeb4c2;font-size:14px;line-height:1.75;min-height:5.25em;margin-bottom:1.25rem}
.product-capabilities{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.6rem}
.product-capabilities li{font-size:11px;line-height:1.4;border:1px solid rgba(130,165,228,.16);border-radius:6px;color:#c1cce2;padding:.45rem .6rem;background:rgba(37,99,235,.05)}
.product-copy .product-status{margin-top:auto;font-size:11px;padding-top:1.1rem;border-color:rgba(130,165,228,.15)}
@media(min-width:768px) and (max-width:1023px){
 .product-grid{gap:.75rem}
 .product-copy{padding:1.1rem}
 .product-copy h3{font-size:1.2rem;min-height:2.5em}
 .product-description{font-size:13px;min-height:8.75em}
}
@media(max-width:767px){
 #process .jp-process-step{opacity:1}
 #process .process-art{margin-bottom:1.2rem;border-radius:12px}
 #process .process-art img{aspect-ratio:3/2;object-fit:contain}
 #pricing .jpc-plan{padding:1.2rem}
 .front-art{margin-inline:-1.2rem}
 .front-art img{height:auto;aspect-ratio:12/7}
 #pricing .jpc-plan-name{min-height:0}
 #pricing .jpc-plan-description{min-height:0}
 #gallery .product-grid{display:flex;gap:1rem}
 #gallery .product-card{padding:0!important;border-radius:20px}
 #gallery .product-copy{padding:1.3rem}
 .product-copy h3{font-size:1.5rem;min-height:0}
 .product-description{min-height:0}
 .product-art img{height:auto;aspect-ratio:12/7}
 .jpc-footer-site-link{margin-bottom:1.6rem}
}

/* Preserve the current process card visuals within the natural desktop flow. */
@media(min-width:1024px){
 #process .jp-process-step{padding:1.5rem}
 #process .jp-process-head{padding-bottom:.85rem;margin-bottom:1rem;align-items:center}
 #process .jp-process-ghost{font-size:3.5rem}
 #process .jp-process-body{padding-top:0}
 #process .process-art{margin-bottom:1rem}
 /* Follow the original image ratio so the frame has no side bands or crop. */
 #process .process-art img{width:100%;height:auto;aspect-ratio:auto 3/2;object-fit:contain}
 #process .jp-process-body h3{font-size:1.8rem;max-width:24ch}
 #process .jp-process-meta{margin-top:1rem;gap:1rem}
}

/* Portfolio covers: actual website captures, framed consistently without cropping. */
#workTrack .jpc-case-visual{
 display:flex;align-items:center;justify-content:center;height:auto;min-height:360px;
 padding:72px 28px 44px;isolation:isolate;
 background:radial-gradient(ellipse at 30% 20%,rgba(var(--cover-accent),.24),transparent 66%),linear-gradient(145deg,#111927,#060910);
 border-right:1px solid rgba(255,255,255,.06);
}
#workTrack .jpc-case-visual::before{content:"";position:absolute;inset:20px;border:1px solid rgba(var(--cover-accent),.15);border-radius:18px;pointer-events:none;z-index:-1}
#workTrack .jpc-case-fade-side,#workTrack .jpc-case-fade-mobile,#workTrack .jpc-case-image-meta{display:none!important}
.portfolio-browser{width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#0a101a;box-shadow:0 20px 45px rgba(0,0,0,.45);transform:none}
.portfolio-browser-bar{height:30px;display:flex;align-items:center;gap:5px;padding:0 10px;background:#18212f;border-bottom:1px solid rgba(255,255,255,.1)}
.portfolio-browser-bar i{display:block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#6d7889}
.portfolio-browser-bar small{display:block;flex:1;margin-right:25px;text-align:center;color:#b1becf;font:9px/1.2 'Open Sans',sans-serif;letter-spacing:.02em}
#workTrack .portfolio-browser img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:top;opacity:1}
#work .project-preview-art{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;padding:14px;background:radial-gradient(ellipse at 25% 20%,rgba(var(--cover-accent),.3),transparent 85%),#0b111d}
#work .project-preview-window{display:block;width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:#18212f;padding-top:7px;box-shadow:0 8px 18px rgba(0,0,0,.4)}
#work .project-preview img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;opacity:.88}
#work .project-preview:hover img,#work .project-preview[aria-pressed="true"] img{opacity:1}
@media(max-width:1023px){
 #workTrack .jpc-case-visual{min-height:0;padding:54px 22px 26px}
 #workTrack .jpc-case-visual::before{inset:12px;border-radius:12px}
}
@media(max-width:767px){
 #workTrack .jpc-case-visual{height:auto;min-height:0;padding:48px 14px 20px}
 #workTrack .jpc-case-visual::before{inset:9px}
 .portfolio-browser{border-radius:7px}
 .portfolio-browser-bar{height:24px;padding-inline:8px;gap:4px}
 .portfolio-browser-bar small{font-size:8px;margin-right:19px}
 .portfolio-browser-bar i{width:4px;height:4px;flex-basis:4px}
 #work .project-preview-art{padding:9px}
 #work .project-preview-window{border-radius:3px;padding-top:5px}
}

/* Headline: room for descenders during reveal; stronger mobile hierarchy. */
#hero h1{display:flex;flex-direction:column}
#hero h1 .clip-outer{padding:6px 4px;margin:-6px -4px}
#hero h1 .clip-inner{line-height:1.08}
@media(max-width:767px){
 #hero h1{width:100%;margin-bottom:1.8rem!important}
 #hero h1 .clip-inner{font-size:clamp(2.05rem,10.5vw,4.8rem)!important;line-height:1.2;letter-spacing:-.045em}
 #hero h1 .clip-outer:nth-child(2) .clip-inner{font-size:clamp(1.7rem,8.5vw,3.9rem)!important;line-height:1.25;letter-spacing:-.04em}
}

/* A single technical display face connects the solid and animated headline. */
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/rajdhani-semibold-latin.woff2') format('woff2')}
#hero h1,#hero h1 .clip-inner{font-family:'Rajdhani','Montserrat',sans-serif;font-weight:600;letter-spacing:-.015em}
#hero h1 .hl-stroke{-webkit-text-stroke:1.35px #3978ff}
@media(max-width:767px){
 #hero h1 .clip-inner{font-size:clamp(2.5rem,13vw,5.8rem)!important;line-height:1.08;letter-spacing:-.02em}
 #hero h1 .clip-outer:nth-child(2) .clip-inner{font-size:clamp(2.3rem,12vw,5.4rem)!important;line-height:1.08;letter-spacing:-.03em}
 #hero h1 .hl-stroke{-webkit-text-stroke:1px #3978ff}
}

/* Service showcase: editorial imagery, restrained glass and clear hierarchy. */
#services .services-showcase-header{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}
#services .services-eyebrow{display:block;margin-bottom:1.25rem;color:#93b5ff;font:500 10px/1.5 monospace;letter-spacing:.2em;text-transform:uppercase}
#services .services-showcase-header h2{margin:0;line-height:1.12}
#services .services-showcase-header>p{max-width:320px;color:#aeb4c2;font-size:15px;line-height:1.8;margin:0 0 .25rem}
#services .services-showcase-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}
#services .service-showcase-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid rgba(140,167,218,.19);border-radius:24px;overflow:hidden;background:linear-gradient(155deg,#111a2b,#080b13 65%);box-shadow:0 16px 40px rgba(0,0,0,.18);transition:border-color .25s,box-shadow .25s}
#services .service-showcase-card:nth-child(-n+2){grid-column:span 3}
#services .service-showcase-card:last-child{grid-column:span 2}
#services .service-showcase-card:hover{border-color:rgba(111,155,247,.48);box-shadow:0 18px 48px rgba(0,0,0,.28)}
#services .service-art{position:relative;margin:0;isolation:isolate;background:#060b13;overflow:hidden;border-bottom:1px solid rgba(140,167,218,.14)}
#services .service-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,14,.2),transparent 30%,transparent 80%,rgba(8,11,19,.35));pointer-events:none}
#services .service-art img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
#services .service-showcase-card:nth-child(-n+2) .service-art img{height:auto;aspect-ratio:16/10}
#services .service-art-meta{position:absolute;top:18px;left:20px;right:20px;z-index:1;display:flex;align-items:center;justify-content:space-between}
#services .service-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(156,183,239,.26);border-radius:9px;background:rgba(5,10,21,.7);color:#bdceef;font:11px/1 monospace;backdrop-filter:blur(8px)}
#services .service-symbol{color:#a7c8ff;filter:drop-shadow(0 0 10px rgba(37,99,235,.4))}
#services .service-copy{display:flex;flex:1;flex-direction:column;padding:1.6rem}
#services .service-copy h3{padding:0;margin:0 0 1rem;font:600 clamp(1.25rem,1.7vw,1.55rem)/1.25 'Montserrat',sans-serif;letter-spacing:-.035em;min-height:2.5em;color:#f1f5fc}
#services .service-showcase-card:nth-child(-n+2) h3{font-size:clamp(1.4rem,2vw,1.8rem);min-height:0}
#services .service-description{font-size:14px;line-height:1.8;color:#aeb7c8;margin:0 0 1.5rem}
#services .service-capabilities{display:flex;flex-wrap:wrap;gap:.55rem 1rem;list-style:none;padding:0;margin:auto 0 1.6rem}
#services .service-capabilities li{display:flex;align-items:center;gap:.45rem;color:#b9cceb;font-size:11px;line-height:1.5}
#services .service-capabilities li::before{content:"";width:4px;height:4px;border-radius:50%;background:#5b91ff;flex-shrink:0}
#services .service-conversation{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding-top:1.1rem;border-top:1px solid rgba(140,167,218,.15);color:#dfe9fc;font-size:12px;font-weight:600;text-decoration:none}
#services .service-conversation>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid rgba(140,167,218,.24);border-radius:50%;color:#9ec2ff;font-size:18px;transition:background .2s,border-color .2s}
#services .service-conversation:hover>span{background:#2563eb;border-color:#2563eb;color:white}
#services .service-conversation:focus-visible{outline:2px solid #93c5fd;outline-offset:5px;border-radius:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#services .service-showcase-card:hover .service-art img{transform:scale(1.025)}}
@media(min-width:768px) and (max-width:1023px){
 #services .services-showcase-header{display:block}
 #services .services-showcase-header>p{margin-top:1.5rem;max-width:440px}
 #services .services-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
 #services .service-showcase-card,#services .service-showcase-card:nth-child(-n+2){grid-column:span 1}
 #services .service-showcase-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
 #services .service-art img,#services .service-showcase-card:nth-child(-n+2) .service-art img{height:220px}
 #services .service-showcase-card:last-child .service-art img{height:100%;min-height:300px}
 #services .service-copy h3,#services .service-showcase-card:nth-child(-n+2) h3{font-size:1.35rem;min-height:2.5em}
}
@media(max-width:767px){
 #services .services-showcase-header{display:block;margin-bottom:2rem}
 #services .services-showcase-header>p{margin-top:1.25rem;max-width:100%;font-size:14px;line-height:1.75}
 #services .services-showcase-grid{display:flex;gap:1rem}
 #services .service-showcase-card{padding:0!important;border-radius:20px}
 #services .service-art img,#services .service-showcase-card:nth-child(-n+2) .service-art img{height:auto;aspect-ratio:3/2;object-fit:contain}
 #services .service-copy{padding:1.25rem}
 #services .service-copy h3,#services .service-showcase-card:nth-child(-n+2) h3{font-size:1.4rem;min-height:2.5em}
 #services .service-description{font-size:13px;margin-bottom:1.25rem}
 #services .service-capabilities{margin-bottom:1.25rem}
 #services .service-conversation{font-size:11px}
}

/* Four connected disciplines: responsive, interactive company diagram. */
#sobre .eco-showcase{min-width:0;padding:26px;border:1px solid #6587c52b;border-radius:28px;background:radial-gradient(ellipse at 50% 42%,#14357738,transparent 60%),linear-gradient(145deg,#101827b3,#05070ed9);box-shadow:inset 0 1px #b8ceff12,0 25px 70px #0003}
#sobre .eco-showcase-heading{padding-bottom:24px;border-bottom:1px solid #ffffff0c}
#sobre .eco-eyebrow{font:9px/1.5 monospace;text-transform:uppercase;letter-spacing:.18em;color:#7ca8ed}
#sobre .eco-showcase-heading h3{font-family:var(--font-heading,'Outfit',sans-serif);font-size:clamp(17px,1.5vw,21px);font-weight:500;letter-spacing:-.025em;color:#edf4ff;margin-top:7px}
#jpc-ecosystem{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 145px 1fr;column-gap:18%;max-width:560px;margin:24px auto 0;isolation:isolate}
#jpc-ecosystem::after{display:none}
#jpc-ecosystem .eco-node{position:relative;inset:auto;width:100%!important;height:100%;padding:0;text-align:left;border:0;background:none;border-radius:17px;transition:opacity .5s,transform .5s;transition-delay:0s!important;appearance:none}
#jpc-ecosystem .eco-node[data-node="2"]{grid-column:2;grid-row:3}
#jpc-ecosystem .eco-node[data-node="3"]{grid-column:1;grid-row:3}
#jpc-ecosystem .eco-node-inner{position:relative;display:flex;flex-direction:column;height:100%;min-height:166px;padding:16px 15px 22px;border:1px solid #8ca8db2e;border-radius:17px;background:linear-gradient(140deg,#192335f5,#080d19f5);backdrop-filter:none;box-shadow:inset 0 1px #d5e5ff0c,0 8px 24px #0003;overflow:hidden}
#jpc-ecosystem .eco-node-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
#jpc-ecosystem .eco-icon{width:36px;height:36px;display:grid;place-items:center;color:#a5c6ff;border-radius:11px;border:1px solid #7ca9ff36;background:linear-gradient(145deg,#2f528e55,#101725);box-shadow:inset 0 1px #b9d2ff24}
#jpc-ecosystem .eco-node-index{font:11px/1 monospace;color:#8fa5c8}
#jpc-ecosystem .eco-node-title{display:block;font-size:16px;line-height:1.2;font-weight:600;color:#f2f6ff;letter-spacing:-.025em;margin-bottom:8px}
#jpc-ecosystem .eco-node-description{display:block;font-size:11px;line-height:1.6;color:#a7b4ca}
#jpc-ecosystem .eco-node-arrow{position:absolute;right:10px;bottom:5px;color:#6f99e1;font-size:15px;opacity:.55}
#jpc-ecosystem .eco-active .eco-node-inner{border-color:#6494f4ab;background:linear-gradient(140deg,#1b3864,#0b152a);box-shadow:inset 0 1px #cadfff30,0 0 25px #2563eb1f}
#jpc-ecosystem .eco-active .eco-node-arrow{opacity:1;color:#c7ddff}
#jpc-ecosystem .eco-node:focus-visible{outline:2px solid #bfdbfe;outline-offset:5px}
#jpc-ecosystem .eco-node:focus-visible .eco-node-inner{outline:none}
#jpc-ecosystem .eco-node:hover .eco-node-inner{border-color:#8caefb90}
#jpc-ecosystem .eco-svg{z-index:-1}
#jpc-ecosystem .eco-line-active{stroke:#91bcff;stroke-width:.55}
#jpc-ecosystem .eco-particle{opacity:.9!important;filter:drop-shadow(0 0 1px #7fb4ff)}
#jpc-ecosystem .eco-nucleus{width:112px;background:radial-gradient(circle at 35% 15%,#223d6b,#080e1d 65%);border:1px solid #8ab7ff9c;box-shadow:0 0 0 6px #3579eb0c,0 0 0 7px #638fe729,0 0 45px #2563eb3b,inset 0 2px 8px #aecfff1c}
#jpc-ecosystem .eco-brand-symbol{display:block;width:58%;height:auto;filter:drop-shadow(0 2px 8px #0005)}
#jpc-ecosystem.eco-paused .eco-nucleus-ring-outer{animation-play-state:paused}
#sobre .eco-instruction{display:flex;align-items:center;justify-content:center;gap:7px;color:#8f9db5;font-size:10px;margin:19px 0}
#sobre .eco-details{padding:19px 0 0;border-top:1px solid #91b3ed24;display:grid}
#sobre .eco-detail{grid-area:1/1}
#sobre .eco-detail[hidden]{display:block;visibility:hidden;pointer-events:none}
#sobre .eco-detail h4{color:#e9f1ff;font-weight:500;font-size:15px;letter-spacing:-.02em;margin-bottom:7px}
#sobre .eco-detail p{color:#a6b1c4;font-size:12px;line-height:1.7}
#sobre .eco-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
#sobre .eco-detail-tags span{font-size:9px;color:#b0c9ee;border:1px solid #72a1ed30;padding:4px 8px;border-radius:5px;background:#3861a212}
@media(max-width:639px){
 #sobre .eco-showcase{padding:20px 14px;border-radius:22px;background:radial-gradient(ellipse at 50% 40%,#14357729,transparent 70%),#080d16a6;box-shadow:none}
 #sobre .eco-showcase-heading{padding:0 3px 18px}
 #sobre .eco-showcase-heading h3{font-size:18px;line-height:1.35;max-width:240px}
 #jpc-ecosystem{column-gap:15%;grid-template-rows:auto 124px auto;margin-top:20px}
 #jpc-ecosystem .eco-node-inner{align-items:center;justify-content:center;min-height:82px;padding:12px 7px;border-radius:13px;background:#0d1727;border-color:#8ca8db24;box-shadow:none}
 #jpc-ecosystem .eco-node-top{margin-bottom:8px}
 #jpc-ecosystem .eco-node-title{font-size:14px;margin:0;text-align:center;letter-spacing:-.03em}
 #jpc-ecosystem .eco-node-description,#jpc-ecosystem .eco-node-index,#jpc-ecosystem .eco-node-arrow{display:none}
 #jpc-ecosystem .eco-icon{width:24px;height:24px;border:0;border-radius:0;background:none;box-shadow:none}
 #jpc-ecosystem .eco-active .eco-node-inner{background:#152b4c;border-color:#6494f4ab;box-shadow:inset 0 1px #cadfff18}
 #jpc-ecosystem .eco-nucleus{width:86px}
 #sobre .eco-instruction{font-size:9px;margin:17px 0}
 #sobre .eco-details{padding-top:16px}
 #sobre .eco-detail h4{font-size:14px}
 #sobre .eco-detail p{font-size:12px;line-height:1.65}
 #sobre .eco-detail-tags{display:none}
}
@media(prefers-reduced-motion:reduce){#jpc-ecosystem .eco-particle{display:none}#jpc-ecosystem .eco-node,#jpc-ecosystem .eco-nucleus,#jpc-ecosystem .eco-svg-line{transition:none!important}#jpc-ecosystem .eco-nucleus-ring-outer{animation:none!important}}

#jpc-ecosystem .eco-core-orbit{position:absolute;inset:-9px;border:1px solid #74a4f344;border-radius:50%;pointer-events:none}
#jpc-ecosystem .eco-core-orbit-outer{inset:-18px;border:1px dashed #74a4f330;animation:eco-orbit-turn 30s linear infinite}
#jpc-ecosystem.eco-paused .eco-core-orbit-outer{animation-play-state:paused}
@keyframes eco-orbit-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#jpc-ecosystem .eco-core-orbit-outer{animation:none}}

/* Navigation must stay opaque over every section, including hover and touch. */
#mobile-menu{position:relative;background:#080d16;border:1px solid #293345;box-shadow:0 16px 40px #0006;backdrop-filter:none;-webkit-backdrop-filter:none}
#mobile-menu a[href^="#"]:is(:hover,:focus-visible,:active){background:#18243a;color:#fff}
#mobile-menu a:focus-visible{outline:2px solid #93c5fd;outline-offset:-2px}

/* Shared forward action icon, independent of text fonts and icon loaders. */
.action-arrow{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;color:inherit;vertical-align:middle;transition:background-color .2s,border-color .2s}
.action-arrow>svg{display:block;width:16px;height:16px}
.hero-person>.action-arrow{width:32px;height:32px;margin-left:4px;border-color:#93c5fd66}
.jpc-case-cta>.action-arrow{width:26px;height:26px;border-color:#ffffff66}
#jpc-ecosystem .eco-node-arrow.action-arrow{width:22px;height:22px;right:10px;bottom:8px;border-color:#7da8ed66}
#jpc-ecosystem .eco-node-arrow.action-arrow>svg{width:13px;height:13px}
@media(min-width:640px){#jpc-ecosystem .eco-node-inner{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){.action-arrow{transition:none}}

/* Reserve the full circular icon width in the process contact CTA. */
.jp-process-cta-link-content{grid-template-columns:auto minmax(0,1fr);gap:.75rem;white-space:normal;line-height:1.35;max-width:100%}
.jp-process-cta-link-content>span:last-child{min-width:0}

/* Client voices: original quotes, calm typography and manual mobile navigation. */
.client-stories-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2rem}
.stories-eyebrow{display:block;font:10px/1.5 monospace;letter-spacing:.16em;text-transform:uppercase;color:#7ca8ed;margin-bottom:1rem}
.client-stories-heading h2{font-family:Montserrat,sans-serif;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500;line-height:1.2;letter-spacing:-.04em;max-width:520px}
.client-stories-heading>p{max-width:360px;color:#a6b1c4;font-size:13px;line-height:1.8}
.client-stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.client-story{display:flex;flex-direction:column;margin:0;padding:26px;border:1px solid #8ca8db26;border-radius:20px;background:linear-gradient(145deg,#101827c9,#080c14);min-width:0}
.story-quote-mark{font:52px/1 Georgia,serif;color:#6097ff;height:40px}
.client-story blockquote{margin:0 0 28px;font-size:15px;line-height:1.8;color:#e0e7f3}
.client-story figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid #ffffff12}
.story-monogram{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:50%;color:#95baff;background:#2563eb14;font:10px monospace}
.client-story figcaption strong{display:block;color:#e7edf9;font-size:11px;font-weight:600;line-height:1.5}
.client-story figcaption small{display:block;color:#99a7bf;font-size:10px;line-height:1.6;margin-top:4px}
.jp-process-cta{flex-wrap:wrap}
.contract-intro{flex:1 1 360px}
.contract-intro>p{max-width:620px;color:#a6b1c4;font-size:13px;line-height:1.8;margin-top:14px}
.contract-path{flex:0 0 100%;min-width:0;border-top:1px solid #8ca8db24;padding-top:24px}
.contract-path ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.contract-path li{display:flex;gap:12px;min-width:0}
.contract-path li>span{color:#75a7ff;font:11px/1.6 monospace;padding-top:2px}
.contract-path h4{font-size:13px;font-weight:600;color:#eef3ff;margin-bottom:8px;line-height:1.5}
.contract-path p{color:#a6b1c4;font-size:12px;line-height:1.8}
.contract-conditions{margin-top:24px;border-top:1px solid #8ca8db24;padding-top:18px}
.contract-conditions summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:12px;color:#c8d7ef;min-height:44px}
.contract-conditions summary::-webkit-details-marker{display:none}
.contract-conditions summary>span{font-size:20px;color:#88aff5}
.contract-conditions[open] summary>span{transform:rotate(45deg)}
.contract-conditions summary:focus-visible{outline:2px solid #93c5fd;outline-offset:4px;border-radius:4px}
.contract-conditions p{max-width:850px;padding:10px 0 4px}
@media(max-width:767px){
 .client-stories-heading{display:block;margin-bottom:24px}
 .client-stories-heading>p{margin-top:18px;max-width:100%}
 .client-stories-grid{display:flex}
 .client-story{padding:23px}
 .client-story blockquote{font-size:14px;line-height:1.8}
 .jp-process-cta .contract-intro{flex-basis:auto}
 .contract-path ol{grid-template-columns:1fr;gap:22px}
 .contract-path{text-align:left}
 .contract-path h4{font-size:13px}
 .contract-intro>p{font-size:13px}
}

/* Seven original testimonials, one readable story at a time on every screen. */
#client-stories>.max-w-7xl{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);column-gap:48px;align-items:center}
#client-stories .client-stories-heading{display:block;grid-row:1/3;margin:0}
#client-stories .client-stories-heading>p{margin-top:24px}
#client-stories .client-stories-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px;min-width:0}
#client-stories .client-stories-grid::-webkit-scrollbar{display:none}
#client-stories .client-story{flex:0 0 100%;scroll-snap-align:start;min-height:280px;padding:32px;box-sizing:border-box}
#client-stories blockquote{font-size:18px;line-height:1.8;margin-bottom:28px}
#client-stories .story-stars{display:block;font-size:15px;letter-spacing:3px;margin-bottom:20px;line-height:1.5}
#client-stories figcaption img{width:48px;height:48px;flex:0 0 auto;object-fit:cover;border-radius:50%;border:1px solid #a9c8ff40}
#client-stories .mobile-carousel-ui{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;margin-top:16px;grid-column:2}
#client-stories .mobile-carousel-count{font:11px monospace;color:#9eabc0}
#client-stories .mobile-carousel-count b{color:#a8c8ff}
#client-stories .mobile-carousel-dots{display:flex;gap:5px;justify-content:center;align-items:center}
#client-stories .mobile-carousel-dot{width:20px;height:32px;padding:0;border:0;background:none;position:relative}
#client-stories .mobile-carousel-dot:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#64748b;top:50%;left:50%;transform:translate(-50%,-50%)}
#client-stories .mobile-carousel-dot.is-active:before{width:14px;border-radius:5px;background:#6496ff}
#client-stories .mobile-carousel-actions{display:flex;gap:7px}
#client-stories .mobile-carousel-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #91b3ed33;border-radius:50%;background:#111a2b;color:#dce8ff}
#client-stories .mobile-carousel-button:disabled{opacity:.35}
#client-stories .mobile-carousel-button:focus-visible,#client-stories .mobile-carousel-dot:focus-visible{outline:2px solid #93c5fd;outline-offset:3px}
@media(max-width:767px){
 #client-stories>.max-w-7xl{display:block}
 #client-stories .client-stories-heading{margin-bottom:24px}
 #client-stories .client-story{flex-basis:100%;width:100%!important;min-height:300px;padding:24px}
 #client-stories .client-stories-grid{padding:2px;gap:16px!important}
 #client-stories blockquote{font-size:15px}
 #client-stories .mobile-carousel-ui{gap:6px}
 #client-stories .mobile-carousel-dot{width:16px}
}

@media(min-width:768px){#client-stories .stories-title-ending{display:block}}

/* Editorial treatment for authentic customer feedback. */
#client-stories .client-story{position:relative;border-color:#7c9ed63b;background:radial-gradient(ellipse at 100% 0,#23487d24,transparent 65%),linear-gradient(145deg,#101724,#080c13);padding:36px;border-radius:24px;box-shadow:inset 0 1px #bdd7ff12;min-height:330px}
#client-stories .story-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
#client-stories .story-stars{display:flex;align-items:center;gap:4px;margin:0;line-height:1;color:#dfbf7e}
#client-stories .story-stars svg{display:block;width:17px;height:17px;fill:currentColor}
#client-stories .story-project-label{color:#a6bbdc;font:9px/1.5 monospace;text-transform:uppercase;letter-spacing:.12em;padding:6px 9px;border:1px solid #98b9e824;border-radius:5px}
#client-stories blockquote{font-size:19px;line-height:1.8;letter-spacing:-.015em;color:#e7edf7}
#client-stories figcaption{gap:15px;padding-top:24px}
#client-stories figcaption img{width:56px;height:56px;border:2px solid #0b101b;box-shadow:0 0 0 1px #6a8dbe66}
#client-stories figcaption strong{font-size:12px;line-height:1.6}
#client-stories figcaption small{font-size:11px;color:#a4b1c6}
#client-stories .mobile-carousel-dot,#client-stories .mobile-carousel-dot.is-active{background:none;box-shadow:none}
@media(max-width:767px){
 #client-stories .client-story{padding:24px;min-height:345px}
 #client-stories .story-topline{margin-bottom:24px;gap:8px}
 #client-stories .story-project-label{font-size:8px;letter-spacing:.06em;padding:5px 6px}
 #client-stories .story-stars{gap:3px}
 #client-stories .story-stars svg{width:14px;height:14px}
 #client-stories blockquote{font-size:15px;line-height:1.85}
 #client-stories figcaption img{width:46px;height:46px}
}

#client-stories .story-avatar-placeholder{width:56px;height:56px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;border:1px solid #6a8dbe66;background:linear-gradient(145deg,#254574,#111c2f);color:#cadfff;font:500 13px monospace;letter-spacing:.08em}
@media(max-width:767px){#client-stories .story-avatar-placeholder{width:46px;height:46px}#client-stories .mobile-carousel-dots{gap:2px}#client-stories .mobile-carousel-dot{width:13px}}
@media(max-width:480px){
 #client-stories .mobile-carousel-ui{grid-template-columns:1fr auto}
 #client-stories .mobile-carousel-dots{display:none}
}

/* Project kickoff: editorial invitation, personal contact and a clear path. */
#start-project .jp-process-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:42px 60px;padding:48px;border:1px solid #8bafe136;border-radius:28px;isolation:isolate;background:radial-gradient(ellipse at 0 0,#1c3a6c33,transparent 60%),linear-gradient(130deg,#0d1422f5,#060a11f5);box-shadow:inset 0 1px #c9dfff12,0 25px 70px #0002;align-items:center}
#start-project .jp-process-cta::after{width:60%;height:1px;background:linear-gradient(90deg,transparent,#6197fa99,transparent);box-shadow:none;left:8%}
#start-project .contract-intro{min-width:0}
#start-project .contract-eyebrow{display:flex;align-items:center;gap:10px;font:10px/1.5 monospace;letter-spacing:.18em;text-transform:uppercase;color:#a0bde7;margin-bottom:22px}
#start-project .contract-eyebrow i{display:block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#6496ff;box-shadow:0 0 12px #2563eb55}
#start-project h2{text-wrap:balance;font-family:Montserrat,sans-serif;font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.16;letter-spacing:-.045em;max-width:590px;color:#f3f6fc}
#start-project h2>span{display:block;color:#77a7ff}
#start-project .contract-intro>p{font-size:14px;line-height:1.85;max-width:470px;margin-top:22px;color:#adb9cd}
#start-project .contract-intro-note{display:flex;gap:10px;align-items:center;font-size:11px;line-height:1.6;color:#91a4c2;margin-top:24px}
#start-project .contract-intro-note>span{height:1px;width:22px;flex:0 0 auto;background:#7ca6eb88}
#start-project .contract-contact{min-width:0;border:1px solid #7ca4e640;border-radius:20px;padding:28px;background:linear-gradient(155deg,#17243b,#0c1321);box-shadow:inset 0 1px #c8dfff14}
#start-project .contract-contact-label{font:9px/1.5 monospace;text-transform:uppercase;letter-spacing:.16em;color:#88a8d7;margin-bottom:22px}
#start-project .contract-person{display:flex;align-items:center;gap:13px;min-width:0}
#start-project .contract-person>img:first-child{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #111e33;box-shadow:0 0 0 1px #829fce60;flex-shrink:0}
#start-project .contract-person>div{min-width:0}
#start-project .contract-person strong{display:block;font-size:16px;font-weight:600;letter-spacing:-.02em;color:#edf4ff;line-height:1.4}
#start-project .contract-person span{display:block;color:#a8b6cd;font-size:11px;line-height:1.6;margin-top:2px}
#start-project .contract-brand{width:30px;height:30px;margin-left:auto;opacity:.6;flex:0 0 auto}
#start-project .contract-contact>p{color:#acbad1;font-size:13px;line-height:1.8;margin:23px 0}
#start-project .jp-process-cta-link{display:flex;align-items:center;width:100%;min-height:58px;padding:12px 16px;color:white;background:#2563eb;border:1px solid #6d9bff66;border-radius:14px;text-decoration:none;transition:background .2s;box-shadow:0 5px 20px #2563eb18}
#start-project .jp-process-cta-link:hover{background:#326ff1}
#start-project .jp-process-cta-link:focus-visible{outline:2px solid #b7d4ff;outline-offset:4px}
#start-project .jp-process-cta-link-content{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:12px;text-align:left;font-size:12px;font-weight:600;line-height:1.5;white-space:normal}
#start-project .jp-process-cta-link .action-arrow{border-color:#d7e5ff77;width:30px;height:30px}
#start-project .contract-channel{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;line-height:1.5;color:#9db0ce;margin-top:14px}
#start-project .contract-channel img{opacity:.8}
#start-project .contract-path{grid-column:1/-1;border-top:1px solid #8bafe127;padding-top:27px;min-width:0}
#start-project .contract-path-heading{display:flex;align-items:center;gap:18px;margin-bottom:27px;color:#c0d2ee;font:10px/1.5 monospace;letter-spacing:.08em;text-transform:uppercase}
#start-project .contract-path-heading>span:last-child{color:#7f96b9;font-size:9px}
#start-project .contract-path-rule{height:1px;flex:1;background:#7894c128}
#start-project .contract-path ol{gap:28px}
#start-project .contract-path li{gap:13px;padding-right:18px}
#start-project .contract-path li:not(:last-child){border-right:1px solid #8bafe124}
#start-project .contract-path li>span{display:grid;place-items:center;align-self:flex-start;width:32px;height:32px;flex:0 0 auto;border:1px solid #759cdf50;border-radius:9px;background:#1b315429;color:#a6c5f5;font:11px/1 monospace;padding:0}
#start-project .contract-path h4{font-size:13px;line-height:1.5;font-weight:600;margin-bottom:9px}
#start-project .contract-path p{font-size:12px;line-height:1.8;color:#a4b3ca}
#start-project .contract-conditions{margin-top:28px;padding-top:15px;border-top-color:#8bafe124}
#start-project .contract-conditions summary{font-size:11px;line-height:1.6;min-height:44px;color:#b0c4e1}
#start-project .contract-conditions summary>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid #8bafe138;border-radius:50%;font-size:17px}
@media(min-width:768px) and (max-width:1100px){
 #start-project .jp-process-cta{padding:32px;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #start-project .contract-contact{padding:22px}
 #start-project .contract-brand{display:none}
 #start-project h2{font-size:34px}
 #start-project .contract-path li{display:block;padding-right:12px}
 #start-project .contract-path li>span{margin-bottom:14px}
}
@media(max-width:767px){
 #start-project>.max-w-7xl{padding-inline:16px}
 #start-project .jp-process-cta{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 20px;border-radius:22px}
 #start-project .contract-eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:18px}
 #start-project h2{font-size:clamp(27px,7.5vw,36px);line-height:1.18;letter-spacing:-.045em}
 #start-project .contract-intro>p{font-size:13px;line-height:1.8;margin-top:18px}
 #start-project .contract-intro-note{margin-top:16px;font-size:10px}
 #start-project .contract-contact{padding:20px;border-radius:16px}
 #start-project .contract-contact-label{margin-bottom:17px;font-size:8px}
 #start-project .contract-person>img:first-child{width:46px;height:46px}
 #start-project .contract-person strong{font-size:15px}
 #start-project .contract-person span{font-size:10px}
 #start-project .contract-brand{display:none}
 #start-project .contract-contact>p{font-size:12px;line-height:1.75;margin:18px 0}
 #start-project .jp-process-cta-link{padding:12px;min-height:60px}
 #start-project .jp-process-cta-link-content{font-size:11px;gap:10px}
 #start-project .contract-path{padding-top:24px}
 #start-project .contract-path-heading{font-size:9px;margin-bottom:22px}
 #start-project .contract-path-heading>span:last-child{display:none}
 #start-project .contract-path ol{grid-template-columns:1fr;gap:24px}
 #start-project .contract-path li{position:relative;display:flex;padding:0;border:0!important;gap:14px}
 #start-project .contract-path li:not(:last-child):after{content:'';position:absolute;left:15px;top:42px;bottom:-14px;width:1px;background:#7299db30}
 #start-project .contract-path h4{font-size:12px;margin-bottom:7px}
 #start-project .contract-path p{font-size:11px;line-height:1.8}
 #start-project .contract-conditions{margin-top:24px}
 #start-project .contract-conditions summary{font-size:11px;gap:12px}
}
@media(prefers-reduced-motion:reduce){#start-project .jp-process-cta-link{transition:none}}

/* Hero: clear invitation beside a real, responsive project delivery. */
#hero{height:auto!important;min-height:100svh;align-items:center}
#hero .hero-content{max-width:1280px;padding-top:160px!important;padding-bottom:80px!important}
#hero .hero-intro{gap:24px}
#hero .hero-intro>p{max-width:540px;font-size:16px;line-height:1.7;margin:0}
#hero h1 .clip-inner{line-height:1!important}
#hero h1 .clip-outer:nth-child(2){min-height:0}
#hero .hero-actions{flex-wrap:wrap;gap:12px}
#hero .hero-actions a{padding:15px 23px;font-size:13px;line-height:1.4}
#hero .hero-actions a[href="#services"]{color:#e1e8f6;background:#101724;border-color:#60708c66}
#hero .hero-actions a[href="#services"]:hover{background:#1c2940;border-color:#8ba7db}
#hero .hero-project{min-width:0;margin:0;position:relative;isolation:isolate}
.hero-project::before{content:"";position:absolute;inset:0 -12% 0;background:radial-gradient(ellipse,#245bdc24,transparent 67%);z-index:-1;pointer-events:none}
.hero-project-label{display:flex;align-items:center;gap:8px;color:#9ab6df;font:9px/1.6 monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:32px}
.hero-project-label>span{width:5px;height:5px;border-radius:50%;background:#629bff}
.hero-project-preview{display:block;position:relative;padding:0 36px 58px 0;text-decoration:none}
.hero-project-desktop{border:1px solid #6079a37a;border-radius:12px;overflow:hidden;background:#101727;box-shadow:0 30px 65px #0007;transform:rotate(-2deg)}
.hero-project-browser{display:flex;align-items:center;gap:4px;height:27px;padding:0 10px;color:#9aaac3;background:#101727}
.hero-project-browser i{display:block;width:4px;height:4px;border-radius:50%;background:#5a6b86}
.hero-project-browser span{font:8px/1 monospace;letter-spacing:.02em;margin:auto}
.hero-project-desktop>img{display:block;width:100%;height:auto}
.hero-project-phone{position:absolute;right:0;bottom:0;width:25%;padding:5px;border:1px solid #8394b9;border-radius:20px;background:#0c1423;box-shadow:-12px 15px 40px #0009;transform:rotate(3deg);overflow:hidden}
.hero-project-phone>img{display:block;width:100%;height:auto;border-radius:15px}
.hero-project figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;margin-top:18px;border-top:1px solid #7395c52e}
.hero-project figcaption>div{display:grid;gap:7px}
.hero-project figcaption strong{font-size:13px;font-weight:600;color:#e7eefb}
.hero-project figcaption>div>span{font-size:11px;color:#97a6be}
.hero-project figcaption>a{display:flex;align-items:center;gap:10px;color:#c8daf5;font-size:11px;white-space:nowrap}
.hero-project a:focus-visible{outline:2px solid #93c5fd;outline-offset:7px;border-radius:12px}
@media(min-width:1100px){
 #hero .hero-content{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);column-gap:52px;align-content:center}
 #hero .hero-location-badge,#hero h1,#hero .hero-intro{grid-column:1}
 #hero .hero-project{grid-column:2;grid-row:1/4;align-self:center;margin-top:40px}
 #hero h1 .clip-inner{font-size:clamp(64px,5.8vw,83px)!important}
 #hero h1{margin-bottom:26px}
}
@media(min-width:768px) and (max-width:1099px){
 #hero .hero-content{padding-top:145px!important;max-width:800px}
 #hero .hero-project{max-width:570px;margin:60px auto 0}
}
@media(max-width:767px){
 #hero .hero-content{padding-top:130px!important;padding-bottom:48px!important}
 #hero .hero-intro{gap:20px}
 #hero .hero-intro>p{font-size:14px;line-height:1.7;max-width:420px}
 #hero h1{margin-bottom:22px!important}
 #hero .hero-actions{width:100%;gap:10px}
 #hero .hero-actions a{font-size:12px;padding:14px 18px}
 #hero .hero-person{margin-top:3px}
 #hero .hero-project{margin:46px auto 0;max-width:480px;text-align:left}
 .hero-project-label{font-size:8px;letter-spacing:.08em;margin-bottom:22px}
 .hero-project-preview{padding:0 26px 40px 0}
 .hero-project-phone{border-radius:14px;padding:3px}
 .hero-project-phone>img{border-radius:10px}
 .hero-project-browser{height:20px}
 .hero-project-browser span{font-size:6px}
 .hero-project figcaption{gap:10px;margin-top:15px;padding-top:18px;align-items:flex-start}
 .hero-project figcaption strong{font-size:11px}
 .hero-project figcaption>div>span{font-size:10px}
 .hero-project figcaption>a{font-size:10px;gap:6px;white-space:normal}
 .hero-project figcaption .action-arrow{width:27px;height:27px}
}

/* Publication finish: readable content, keyboard access and a calmer page rhythm. */
.skip-link{position:fixed;top:12px;left:16px;z-index:10000;transform:translateY(-180%);background:#fff;color:#091225;padding:14px 22px;border-radius:12px;font-weight:600;box-shadow:0 4px 24px #0006}
.skip-link:focus{transform:translateY(0);outline:3px solid #3978ff;outline-offset:3px}
#main-content:focus{outline:none}
:where(a,button,summary,input,textarea):focus-visible{outline:2px solid #9bc4ff;outline-offset:4px}
#work,#services,#founder,#gallery,#sobre,#client-stories,#faq{padding-block:clamp(56px,6vw,88px)}
#start-project{padding-block:56px 72px}
#services .service-art img,#services .service-showcase-card:nth-child(-n+2) .service-art img{aspect-ratio:16/9}
#services .service-copy h3{min-height:0}
#services .service-description{font-size:15px}
#services .service-conversation{font-size:14px;min-height:48px}
#sobre .eco-detail p,.client-stories-heading>p{font-size:14px}
#client-stories .client-story{min-height:290px}
#client-stories figcaption strong{font-size:14px}
#client-stories figcaption small{font-size:12px}
#client-stories .story-project-label{font-size:10px}
.assist-inline{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:#bad3fa;border:1px solid #6686b74d;border-radius:12px;background:#101d31;padding:14px 16px;margin-top:20px;font-size:13px;line-height:1.5}
.assist-inline strong{display:block;color:#f1f6ff;font-weight:600;font-size:14px;margin-top:3px}
.assist-inline>span:last-child{margin-left:auto;font-size:22px}
.assist-inline:hover{background:#192c48;border-color:#8fb5ef}
.assist-menu-link{display:block;width:100%;text-align:left;padding:12px 16px;color:#bbd5ff;font-size:14px;min-height:44px;border-radius:12px}
.assist-menu-link:hover{background:#18243a}
.jpc-assist-privacy{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;justify-content:start;column-gap:9px;row-gap:3px;padding:12px 20px;font:400 12px/1.5 "Open Sans",sans-serif;letter-spacing:0;text-align:left;color:#a5b3ca}
.jpc-assist-privacy>.iconify{margin-top:3px;color:#82a9e6}
.jpc-assist-privacy>a{grid-column:2;justify-self:start;color:#b3d0ff;text-decoration:underline;text-underline-offset:3px;padding-block:2px}
.jpc-footer-legal .privacy-link{font-size:12px;color:#bbcce5;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.challenge-section{position:relative;padding-block:clamp(56px,6vw,88px);background:linear-gradient(180deg,transparent,#11204220,transparent)}
.challenge-heading{max-width:700px;margin-bottom:32px}
.challenge-heading .services-eyebrow{display:block;color:#93b5ff;font:11px/1.5 monospace;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
.challenge-heading h2{font:500 clamp(28px,3.2vw,42px)/1.15 Montserrat,sans-serif;letter-spacing:-.035em;margin-bottom:20px}
.challenge-heading h2 span{color:#598bff}
.challenge-heading>p{color:#b5bece;font-size:15px;line-height:1.7;max-width:540px}
.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.challenge-card{border:1px solid #728db639;border-radius:22px;background:linear-gradient(135deg,#111d31,#080d17);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.challenge-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-bottom:1px solid #728db621;background:#070d17}
.challenge-card-copy{display:flex;flex-direction:column;flex:1;padding:24px}
.challenge-question{font-size:12px;line-height:1.5;color:#a8c6f2;margin-bottom:12px}
.challenge-card h3{font:600 20px/1.35 Montserrat,sans-serif;color:#f1f5fd;letter-spacing:-.03em;margin:0 0 14px}
.challenge-card p{font-size:14px;line-height:1.75;color:#b4bed0;margin-bottom:20px}
.challenge-card button{margin-top:auto;padding-top:16px;border-top:1px solid #728db639;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:1.5;color:#d5e6ff;min-height:48px;text-align:left}
.challenge-card button>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border:1px solid #8aabd45c;border-radius:50%}
#founder .jpc-founder-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#sobre .eco-trust-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#sobre .eco-trust-item{min-width:0;min-height:0;padding:16px}
@media(min-width:768px) and (max-width:1099px){.challenge-grid{gap:12px}.challenge-card-copy{padding:18px}.challenge-card h3{font-size:18px}}
@media(max-width:767px){
 #mobile-menu{max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain}
 #work,#services,#founder,#gallery,#sobre,#client-stories,#faq,.challenge-section{padding-block:48px}
 #start-project{padding-block:40px 48px}
 #services .services-showcase-header>p,#services .service-description{font-size:15px;line-height:1.7}
 #services .service-conversation{font-size:14px;padding-top:16px;min-height:48px}
 #services .service-capabilities li{font-size:12px}
 #services .service-copy h3,#services .service-showcase-card:nth-child(-n+2) h3{font-size:22px;min-height:0;margin-bottom:14px}
 #services .service-art img,#services .service-showcase-card:nth-child(-n+2) .service-art img{aspect-ratio:16/9;object-fit:cover}
 #gallery .product-description,#sobre .eco-detail p,.client-stories-heading>p{font-size:15px;line-height:1.7}
 #gallery .product-art img{aspect-ratio:16/9}
 #gallery .product-copy h3{margin-bottom:12px}
 #gallery .product-capabilities li{font-size:12px}
 #client-stories .client-story{min-height:290px;padding:24px}
 #client-stories blockquote{font-size:16px;line-height:1.75;margin-bottom:24px}
 #client-stories figcaption{gap:12px;padding-top:18px}
 #client-stories figcaption strong{font-size:13px}
 #client-stories figcaption small{font-size:12px}
 #client-stories .story-project-label{font-size:10px}
 #start-project .jp-process-cta-link-content{font-size:14px}
 #founder .jpc-founder-trust{display:grid!important;grid-template-columns:1fr;gap:0;border:1px solid #728db62e;border-radius:16px;overflow:hidden}
 #founder .jpc-founder-trust-item{padding:14px 16px;min-height:0;border:0;border-bottom:1px solid #728db62e;border-radius:0;background:#0b1321}
 #founder .jpc-founder-trust-item:last-child{border-bottom:0}
 #founder .jpc-founder-trust-item strong{font-size:13px}
 #founder .jpc-founder-trust-item small{font-size:12px}
 #sobre .eco-trust-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #sobre .eco-trust-item{padding:14px 12px}
 #sobre .eco-trust-item h4{font-size:13px;line-height:1.5}
 #sobre .eco-trust-item p{font-size:12px;line-height:1.6}
 .challenge-grid{grid-template-columns:1fr;gap:16px}
 .challenge-card{display:flex;flex-direction:column;align-items:stretch}
 .challenge-card>img{height:auto;aspect-ratio:12/7;object-fit:cover;margin-top:0;border-bottom:1px solid #728db621;background:#070d17}
 .challenge-card-copy{padding:24px}
 .challenge-card h3{font-size:19px;margin-bottom:12px}
 .challenge-card p{font-size:14px;margin-bottom:12px}
 .challenge-question{font-size:12px}
 .challenge-card button{font-size:13px}
}
/* Native vertical journey: the introduction stays alongside the scrolling cards. */
@media(min-width:1024px){
 #process{height:auto;padding-block:64px;overflow:visible}
 #process .jp-process-grid{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(36px,5vw,72px);align-items:start}
 #process .jp-process-sticky{position:sticky!important;top:112px;align-self:start;padding:0}
 #process .jp-process-timeline{display:grid;grid-template-columns:1fr;gap:24px;height:auto;min-height:0;padding-left:0;overflow:visible}
 #process .jp-process-line,#process .jp-process-node,#process .jp-process-timeline:before{display:none}
 #process .jp-process-step{position:relative;inset:auto;visibility:visible;pointer-events:auto;transform:none;margin:0;height:auto;min-height:0;will-change:auto}
 #process .jp-process-body>p,#process .jp-process-meta p{font-size:14px;line-height:1.7}
}
@media(min-width:768px) and (max-width:1023px){
 #process{height:auto;padding-block:64px;overflow:visible}
 #process .jp-process-grid{display:block}
 #process .jp-process-sticky{position:static;top:auto;margin-bottom:32px}
 #process .jp-process-intro{max-width:640px}
 #process .jp-process-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;height:auto;min-height:0;padding-left:0;overflow:visible}
 #process .jp-process-line,#process .jp-process-node,#process .jp-process-timeline::before{display:none}
 #process .jp-process-step{position:relative;inset:auto;opacity:1;visibility:visible;pointer-events:auto;transform:none;height:auto;min-height:0;margin:0;padding:24px;will-change:auto}
 #process .process-art img{height:160px;aspect-ratio:auto;object-fit:contain}
 #process .jp-process-body h3{font-size:22px}
 #process .jp-process-body>p,#process .jp-process-meta p{font-size:14px;line-height:1.7}
 #process .jp-process-meta{grid-template-columns:1fr;gap:12px}
}
@media(max-width:767px){#process .jp-process-body>p,#process .jp-process-meta p{font-size:15px;line-height:1.7}#process .process-art img{aspect-ratio:16/9}}
/* Stable section geometry keeps anchors and keyboard focus in place during navigation. */
#main-content>section,body>footer{content-visibility:visible;contain-intrinsic-size:none}

/* Editorial testimonial presentation, scoped to desktop. Mobile stays unchanged. */
.stories-overview,.story-nav-avatar{display:none}
.mobile-carousel-dot[hidden]{display:none!important}
@media(min-width:1024px){
 #client-stories>.max-w-7xl{display:block}
 #client-stories .client-stories-heading{display:grid;grid-template-columns:1.15fr 1fr;column-gap:80px;row-gap:18px;align-items:start;margin-bottom:38px}
 #client-stories .client-stories-heading>div:first-child{grid-row:1/3}
 #client-stories .stories-eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:20px}
 #client-stories .client-stories-heading h2{font-size:clamp(36px,3.3vw,46px);max-width:600px;line-height:1.17}
 #client-stories .client-stories-heading>p{margin:0;max-width:455px;font-size:14px;line-height:1.85;color:#a7b5cc}
 #client-stories .stories-overview{display:flex;align-items:center;gap:14px;padding-top:17px;border-top:1px solid #7797c92b}
 #client-stories .stories-overview>span{font:500 32px/1 Rajdhani,sans-serif;color:#80a8ec}
 #client-stories .stories-overview strong{display:block;font-size:12px;font-weight:600;color:#dce8fc}
 #client-stories .stories-overview small{display:block;margin-top:3px;font-size:11px;color:#9aabc5}
 #client-stories .client-stories-grid{gap:24px;padding:2px}
 #client-stories .client-story{flex:0 0 100%;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:48px;min-height:356px;padding:40px 44px;border-color:#829dcc4d;border-radius:26px;background:radial-gradient(ellipse at 80% 0,#24487524,transparent 64%),linear-gradient(120deg,#111b2e,#0a111e 55%,#0b1220);box-shadow:inset 0 1px #d0e0ff17;isolation:isolate}
 #client-stories .client-story:before{content:'';position:absolute;top:0;left:44px;right:44px;height:1px;background:linear-gradient(90deg,#97bbff66,transparent 75%)}
 #client-stories .story-topline{grid-column:2;grid-row:1;align-items:center;margin:0 0 24px;gap:20px}
 #client-stories .story-stars{order:2;gap:5px;color:#d4b77c}
 #client-stories .story-stars svg{width:16px;height:16px}
 #client-stories .story-project-label{order:1;padding:0;border:0;border-radius:0;color:#93b3e0;font:10px/1.5 monospace;letter-spacing:.15em}
 #client-stories blockquote{grid-column:2;grid-row:2;align-self:center;margin:0;font-size:clamp(24px,2.1vw,29px);font-weight:400;line-height:1.65;letter-spacing:-.025em;color:#edf3ff}
 #client-stories blockquote:before{content:'';display:block;width:30px;height:23px;margin-bottom:18px;background:#739ee770;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Cpath d='M0 13C0 5 4 1 12 0v5c-4 1-6 3-6 6h7v13H0zm19 0C19 5 23 1 31 0v5c-4 1-6 3-6 6h7v13H19z'/%3E%3C/svg%3E") center/contain no-repeat}
 #client-stories figcaption{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;margin:0;padding:0 32px 0 0;border-top:0;border-right:1px solid #8ba8d331}
 #client-stories figcaption img{width:88px;height:88px;border:4px solid #111b2b;box-shadow:0 0 0 1px #87a9db52,0 8px 26px #0004}
 #client-stories figcaption>span{display:block;max-width:190px}
 #client-stories figcaption strong{font-family:Montserrat,sans-serif;font-size:15px;font-weight:600;line-height:1.55;color:#f2f6ff}
 #client-stories figcaption small{font-size:12px;line-height:1.65;margin-top:9px;color:#9cacc5}
 #client-stories figcaption .story-image-caption{font-size:10px;color:#8494ae;margin-top:6px}
 #client-stories .mobile-carousel-ui{margin-top:22px;padding-top:0;grid-template-columns:1fr auto 1fr;gap:24px;min-height:72px;border:0}
 #client-stories .mobile-carousel-count{font-size:11px;color:#899bb8;letter-spacing:.08em}
 #client-stories .mobile-carousel-count b{font:500 26px/1 Rajdhani,sans-serif;color:#d4e4ff;letter-spacing:0;margin-right:5px}
 #client-stories .mobile-carousel-dots{gap:10px;padding:7px 12px;border:1px solid #7494c626;border-radius:999px;background:#0d1727a6}
 #client-stories .mobile-carousel-dot{width:46px;height:46px;border-radius:50%;padding:4px;border:1px solid transparent;transition:border-color .2s,background-color .2s}
 #client-stories .mobile-carousel-dot:before{display:none}
 #client-stories .story-nav-avatar{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;opacity:.5;transition:opacity .2s}
 #client-stories .mobile-carousel-dot:hover .story-nav-avatar,#client-stories .mobile-carousel-dot:focus-visible .story-nav-avatar,#client-stories .mobile-carousel-dot.is-active .story-nav-avatar{opacity:1}
 #client-stories .mobile-carousel-dot.is-active{border-color:#88b3ff;background:#31549336}
 #client-stories .mobile-carousel-actions{justify-self:end;gap:10px}
 #client-stories .mobile-carousel-button{width:48px;height:48px;border-color:#7798cf4d;background:#101b2d;font-size:19px;transition:background-color .2s,border-color .2s}
 #client-stories .mobile-carousel-button:hover:not(:disabled){background:#203653;border-color:#99bdf9}
 #client-stories .mobile-carousel-button:disabled{opacity:.3}
 #client-stories .client-story blockquote,#client-stories .client-story figcaption{transition:opacity .24s ease}
 #client-stories .client-story:not(.is-mobile-active) blockquote,#client-stories .client-story:not(.is-mobile-active) figcaption{opacity:0}
}
@media(min-width:1024px) and (max-width:1199px){
 #client-stories .client-stories-heading{column-gap:44px}
 #client-stories .client-story{grid-template-columns:190px minmax(0,1fr);column-gap:32px;padding:34px;min-height:352px}
 #client-stories figcaption{padding-right:24px}
 #client-stories figcaption img{width:80px;height:80px}
 #client-stories .mobile-carousel-dots{gap:8px}
 #client-stories .mobile-carousel-dot{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){#client-stories .mobile-carousel-dot,#client-stories .story-nav-avatar,#client-stories .mobile-carousel-button,#client-stories .client-story blockquote,#client-stories .client-story figcaption{transition:none}}
/* Keep the mobile briefing robot available without covering carousel navigation. */
@media(max-width:767px){
 .mobile-carousel-ui,#client-stories .mobile-carousel-ui{padding-right:80px}
}
@media(max-width:480px){
 .mobile-carousel-ui,#client-stories .mobile-carousel-ui{grid-template-columns:1fr auto}
 .mobile-carousel-dots{display:none}
}

@media(max-width:767px){.work-carousel-controls{padding-right:80px}}
@media(max-width:480px){.work-carousel-controls #workCounter{display:none}}

/* Company commitments: dividers decorate cells instead of occupying grid columns. */
@media(min-width:768px){
 #sobre .eco-trust-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 #sobre .eco-trust-item{position:relative;padding:24px;gap:14px;align-items:flex-start;border-bottom:0!important}
 #sobre .eco-trust-item:nth-child(n+3){border-top:1px solid #87a4d326}
 #sobre .eco-trust-item:nth-child(odd):after{content:'';position:absolute;right:0;top:24px;bottom:24px;width:1px;background:#87a4d326}
 #sobre .eco-trust-item>div:first-child{width:42px;height:42px;flex:0 0 42px;border-radius:12px}
 #sobre .eco-trust-item>div:first-child .iconify{width:18px;height:18px}
 #sobre .eco-trust-item>div:last-child{min-width:0}
 #sobre .eco-trust-item p:first-child{font-size:14px;font-weight:600;line-height:1.45;color:#ecf2fc}
 #sobre .eco-trust-item p:last-child{margin-top:5px;font-size:12px;line-height:1.65;color:#a1afc6}
}
@media(min-width:1200px){
 #sobre .eco-trust-track{grid-template-columns:repeat(4,minmax(0,1fr))}
 #sobre .eco-trust-item{padding:26px 22px}
 #sobre .eco-trust-item:nth-child(n+3){border-top:0}
 #sobre .eco-trust-item:not(:last-child):after{content:'';position:absolute;right:0;top:26px;bottom:26px;width:1px;background:#87a4d326}
}
