.contact-upper{isolation:isolate;min-height:90svh;margin-left:var(--margin-left-right);margin-right:var(--margin-left-right);flex-direction:column;padding-block:clamp(4rem,8vh,6rem);display:flex;position:relative}.contact-upper:before{content:"";z-index:-2;aspect-ratio:1;filter:blur(38px);pointer-events:none;background:radial-gradient(circle at 58% 32%,#e65c3d24,#e65c3d0b 38%,#0000 68%);border-radius:50%;width:min(46vw,780px);position:absolute;top:-8%;right:-5vw}.contact-upper:after{content:"";z-index:-1;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 62% 30%,#e65c3d13,#e65c3d05 42%,#0000 70%);border:1px solid #e65c3d85;border-color:#e65c3d85 #e65c3d14 #e65c3d3d #e65c3d3d;border-radius:50%;width:min(44vw,760px);animation:38s linear infinite case-hero-circle-orbit;position:absolute;top:2%;right:-8vw;box-shadow:inset 0 0 70px #e65c3d06,0 0 40px #e65c3d06}@keyframes case-hero-circle-orbit{to{rotate:1turn}}.contact-upper-eyebrow{max-width:none;color:var(--color-text-secondary);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;align-items:center;display:flex}.contact-upper-header{max-width:var(--measure-display);margin-top:var(--heading-gap);font-size:var(--fs-display);font-weight:var(--fw-bold);line-height:var(--lh-display);letter-spacing:var(--ls-display);text-wrap:balance}.contact-upper-text{max-width:var(--measure-lead);margin-top:var(--space-md);color:var(--color-text-secondary);font-size:var(--fs-lead);line-height:var(--lh-lead)}@media (width<=800px){.contact-upper:before,.contact-upper:after{width:105vw;top:22%;right:-62vw}.contact-upper-header,.contact-upper-text{width:100%}}@media (width<=600px) and (orientation:portrait){.contact-upper{min-height:calc(100svh - 4.5rem);margin-inline:1rem;padding-block:4rem}.contact-upper-header{font-size:clamp(2.5rem,11.5vw,3.5rem)}.case-study{min-width:calc(100vw - 2rem)}}.case-studies-list-section{margin-top:clamp(4rem,8vh,7rem)}.case-studies-list-header{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-subtle);display:flex;position:relative;overflow:hidden}.case-studies-list-header:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent), transparent);filter:drop-shadow(0 0 5px #e65c3d8c);pointer-events:none;width:clamp(5rem,12vw,9rem);height:1px;animation:7s ease-in-out infinite case-carousel-signal;position:absolute;bottom:0;left:0}.case-studies-list-title{font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-title);letter-spacing:var(--ls-title)}.case-studies-list-count{max-width:none;color:var(--color-text-muted);font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;flex-shrink:0}.carousel{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.scroll-btn-container{aspect-ratio:1;border:1px solid var(--color-border-medium);-webkit-backdrop-filter:blur(12px);cursor:pointer;width:3rem;transition:border-color var(--dur-base) ease, background-color var(--dur-base) ease, transform var(--dur-base) var(--ease-out);background:#0c0c0cbf;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0d,0 10px 28px #0006}.scroll-btn-container:before{content:"";border-radius:inherit;opacity:0;transition:opacity .26s ease, transform .52s var(--ease-out);pointer-events:none;border:1px solid #e65c3db8;border-color:#e65c3db8 #e65c3d2e #0000 #0000;position:absolute;inset:-5px;transform:rotate(-40deg)scale(.86)}.scroll-btn-container svg{width:1.15rem;height:1.15rem;fill:var(--color-text);transition:fill var(--dur-base) ease}@media (hover:hover) and (pointer:fine){.scroll-btn-container:hover{border-color:var(--color-accent);background:var(--color-accent-surface);transform:scale(1.08)}.scroll-btn-container:hover svg{fill:var(--color-accent-bright)}.scroll-btn-container:hover:before{opacity:1;transform:rotate(140deg)scale(1)}}.scroll-btn-container:active{transform:scale(.94)}.case-studies-grid{scroll-behavior:smooth;gap:1rem;margin-top:2rem;padding:1rem 0 3rem;display:flex;overflow-x:auto}.case-study{--pointer-x:50%;--pointer-y:50%;isolation:isolate;background:var(--color-surface-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);text-align:center;min-height:18rem;transition:transform .42s var(--ease-out), border-color .32s ease, box-shadow .42s ease, background-color .32s ease;flex-direction:column;flex:0 0 clamp(18rem,24vw,24rem);gap:1rem;padding:clamp(1.25rem,1.8vw,1.75rem);display:flex;position:relative;overflow:hidden}.case-study:before{content:"";z-index:-1;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y), #e65c3d33, transparent 48%);opacity:0;pointer-events:none;transition:opacity .32s;position:absolute;inset:0}.case-study:after{content:"";background:linear-gradient(90deg, var(--color-accent), transparent 78%);transform-origin:0;width:100%;height:2px;transition:transform .48s var(--ease-out);pointer-events:none;position:absolute;bottom:0;left:0;transform:scaleX(0)}.case-studies-grid::-webkit-scrollbar{width:0;height:0;display:none}.grid-header{font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-title);letter-spacing:var(--ls-title);text-wrap:balance;transition:color .32s ease, transform .42s var(--ease-out)}.grid-text{color:var(--color-text-secondary);font-size:var(--fs-meta);line-height:var(--lh-body);margin-top:auto}.case-study svg{font-size:clamp(2rem,3vw,2.5rem)}.grid-icon{aspect-ratio:1;width:3.25rem;transition:transform .42s var(--ease-out), border-color .32s ease, box-shadow .32s ease;background:#e65c3d0f;border:1px solid #e65c3d40;border-radius:50%;align-self:center;place-items:center;display:grid;position:relative}.grid-icon:before{content:"";opacity:0;transition:opacity .3s ease, transform .62s var(--ease-out);pointer-events:none;border:1px solid #0000;border-color:#e65c3da8 #0000 #0000 #e65c3d29;border-radius:50%;position:absolute;inset:-7px;transform:rotate(-35deg)scale(.82)}.case-study-lower{isolation:isolate;min-height:90svh;margin-left:var(--margin-left-right);margin-right:var(--margin-left-right);flex-direction:column;padding-block:clamp(4rem,8vh,6rem);display:flex;position:relative}.case-study-lower-eyebrow{text-align:center;font-weight:var(--fw-semibold);font-size:var(--fs-body);color:var(--color-text-secondary);align-items:center;display:flex}.case-study-lower-header{max-width:var(--measure-heading);margin-top:var(--heading-gap);font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-wrap:balance;color:var(--color-text);width:82%}.case-study-lower-text{max-width:var(--measure-lead);font-size:var(--fs-lead);line-height:var(--lh-lead);font-size:var(--fs-body);font-weight:var(--fw-regular);color:var(--color-text-secondary);width:60%;max-width:48rem;line-height:var(--lh-body);margin-top:4vh}.case-study-challenge-solution{margin-top:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:clamp(1.5rem,3vw,3rem);display:grid}.case-study-challenge,.case-study-solution{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-subtle);min-width:0;transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) ease, box-shadow var(--dur-base) ease;padding:clamp(1.5rem,2.5vw,2rem);position:relative;overflow:hidden}.case-study-challenge:before,.case-study-solution:before{content:"";background:linear-gradient(180deg, var(--color-accent), transparent 78%);transform-origin:top;width:2px;height:100%;transition:transform .45s var(--ease-out);position:absolute;top:0;left:0;transform:scaleY(0)}.delivery-title{font-size:var(--fs-h3)}.panel-title,.delivery-title{margin-bottom:var(--space-md);font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-title);letter-spacing:var(--ls-title);display:inline-block;position:relative}.panel-title:after,.delivery-title:after{content:"";border-radius:var(--radius-pill);background:var(--color-accent);transform-origin:0;width:3rem;height:2px;transition:width var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease;position:absolute;bottom:-.6rem;left:0}.panel-text{max-width:var(--measure-body);color:var(--color-text-secondary);font-size:var(--fs-lead);line-height:var(--lh-lead)}.delivery{isolation:isolate;margin-top:var(--space-lg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-subtle);transition:border-color var(--dur-base) ease, box-shadow var(--dur-base) ease;flex-direction:column;padding:clamp(1.5rem,2.5vw,2rem);display:flex;position:relative;overflow:hidden}.delivery-process,.impact-process{margin-top:var(--space-lg);gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));padding:0;list-style:none;display:grid}.step{padding-top:var(--space-lg);flex-direction:column;gap:.5rem;display:flex;position:relative}.step:before{content:"";top:.85rem;left:0;right:calc(-1 * var(--space-md));background:var(--color-border-subtle);transform-origin:0;height:1px;position:absolute}.step:after{content:"";top:.85rem;left:0;right:calc(-1 * var(--space-md));background:linear-gradient(90deg, var(--color-accent), transparent);transform-origin:0;height:1px;position:absolute;transform:scaleX(0)}.step:last-child:after,.step:last-child:before{right:0}.step-marker{aspect-ratio:1;border:1px solid var(--color-border-accent);background:var(--color-bg);width:1.75rem;color:var(--color-accent);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:0;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) ease, box-shadow var(--dur-base) ease;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.impact{padding:var(--space-md);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) ease, box-shadow var(--dur-base) ease;background:#e65c3d0d;flex-direction:column;gap:.5rem;display:flex}.impact-marker{border:1.5px solid var(--color-accent);background:linear-gradient(45deg, transparent 44%, var(--color-accent) 44% 56%, transparent 56%) no-repeat center / 55% 1.5px;width:1.5rem;height:1.5rem;transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) ease, box-shadow var(--dur-base) ease;border-radius:50%;flex-shrink:0;display:block}.step-title,.impact-title{color:var(--color-text);font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-title);letter-spacing:var(--ls-title)}.step-text,.impact-text{color:var(--color-text-secondary);font-size:var(--fs-body);line-height:var(--lh-body)}.case-study.is-active{border-color:var(--color-border-accent);background:var(--color-accent-surface)}.case-study.is-active:after{transform:scaleX(1)}.case-study-lower.detail-enter>:not(.case-study-challenge-solution){animation:case-detail-rise .52s var(--ease-out) both}.case-study-lower.detail-enter .case-study-challenge-solution{animation:case-detail-rise .56s 70ms var(--ease-out) both}.case-study-lower.detail-enter .delivery{animation:case-detail-rise .6s .13s var(--ease-out) both}.case-study-lower.detail-enter .step:before{animation:case-process-draw .78s var(--ease-out) forwards}.case-study-lower.detail-enter .step:nth-child(2):before{animation-delay:.12s}.case-study-lower.detail-enter .step:nth-child(3):before{animation-delay:.24s}.case-study-lower.detail-enter .step:nth-child(4):before{animation-delay:.36s}.case-study-lower.detail-enter .step-marker,.case-study-lower.detail-enter .impact-marker{animation:case-marker-arrive .52s var(--ease-out) both}.case-study-lower.detail-enter :is(.step,.impact):nth-child(2) :is(.step-marker,.impact-marker){animation-delay:.1s}.case-study-lower.detail-enter :is(.step,.impact):nth-child(3) :is(.step-marker,.impact-marker){animation-delay:.2s}.case-study-lower.detail-enter :is(.step,.impact):nth-child(4) :is(.step-marker,.impact-marker){animation-delay:.3s}@keyframes case-detail-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes case-process-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes case-carousel-signal{0%,12%{opacity:0;transform:translate(-110%)}24%,76%{opacity:1}88%,to{opacity:0;transform:translate(calc(100vw + 110%))}}.case-studies-grid.cards-in .case-study{animation:case-card-arrive .62s var(--ease-out) both}.case-studies-grid.cards-in .case-study:nth-child(2){animation-delay:90ms}.case-studies-grid.cards-in .case-study:nth-child(3){animation-delay:.18s}.case-studies-grid.cards-in .case-study:nth-child(n+4){animation-delay:.27s}@keyframes case-card-arrive{0%{opacity:0;transform:translateY(26px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes case-marker-arrive{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@media (width<=800px){.contact-upper-header,.contact-upper-text,.case-study-lower-header,.case-study-lower-text{max-width:var(--measure-lead);font-size:var(--fs-lead);line-height:var(--lh-lead);width:100%}.case-studies-list-header,.case-study-challenge-solution,.case-studies-list-header{align-items:flex-start;gap:1rem}.carousel{grid-template-columns:1fr}.scroll-btn-container{width:var(--tap-target);grid-row:2}.previous-btn{justify-self:start}.next-btn{grid-area:2/1;justify-self:end}.case-studies-grid{scroll-snap-type:x mandatory;grid-row:1}.delivery-process{gap:var(--space-lg)}.step:before,.step:after{display:none}.step{min-height:1.75rem;padding-top:0;padding-left:2.5rem}.case-study{scroll-snap-align:start;min-width:min(85vw,22rem)}.case-study-challenge,.case-study-solution,.step{width:100%}.case-study-lower{min-height:0;margin-inline:1rem;padding-block:4rem}.case-study-challenge-solution{gap:1rem}.case-study-challenge,.case-study-solution,.delivery{padding:1.25rem}.step,.impact{padding-left:.85rem}}@media (hover:hover) and (pointer:fine){.case-study:hover{border-color:#e65c3d85;transform:translateY(-8px);box-shadow:0 26px 58px #0000006b,0 0 34px #e65c3d1f}.case-study:hover:before{opacity:1}.case-study:hover:after{transform:scaleX(1)}.case-study:hover .grid-icon{border-color:#e65c3d9e;transform:translateY(-4px)scale(1.07);box-shadow:0 0 24px #e65c3d2e}.case-study:hover .grid-icon:before{opacity:1;transform:rotate(145deg)scale(1)}.case-study:hover .grid-header{color:var(--color-text)}.case-study-challenge:hover,.case-study-solution:hover{border-color:#e65c3d61;transform:translateY(-5px);box-shadow:0 22px 48px #0000004d}.case-study-challenge:hover:before,.case-study-solution:hover:before{transform:scaleY(1)}.case-study-challenge:hover .panel-title:after,.case-study-solution:hover .panel-title:after,.delivery:hover .delivery-title:after{width:min(100%,7rem);box-shadow:0 0 12px #e65c3d47}.delivery:hover{border-color:#e65c3d47;box-shadow:0 22px 52px #0000003d}.step:hover .step-marker{background:var(--color-accent-surface);transform:translateY(-3px)scale(1.12);box-shadow:0 0 20px #e65c3d33}.impact:hover{border-color:#e65c3d66;transform:translateY(-5px);box-shadow:0 18px 38px #00000042}.impact:hover .impact-marker{background-color:#e65c3d1f;transform:rotate(-8deg)scale(1.1);box-shadow:0 0 18px #e65c3d2e}}@media (prefers-reduced-motion:reduce){.contact-upper:after{animation:none;rotate:0deg}.case-study-lower.detail-enter>*,.case-study-lower.detail-enter .case-study-challenge-solution,.case-study-lower.detail-enter .delivery,.case-study-lower.detail-enter .step:before,.case-study-lower.detail-enter .step-marker,.case-study-lower.detail-enter .impact-marker,.case-studies-grid.cards-in .case-study{animation:none}.case-studies-list-header:after{opacity:0;animation:none}.case-study-lower.detail-enter>*,.case-studies-grid.cards-in .case-study{opacity:1;transform:none}.step:before{transform:scaleX(1)}.case-study,.case-study:before,.case-study:after,.grid-icon,.grid-icon:before,.scroll-btn-container:before,.grid-header,.case-study-challenge,.case-study-solution,.case-study-challenge:before,.case-study-solution:before,.panel-title:after,.delivery-title:after,.delivery,.step-marker,.impact,.impact-marker{transition:none}.case-study:hover,.case-study:hover .grid-icon,.case-study:hover .grid-header,.case-study-challenge:hover,.case-study-solution:hover,.step:hover .step-marker,.impact:hover,.impact:hover .impact-marker{transform:none}}
