:root{--font-sans:var(--font-portfolio-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-portfolio-sans), var(--font-sans);--font-size-display:clamp(3.25rem, 12vw, 8.5rem);--font-size-section:clamp(2.5rem, 6.5vw, 4.5rem);--portfolio-motion-reveal:.52s;--portfolio-motion-stagger:90ms;--portfolio-title-gradient:linear-gradient(128deg, var(--color-on-surface) 0%, color-mix(in oklch, var(--color-on-surface) 88%, var(--color-primary)) 38%, color-mix(in oklch, var(--color-primary) 78%, var(--color-on-surface)) 72%, var(--color-primary) 100%);--portfolio-hero-gradient:linear-gradient(128deg, var(--color-on-surface) 0%, color-mix(in oklch, var(--color-on-surface) 90%, var(--color-primary)) 45%, var(--color-primary) 100%)}html.dark{--color-primary:#a88fff;--color-secondary:#eca56f;--color-info:#32a5d4;--color-tertiary:#22b988;--color-bg:#0c0c11;--color-surface:#13131a;--color-surface-alt:#1c1c24;--color-on-surface:#ebeaf3;--color-on-surface-alt:#a4a2b5;--color-border:#29253b}@supports (color:lab(0% 0 0)){html.dark{--color-primary:lab(65.2055% 30.5373 -56.5458);--color-secondary:lab(74.0634% 22.7009 39.2984);--color-info:lab(63.1403% -20.8373 -33.4735);--color-tertiary:lab(67.0553% -48.0923 13.6207);--color-bg:lab(3.29909% .743985 -2.71673);--color-surface:lab(6.08306% 1.29304 -4.69393);--color-surface-alt:lab(10.5276% 1.72928 -5.72112);--color-on-surface:lab(92.9223% 1.59517 -4.19809);--color-on-surface-alt:lab(67.2342% 3.86989 -9.70395);--color-border:lab(16.0036% 6.38916 -13.4943)}}html:not(.dark){--color-primary:#6032bb;--color-secondary:#aa5900;--color-info:#006e9a;--color-bg:#fcfcfe;--color-surface:#fff;--color-surface-alt:#f5f5f8;--color-on-surface:#171227;--color-on-surface-alt:#534f65}@supports (color:lab(0% 0 0)){html:not(.dark){--color-primary:lab(33.7713% 44.7567 -65.8426);--color-secondary:lab(47.1044% 31.6024 62.648);--color-info:lab(42.0799% -21.1142 -43.7063);--color-bg:lab(99.0467% .276148 -1.09881);--color-surface:lab(100% 0 0);--color-surface-alt:lab(96.4778% .462741 -1.82966);--color-on-surface:lab(6.75366% 6.56853 -13.2437);--color-on-surface-alt:lab(34.6603% 5.1287 -11.9817)}}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:4.75rem;scroll-padding-bottom:max(5.5rem, calc(env(safe-area-inset-bottom,0px) + 4rem));scrollbar-gutter:stable}body{scroll-behavior:smooth;background-color:var(--color-bg)}@media (prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}html{scroll-snap-type:none}}.portfolio-snap-section{scroll-snap-align:start;scroll-snap-stop:normal;box-sizing:border-box;min-height:100dvh}.portfolio-section-anchor{scroll-margin-top:4.5rem}.portfolio-section-ambient{background-color:var(--color-bg);position:relative;overflow:hidden}.portfolio-section-ambient>*{z-index:1;position:relative}
﻿ .about-hero-section{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;margin:0 auto;padding:clamp(3.5rem,11vh,7.5rem) clamp(1.25rem,4vw,3.5rem) clamp(4rem,12vh,8.5rem);overflow:visible;display:flex!important}.about-hero-inner{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:min(112rem,100%);margin:0 auto;display:flex}.about-hero-text{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:min(100%,90rem);margin-inline:auto;padding:clamp(1rem,3vh,2.5rem) clamp(1rem,4vw,2rem) clamp(2rem,5vh,4rem);display:flex}.about-hero-kicker{letter-spacing:.28em;text-transform:uppercase;color:color-mix(in oklch, var(--color-primary) 88%, var(--color-on-surface-alt));margin:0 0 clamp(.75rem,2vw,1.25rem);font-size:.6875rem;font-weight:700}.about-hero-title{font-family:var(--font-display);font-size:var(--font-size-display);letter-spacing:-.03em;background:var(--portfolio-hero-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding-bottom:.24em;font-weight:700;line-height:.92}.about-hero-lead{font-family:var(--font-sans);color:var(--color-on-surface-alt);letter-spacing:.005em;margin:clamp(1.75rem,4.5vw,3.5rem) 0 0;font-size:clamp(1.2rem,2.4vw,1.65rem);font-weight:500;line-height:1.35}.about-hero-body{color:color-mix(in oklch, var(--color-on-surface-alt) 92%, var(--color-on-surface));margin:clamp(1.75rem,3.5vw,3rem) 0 0;font-size:clamp(1.08rem,1.85vw,1.45rem);font-weight:400;line-height:1.75}.tech-marquee-section,.portfolio-showcase-section{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:clamp(2.5rem,8vh,5rem) clamp(1.25rem,4vw,3.5rem) clamp(2rem,6vh,4rem)}.tech-marquee-section.portfolio-snap-section,.portfolio-showcase-section.portfolio-snap-section{flex-direction:column;justify-content:center;display:flex}.tech-marquee-shell,.portfolio-showcase-shell{z-index:1;box-sizing:border-box;flex:1;align-items:stretch;gap:clamp(2rem,5vw,3.5rem);width:100%;max-width:min(112rem,100%);min-height:0;margin:0 auto;display:grid;position:relative}@media (min-width:960px){.tech-marquee-shell,.portfolio-showcase-shell{grid-template-columns:minmax(0,1.45fr) minmax(0,.88fr);gap:clamp(2rem,4vw,4rem);min-height:min(62vh,32rem)}.tech-marquee-shell{align-items:center}.tech-marquee-shell--flip{grid-template-columns:minmax(0,.88fr) minmax(0,1.45fr);align-items:center}.tech-marquee-shell--flip .tech-marquee-copy{align-items:flex-end}.tech-marquee-shell--flip .tech-marquee-header{text-align:right}.tech-marquee-shell--flip .tech-marquee-tags{justify-content:flex-end}.tech-marquee-visual--bleed-start{margin-left:calc(50% - 50vw);margin-right:0;padding-left:clamp(1.25rem,4vw,3.5rem);padding-right:0}.portfolio-showcase-shell{align-items:start}}.tech-marquee-copy,.portfolio-showcase-copy{flex-direction:column;gap:clamp(1.35rem,3vh,2rem);min-width:0;display:flex}.tech-marquee-copy{justify-content:center}.portfolio-showcase-copy{justify-content:flex-start;padding-top:clamp(.15rem,1vh,.5rem)}.tech-marquee-header,.portfolio-showcase-header{text-align:left;max-width:min(100%,42rem)}.tech-marquee-eyebrow,.portfolio-showcase-eyebrow{letter-spacing:.24em;text-transform:uppercase;color:color-mix(in oklch, var(--color-primary) 90%, var(--color-secondary));margin:0 0 .5rem;font-size:.75rem;font-weight:700}.tech-marquee-title,.portfolio-showcase-title{font-family:var(--font-display);font-size:var(--font-size-section);letter-spacing:-.025em;background:var(--portfolio-title-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-weight:700;line-height:1.05}.tech-marquee-subtitle,.portfolio-showcase-subtitle{color:var(--color-on-surface-alt);margin:clamp(1rem,2.2vw,1.35rem) 0 0;font-size:clamp(1.05rem,1.75vw,1.28rem);font-weight:400;line-height:1.6}.tech-marquee-tags,.portfolio-showcase-tags{flex-wrap:wrap;gap:.5rem .65rem;max-width:min(100%,40rem);margin:0;padding:0;list-style:none;display:flex}.tech-marquee-tag,.portfolio-showcase-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);background:color-mix(in oklch, var(--color-primary) 14%, var(--color-surface-alt));border:1px solid color-mix(in oklch, var(--color-primary) 42%, transparent);box-shadow:inset 0 1px 0 #ffffff1f, 0 0 24px -10px color-mix(in oklch, var(--color-primary) 50%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.45rem .95rem;font-size:.8125rem;font-weight:700;display:inline-block}@supports (color:lab(0% 0 0)){.tech-marquee-tag,.portfolio-showcase-tag{box-shadow:inset 0 1px 0 lab(100% 0 0/.12), 0 0 24px -10px color-mix(in oklch, var(--color-primary) 50%, transparent)}}.portfolio-contact-shell{z-index:1;box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(1.75rem,4vh,2.75rem);width:100%;max-width:min(36rem,100%);min-height:0;margin:0 auto;display:flex;position:relative}.portfolio-contact-header{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,2.5vh,1.5rem);width:100%;display:flex}.portfolio-contact-header .tech-marquee-header{text-align:center;max-width:100%;margin-inline:auto}.portfolio-contact-tags{justify-content:center;max-width:100%;margin-inline:auto}.portfolio-contact-social{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.75rem,2vw,1.25rem);display:flex}.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button{letter-spacing:.02em;height:auto;min-height:0;color:var(--color-on-surface);background-color:color-mix(in oklch, var(--color-on-surface) 8%, transparent);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 20%, transparent);transition:background-color var(--standard-time) var(--standard-ease), border-color var(--standard-time) var(--standard-ease), box-shadow var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);border-radius:999px;flex-shrink:0;padding:.4rem .9rem;font-size:.8125rem;font-weight:600;line-height:1.35;box-shadow:0 1px #ffffff0f;box-shadow:0 1px lab(100% 0 0/.06)}.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button:hover{color:var(--color-on-surface);background-color:color-mix(in oklch, var(--color-on-surface) 14%, transparent);border-color:color-mix(in oklch, var(--color-on-surface-alt) 30%, transparent);box-shadow:0 1px #ffffff14;box-shadow:0 1px lab(100% 0 0/.08)}.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button:hover:before,.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button:active:before{content:none}.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button{transition:none}.portfolio-contact-header .portfolio-contact-social button.portfolio-contact-resume-button:active{transform:none}}.portfolio-contact-form-wrap{width:100%;min-width:0}.portfolio-contact-stage.tech-marquee-stage{flex:0 auto;width:100%;min-height:0}.portfolio-contact-stage .tech-marquee-stage-kicker{text-align:center}.portfolio-contact-form{z-index:1;flex-direction:column;gap:1.5rem;width:100%;display:flex;position:relative}.portfolio-contact-form .portfolio-contact-submit{align-self:center;margin-top:.25rem}.portfolio-contact-textarea{width:100%;min-height:9rem;padding:var(--space-4);font-size:var(--font-size-md);font-family:var(--font-sans);line-height:var(--line-height-body);color:var(--color-on-surface);background-color:var(--color-container-high);border:1px solid var(--color-outline);border-radius:var(--radius-md);resize:vertical;box-sizing:border-box}.portfolio-contact-textarea:focus{outline:2px solid var(--color-focus-ring);outline-offset:2px}.portfolio-contact-textarea-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);color:var(--color-on-surface);text-align:left;display:block}.tech-marquee-visual,.portfolio-showcase-visual{align-items:stretch;min-width:0;min-height:clamp(14rem,32vh,22rem);display:flex}@media (min-width:960px){.tech-marquee-visual,.portfolio-showcase-visual{min-height:clamp(16rem,38vh,26rem)}.tech-marquee-visual:not(.tech-marquee-visual--bleed-start),.portfolio-showcase-visual{margin-right:calc(50% - 50vw);padding-right:clamp(1.25rem,4vw,3.5rem)}}.tech-marquee-stage,.portfolio-showcase-stage{border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 18%, transparent);background-color:var(--color-surface-alt);border-radius:1.25rem;flex-direction:column;flex:1;justify-content:center;gap:clamp(.75rem,2vh,1.25rem);padding:clamp(1.35rem,3.5vh,2.25rem) clamp(1rem,3vw,2rem);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 16px 32px -24px #0006;box-shadow:inset 0 1px lab(100% 0 0/.08),0 16px 32px -24px lab(0% 0 0/.4)}.portfolio-showcase-card-grid{z-index:1;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(1rem,2.5vw,1.75rem);width:100%;min-width:0;display:grid;position:relative}.tech-marquee-crawler-card{box-sizing:border-box;border-radius:var(--radius-lg);width:clamp(260px,72vw,360px);max-width:100%;transition:box-shadow var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);flex-shrink:0}.tech-marquee-crawler-card:hover{box-shadow:0 0 0 1px color-mix(in oklch, var(--color-primary) 42%, transparent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.tech-marquee-crawler-card:hover{transform:none}}.tech-marquee-crawler-card>*{width:100%}.tech-marquee-single-slot{z-index:1;justify-content:center;width:100%;min-width:0;display:flex;position:relative}.tech-marquee-single-slot-inner{width:100%;max-width:min(100%,380px)}.portfolio-showcase-empty{z-index:1;text-align:center;color:color-mix(in oklch, var(--color-on-surface-alt) 92%, transparent);border:1px dashed color-mix(in oklch, var(--color-on-surface-alt) 28%, transparent);background:color-mix(in oklch, var(--color-on-surface) 4%, transparent);border-radius:.75rem;margin:0;padding:clamp(2rem,5vh,3rem) clamp(1rem,3vw,1.5rem);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.55;position:relative}.tech-marquee-stage-kicker{text-align:right}.tech-marquee-stage-kicker,.portfolio-showcase-stage-kicker{z-index:1;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklch, var(--color-on-surface-alt) 92%, transparent);margin:0;font-size:.6875rem;font-weight:700;position:relative}.tech-marquee-track{z-index:1;flex-direction:column;flex:auto;min-width:0;min-height:0;margin:0 calc(-1*clamp(.5rem,2vw,1rem));display:flex;position:relative}.tech-marquee-item{flex-shrink:0;justify-content:center;align-items:stretch;padding:.25rem .15rem;display:flex}.tech-marquee-item-inner{flex-direction:column;align-items:center;gap:.45rem;min-width:4.5rem;display:flex}.tech-marquee-item img{object-fit:contain;width:clamp(52px,9vw,80px);height:clamp(52px,9vw,80px);filter:drop-shadow(0 2px 6px color-mix(in oklch, var(--color-on-surface) 22%, transparent));display:block}.tech-marquee-name{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in oklch, var(--color-on-surface-alt) 88%, transparent);text-align:center;max-width:6.5rem;font-size:clamp(.65rem,1.35vw,.75rem);font-weight:600;line-height:1.2}@media (max-width:959px){.tech-marquee-shell,.portfolio-showcase-shell{min-height:0}.tech-marquee-header,.portfolio-showcase-header,.tech-marquee-subtitle,.portfolio-showcase-subtitle,.tech-marquee-tags,.portfolio-showcase-tags{max-width:none}.tech-marquee-visual,.portfolio-showcase-visual{min-height:0}.tech-marquee-shell--flip .tech-marquee-copy{order:-1;align-items:flex-start}.tech-marquee-shell--flip .tech-marquee-header{text-align:left}.tech-marquee-shell--flip .tech-marquee-tags{justify-content:flex-start}.tech-marquee-visual--bleed-start{margin-left:0;padding-left:0}}@media (max-width:768px){.about-hero-section{padding:clamp(2.5rem,8vh,4rem) clamp(1rem,4vw,1.5rem) clamp(3rem,10vh,5rem)}.about-hero-text{max-width:none;padding-left:0;padding-right:0}.about-hero-body{max-width:none}}html:not(.dark) .tech-marquee-stage,html:not(.dark) .portfolio-showcase-stage{background-color:var(--color-surface);border-color:color-mix(in oklch, var(--color-on-surface-alt) 14%, transparent);box-shadow:inset 0 1px #ffffffb3,0 12px 28px -20px #00000014;box-shadow:inset 0 1px lab(100% 0 0/.7),0 12px 28px -20px lab(0% 0 0/.08)}
﻿ .lab-page{box-sizing:border-box;width:100%;max-width:min(1120px,100%);margin:0 auto;padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,2.5rem) clamp(3rem,9vh,5rem)}.lab-page-back{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:.02em;transition:color var(--standard-time) var(--standard-ease), opacity var(--standard-time) var(--standard-ease);align-items:center;gap:.35rem;margin-bottom:clamp(1.25rem,2.5vh,2rem);text-decoration:none;display:inline-flex}.lab-page-back:hover{color:color-mix(in oklch, var(--color-primary) 82%, var(--color-on-surface))}.lab-page-back:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.lab-page-header{max-width:min(40rem,100%);margin-bottom:clamp(1.75rem,4vh,2.5rem)}.lab-page-title{font-family:var(--font-display);letter-spacing:-.025em;background:var(--portfolio-title-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.25rem,6vw,4.25rem);font-weight:700;line-height:1.05}.lab-page-lead{margin-top:clamp(.75rem,1.5vw,1.1rem)}.lab-page-body{flex-direction:column;gap:clamp(1.5rem,3vh,2.25rem);display:flex}.lab-split{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,2rem);display:grid}@media (max-width:960px){.lab-split{grid-template-columns:1fr}}.lab-preset-row{flex-wrap:wrap;gap:.5rem .75rem;display:flex}.lab-code-block{padding:var(--space-4) var(--space-5);font-size:var(--font-size-sm);color:var(--color-on-surface-alt);white-space:pre;border-radius:0 0 var(--radius-md) var(--radius-md);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.55;overflow-x:auto}.lab-code-shell{border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 20%, transparent);background:color-mix(in oklch, var(--color-surface-alt) 50%, transparent);overflow:hidden}.lab-code-shell h2,.lab-code-shell h3{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-alt);border-bottom:1px solid color-mix(in oklch, var(--color-on-surface-alt) 14%, transparent);margin:0}.lab-palette-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(1rem,2vw,1.5rem);width:100%;display:grid}.lab-control-row{gap:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.lab-color-swatch{border:2px solid color-mix(in oklch, var(--color-on-surface-alt) 22%, transparent);border-radius:var(--radius-lg);cursor:pointer;width:3.75rem;height:3.75rem;box-shadow:var(--elevation-1);background-color:#0000;flex-shrink:0;padding:0}.lab-color-swatch:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.lab-loading{padding:var(--space-8);text-align:center;font-size:var(--font-size-md);color:var(--color-on-surface-alt)}.lab-error-banner{padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background-color:color-mix(in oklch, var(--color-error) 16%, var(--color-surface));color:var(--color-on-surface);border:1px solid color-mix(in oklch, var(--color-error) 32%, transparent)}.lab-refract-preview-outer{border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 18%, transparent);background-image:url(/assets/f8.png);background-position:50%;background-size:cover;min-height:22rem;overflow:hidden}.lab-refract-preview-inner{min-height:22rem;padding:var(--space-6);justify-content:center;align-items:center;display:flex}.lab-ttt-wrap{align-items:center;gap:var(--space-5);text-align:center;flex-direction:column;max-width:28rem;margin:0 auto;display:flex}.lab-ttt-status{font-size:var(--font-size-md);color:var(--color-on-surface-alt);line-height:1.5}.lab-ttt-status strong{color:var(--color-on-surface);font-weight:var(--font-weight-semibold)}.lab-ttt-meta{font-size:var(--font-size-sm);color:color-mix(in oklch, var(--color-on-surface-alt) 88%, transparent)}.lab-ttt-grid{gap:var(--space-3);aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;max-width:20rem;display:grid}.lab-ttt-cell{border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 22%, transparent);background:color-mix(in oklch, var(--color-container-high) 75%, transparent);font-size:clamp(2.5rem,11vw,3.25rem);font-weight:var(--font-weight-bold);color:var(--color-on-surface);cursor:pointer;transition:background-color var(--standard-time) var(--standard-ease), border-color var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);-webkit-user-select:none;user-select:none;min-width:0;min-height:0;line-height:1;font-family:var(--font-sans);justify-content:center;align-items:center;display:flex}.lab-ttt-cell:hover:not(:disabled){border-color:color-mix(in oklch, var(--color-primary) 45%, transparent);background:color-mix(in oklch, var(--color-primary) 10%, var(--color-container-high))}.lab-ttt-cell:active:not(:disabled){transform:scale(.97)}.lab-ttt-cell:disabled{cursor:default;opacity:.92}.lab-workflow-canvas-wrap{width:100%;min-height:min(560px,70vh)}
.reference-section .reference-stage{min-height:min(20rem,38vh)}.case-study-page{background-color:var(--color-bg);box-sizing:border-box;width:100%;min-height:100dvh;position:relative;overflow:hidden}.case-study-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 120% 70% at 12% -8%, color-mix(in oklch, var(--color-primary) 22%, transparent), transparent 58%), radial-gradient(ellipse 90% 55% at 92% 18%, color-mix(in oklch, var(--color-secondary) 14%, transparent), transparent 52%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 78%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12% 78%,#0000 100%)}.case-study-page-inner{z-index:1;box-sizing:border-box;width:100%;max-width:min(72rem,100%);margin:0 auto;padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,2.5rem) clamp(4rem,10vh,6rem);position:relative}.case-study-back{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);letter-spacing:.02em;transition:color var(--standard-time) var(--standard-ease), opacity var(--standard-time) var(--standard-ease);align-items:center;gap:.35rem;margin-bottom:clamp(1.25rem,2.5vh,2rem);text-decoration:none;display:inline-flex}.case-study-back:hover{color:color-mix(in oklch, var(--color-primary) 82%, var(--color-on-surface))}.case-study-back:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.case-study-hero{border-bottom:1px solid color-mix(in oklch, var(--color-on-surface-alt) 18%, transparent);max-width:min(48rem,100%);margin-bottom:clamp(2rem,4.5vh,3rem);padding-bottom:clamp(1.75rem,3.5vh,2.5rem)}.case-study-eyebrow{letter-spacing:.24em;text-transform:uppercase;color:color-mix(in oklch, var(--color-primary) 90%, var(--color-secondary));margin:0 0 .65rem;font-size:.75rem;font-weight:700}.case-study-title{font-family:var(--font-display);letter-spacing:-.025em;background:var(--portfolio-title-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2rem,5.2vw,3.35rem);font-weight:700;line-height:1.08}.case-study-lead{color:var(--color-on-surface-alt);margin:clamp(.85rem,1.8vw,1.25rem) 0 0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:500;line-height:1.45}.case-study-article{flex-direction:column;gap:clamp(2.5rem,5vh,3.75rem);display:flex}.case-study-intro{gap:var(--space-4);flex-direction:column;max-width:min(48rem,100%);display:flex}.case-study-section{border-top:1px solid color-mix(in oklch, var(--color-on-surface-alt) 14%, transparent);flex-direction:column;gap:clamp(1rem,2vh,1.35rem);padding-top:clamp(2rem,4vh,2.75rem);display:flex}.case-study-section:first-of-type{border-top:none;padding-top:0}.case-study-section-title{font-family:var(--font-display);font-size:clamp(1.4rem,2.8vw,1.85rem);font-weight:var(--font-weight-bold);letter-spacing:-.02em;color:var(--color-on-surface);flex-direction:column;gap:.5rem;margin:0;display:flex}.case-study-section-title:before{content:"";border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--color-primary), color-mix(in oklch, var(--color-primary) 40%, transparent));width:2.5rem;height:3px}.case-study-section-content{gap:var(--space-4);max-width:min(42rem,100%);font-size:var(--font-size-md);color:var(--color-on-surface-alt);flex-direction:column;line-height:1.65;display:flex}.case-study-section-content>:not(.case-study-figure):not(.case-study-showcase):not(.case-study-highlights){max-width:min(42rem,100%)}.case-study-section-content p{margin:0}.case-study-section-content ul:not(.case-study-highlights){flex-direction:column;gap:.55rem;margin:0;padding-left:1.35rem;display:flex}.case-study-section-content li::marker{color:color-mix(in oklch, var(--color-primary) 65%, var(--color-on-surface-alt))}.case-study-section-content a{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-underline-offset:.15em;transition:color var(--standard-time) var(--standard-ease);text-decoration:underline}.case-study-section-content a:hover{color:color-mix(in oklch, var(--color-primary) 78%, var(--color-on-surface))}.case-study-section-content strong{color:var(--color-on-surface);font-weight:var(--font-weight-semibold)}.case-study-section-content code{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--color-surface-alt) 80%, var(--color-primary) 8%);color:var(--color-on-surface);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 16%, transparent);padding:.12em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em}.case-study-callout{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-primary) 32%, transparent);background:color-mix(in oklch, var(--color-primary) 10%, var(--color-surface));box-shadow:var(--elevation-1)}.case-study-callout-label{margin:0 0 var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.case-study-callout-body{font-size:var(--font-size-sm);color:var(--color-on-surface);line-height:1.6}.case-study-callout-body p{margin:0}.case-study-meta-bar{gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.case-study-meta-bar a{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);border-radius:var(--radius-pill);border:1px solid color-mix(in oklch, var(--color-primary) 35%, transparent);background:color-mix(in oklch, var(--color-primary) 8%, transparent);transition:background-color var(--standard-time) var(--standard-ease), border-color var(--standard-time) var(--standard-ease);align-items:center;padding:.45rem .85rem;text-decoration:none;display:inline-flex}.case-study-meta-bar a:hover{background:color-mix(in oklch, var(--color-primary) 16%, transparent);border-color:color-mix(in oklch, var(--color-primary) 55%, transparent)}.case-study-bleed{width:100%;max-width:min(56rem,100%);margin-inline:auto}.case-study-figure{margin:var(--space-2) 0 0;border:none;padding:0}.case-study-image-trigger{cursor:zoom-in;width:100%;text-align:inherit;background:0 0;border:none;margin:0;padding:0;display:block;position:relative}.case-study-image-trigger:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-lg)}.case-study-image-shell{border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 18%, transparent);background:color-mix(in oklch, var(--color-surface-alt) 45%, var(--color-bg));box-shadow:var(--elevation-2);transition:border-color var(--standard-time) var(--standard-ease), box-shadow var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);display:block;overflow:hidden}.case-study-image-trigger:hover .case-study-image-shell,.case-study-image-trigger:focus-visible .case-study-image-shell{border-color:color-mix(in oklch, var(--color-primary) 42%, transparent);box-shadow:var(--elevation-3);transform:translateY(-1px)}.case-study-image-shell img{width:100%;height:auto;display:block}.case-study-image-expand{right:var(--space-3);bottom:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface);border-radius:var(--radius-pill);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 22%, transparent);background:color-mix(in oklch, var(--color-surface) 88%, transparent);opacity:0;transition:opacity var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);pointer-events:none;padding:.3rem .65rem;position:absolute;transform:translateY(.25rem)}.case-study-image-trigger:hover .case-study-image-expand,.case-study-image-trigger:focus-visible .case-study-image-expand{opacity:1;transform:translateY(0)}.case-study-image-caption{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);text-align:center;color:var(--color-on-surface-alt);line-height:1.45}.case-study-lightbox{z-index:var(--z-overlay,9998);box-sizing:border-box;justify-content:center;align-items:center;padding:clamp(1rem,4vw,2.5rem);display:flex;position:fixed;inset:0}.case-study-lightbox-backdrop{background:color-mix(in oklch, var(--color-bg) 18%, black 82%);cursor:zoom-out;border:none;margin:0;padding:0;position:absolute;inset:0}.case-study-lightbox-panel{z-index:1;align-items:center;gap:var(--space-3);flex-direction:column;width:min(100%,72rem);max-height:100%;display:flex;position:relative}.case-study-lightbox-close{top:var(--space-3);right:var(--space-3);z-index:2;border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 28%, transparent);border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-surface) 92%, transparent);width:2.5rem;height:2.5rem;color:var(--color-on-surface);cursor:pointer;transition:background-color var(--standard-time) var(--standard-ease), border-color var(--standard-time) var(--standard-ease);justify-content:center;align-items:center;margin:0;padding:0;font-size:1.5rem;line-height:1;display:inline-flex;position:absolute}.case-study-lightbox-close:hover{background:var(--color-surface);border-color:color-mix(in oklch, var(--color-primary) 45%, transparent)}.case-study-lightbox-close:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.case-study-lightbox-image{object-fit:contain;border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 22%, transparent);background:var(--color-surface);width:100%;height:auto;max-height:min(78vh,52rem);box-shadow:var(--elevation-3);display:block}.case-study-lightbox-caption{max-width:min(42rem,100%);font-size:var(--font-size-sm);text-align:center;color:color-mix(in oklch, var(--color-on-surface) 88%, white);margin:0;line-height:1.45}.case-study-code-shell{border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 22%, transparent);background:color-mix(in oklch, var(--color-surface-alt) 72%, var(--color-bg));box-shadow:var(--elevation-1);overflow:hidden}.case-study-code-caption{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;color:var(--color-on-surface-alt);border-bottom:1px solid color-mix(in oklch, var(--color-on-surface-alt) 14%, transparent);background:color-mix(in oklch, var(--color-surface) 55%, transparent);margin:0;line-height:1.4}.case-study-code-block{padding:var(--space-4) var(--space-5);color:color-mix(in oklch, var(--color-on-surface) 88%, var(--color-on-surface-alt));white-space:pre;tab-size:2;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(.72rem,1.5vw,.8125rem);line-height:1.55;overflow-x:auto}.case-study-diagram .case-study-code-block{color:color-mix(in oklch, var(--color-on-surface-alt) 95%, var(--color-primary))}.case-study-highlights{gap:var(--space-3);margin:var(--space-2) 0 0;grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr));padding:0;list-style:none;display:grid;max-width:min(56rem,100%)!important}.case-study-highlights li{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 16%, transparent);background:color-mix(in oklch, var(--color-surface-alt) 50%, var(--color-surface));font-size:var(--font-size-sm);color:var(--color-on-surface);box-shadow:var(--elevation-1);line-height:1.5}.case-study-showcase{gap:var(--space-4);width:100%;margin-top:var(--space-2);border-radius:var(--radius-lg);border:1px solid color-mix(in oklch, var(--color-on-surface-alt) 18%, transparent);background:color-mix(in oklch, var(--color-surface-alt) 45%, var(--color-bg));box-shadow:var(--elevation-2);flex-direction:column;padding:clamp(1.25rem,3vw,1.75rem);display:flex;max-width:min(56rem,100%)!important}.case-study-showcase .tech-marquee-stage-kicker{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-on-surface-alt);margin:0}.case-study-showcase-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,12.5rem),1fr));align-items:stretch;display:grid}.case-study-showcase-cell{justify-content:center;align-items:center;gap:var(--space-3);min-height:8.5rem;padding:var(--space-4);flex-direction:column;display:flex}.case-study-showcase-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-on-surface-alt);margin:0}.case-study-impact-quote{margin:var(--space-2) 0 0;border-left:4px solid var(--color-primary);border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:color-mix(in oklch, var(--color-primary) 8%, var(--color-surface));font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-on-surface);box-shadow:var(--elevation-1);padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,1.5rem);font-size:clamp(1.1rem,2.2vw,1.35rem);font-weight:500;line-height:1.5}.case-study-reflection{font-size:var(--font-size-lg);color:var(--color-on-surface);font-style:italic;line-height:1.55}.case-study-footer-nav{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid color-mix(in oklch, var(--color-on-surface-alt) 12%, transparent)}.case-study-footer-nav a{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.case-study-footer-nav a:hover{text-decoration:underline}@media (min-width:960px){.case-study-page-inner{padding-inline:clamp(2rem,5vw,3.5rem)}.case-study-section-content{font-size:clamp(1rem,1.1vw,1.0625rem)}}@media (max-width:640px){.case-study-showcase-grid,.case-study-highlights{grid-template-columns:1fr}}
.portfolio-site-header a[href=\/]{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-on-surface);font-size:1rem;font-weight:600}.portfolio-site-header a[href=\/]:hover{color:var(--color-primary)}html.dark .portfolio-site-header{background-color:color-mix(in oklch, var(--color-surface) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.15);border-bottom-color:color-mix(in oklch, var(--color-primary) 22%, var(--color-border));box-shadow:0 1px 0 #ffffff14, 0 16px 40px -24px color-mix(in oklch, var(--color-primary) 35%, transparent), 0 12px 32px -20px #000000b3}@supports (color:lab(0% 0 0)){html.dark .portfolio-site-header{box-shadow:0 1px 0 lab(100% 0 0/.08), 0 16px 40px -24px color-mix(in oklch, var(--color-primary) 35%, transparent), 0 12px 32px -20px lab(0% 0 0/.7)}}html:not(.dark) .portfolio-site-header{background-color:color-mix(in oklch, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom-color:color-mix(in oklch, var(--color-primary) 12%, var(--color-border))}html.dark main a[aria-label="Go to contact section"]{box-shadow:0 0 0 1px color-mix(in oklch, var(--color-primary) 45%, transparent), 0 14px 32px -8px color-mix(in oklch, var(--color-primary) 55%, transparent), 0 8px 20px -6px color-mix(in oklch, var(--color-secondary) 25%, transparent)}
.navigation-module__IeFw5q__navigation{flex:1;min-width:0;display:flex}.navigation-module__IeFw5q__navList{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.navigation-module__IeFw5q__navItem{margin:0;padding:0}.navigation-module__IeFw5q__navLink{padding:var(--space-1) var(--space-3);color:var(--color-on-surface);cursor:pointer;font-size:var(--font-size-md);white-space:nowrap;border-radius:var(--radius-md);transition:color var(--standard-time) var(--standard-ease);background:0 0;border:none;font-weight:500;text-decoration:none;position:relative}.navigation-module__IeFw5q__navLink:after{content:"";bottom:0;left:var(--space-3);right:var(--space-3);background-color:var(--color-primary);transform-origin:50%;height:2px;transition:transform var(--standard-time) var(--standard-ease);position:absolute;transform:scaleX(0)}.navigation-module__IeFw5q__navLink:hover{color:var(--color-on-surface)}.navigation-module__IeFw5q__navLink:hover:after{transform:scaleX(1)}.navigation-module__IeFw5q__navLink:active{opacity:.8}.navigation-module__IeFw5q__navLink:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}
.header-module__mwQBDG__header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);width:100%;z-index:var(--z-header);box-shadow:var(--elevation-1);flex-shrink:0;position:sticky;top:0}.header-module__mwQBDG__container{padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);box-sizing:border-box;max-width:100%;min-height:48px;display:flex}.header-module__mwQBDG__title{font-size:var(--font-size-lg);color:var(--color-on-surface);letter-spacing:-.02em;cursor:pointer;border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);margin:0;margin:calc(var(--space-1) * -1) calc(var(--space-2) * -1);transition:color var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);flex-shrink:0;font-weight:700;line-height:1.2;text-decoration:none;display:inline-block}.header-module__mwQBDG__title:hover{color:var(--color-primary);transform:translateY(-1px)}.header-module__mwQBDG__title:active{transform:translateY(0)}.header-module__mwQBDG__title:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.header-module__mwQBDG__mobileMenuButton{cursor:pointer;color:var(--color-on-surface);padding:var(--space-1);font-size:var(--font-size-lg);border-radius:var(--radius-md);transition:background-color var(--standard-time) var(--standard-ease), color var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;line-height:1;display:none}.header-module__mwQBDG__mobileMenuButton:hover{background-color:var(--color-surface-hover);transform:scale(1.05)}.header-module__mwQBDG__mobileMenuButton:active{background-color:var(--color-surface-pressed);transform:scale(.95)}.header-module__mwQBDG__mobileMenuButton:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.header-module__mwQBDG__desktopNav{display:flex}.header-module__mwQBDG__actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.header-module__mwQBDG__mobileMenu{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-lg);z-index:var(--z-header-menu);animation:header-module__mwQBDG__slideDown var(--motion-enter-duration) var(--standard-ease);border-radius:0 0 var(--radius-lg) var(--radius-lg);-webkit-backdrop-filter:blur(10px);display:none;position:absolute;top:100%;left:0;overflow:hidden}.header-module__mwQBDG__backdrop{z-index:var(--z-header-backdrop);animation:header-module__mwQBDG__fadeIn var(--standard-time) var(--standard-ease);background-color:#0000004d;display:none;position:fixed;inset:0}.header-module__mwQBDG__mobileNav{width:100%}.header-module__mwQBDG__mobileNavList{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.header-module__mwQBDG__mobileNavItem{border-bottom:1px solid var(--color-border);margin:0;padding:0}.header-module__mwQBDG__mobileNavItem:last-child{border-bottom:none}.header-module__mwQBDG__mobileNavLink{width:100%;padding:var(--space-3) var(--space-4);color:var(--color-on-surface);cursor:pointer;font-size:var(--font-size-md);text-align:left;transition:background-color var(--standard-time) var(--standard-ease), color var(--standard-time) var(--standard-ease), padding-left var(--standard-time) var(--standard-ease);background:0 0;border:none;font-weight:500;text-decoration:none;display:block;position:relative}.header-module__mwQBDG__mobileNavLink:before{content:"";background-color:var(--color-primary);width:3px;transition:transform var(--standard-time) var(--standard-ease);position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.header-module__mwQBDG__mobileNavLink:hover{background-color:var(--color-surface-hover);padding-left:var(--space-5)}.header-module__mwQBDG__mobileNavLink:hover:before{transform:scaleY(1)}.header-module__mwQBDG__mobileNavLink:active{background-color:var(--color-surface-pressed)}.header-module__mwQBDG__mobileNavLink:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}.header-module__mwQBDG__mobileActions{border-top:1px solid var(--color-border);flex-direction:column;width:100%;display:flex}.header-module__mwQBDG__mobileActionItem{border-bottom:1px solid var(--color-border);align-items:center;width:100%;display:flex}.header-module__mwQBDG__mobileActionItem:last-child{border-bottom:none}.header-module__mwQBDG__mobileActionItem>*{width:100%;padding:var(--space-3) var(--space-4);text-align:left;justify-content:flex-start}@keyframes header-module__mwQBDG__slideDown{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes header-module__mwQBDG__fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.header-module__mwQBDG__mobileMenu,.header-module__mwQBDG__backdrop{animation:none}.header-module__mwQBDG__title:hover,.header-module__mwQBDG__mobileMenuButton:hover,.header-module__mwQBDG__mobileMenuButton:active{transform:none}}@media (max-width:768px){.header-module__mwQBDG__container{padding:var(--space-2) var(--space-2);gap:var(--space-2)}.header-module__mwQBDG__title{display:none}.header-module__mwQBDG__mobileMenuButton{display:flex}.header-module__mwQBDG__desktopNav{display:none}.header-module__mwQBDG__mobileMenu,.header-module__mwQBDG__backdrop{display:block}.header-module__mwQBDG__actions{display:none}}
.floating-action-link-module__6iv2xa__root{z-index:105;bottom:max(clamp(1rem, 4vw, 1.75rem), env(safe-area-inset-bottom,0px));right:max(clamp(1rem, 4vw, 1.75rem), env(safe-area-inset-right,0px));justify-content:center;align-items:center;gap:var(--space-2);min-height:3.25rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background-color:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--elevation-2);border:1px solid color-mix(in oklch, var(--color-on-primary) 18%, transparent);cursor:pointer;box-sizing:border-box;transition:background-color var(--standard-time) var(--standard-ease), color var(--standard-time) var(--standard-ease), box-shadow var(--standard-time) var(--standard-ease), transform var(--standard-time) var(--standard-ease);line-height:1.2;text-decoration:none;display:inline-flex;position:fixed}@media (prefers-reduced-motion:reduce){.floating-action-link-module__6iv2xa__root{transition:none}}.floating-action-link-module__6iv2xa__root:hover{filter:brightness(1.06);box-shadow:var(--elevation-3)}.floating-action-link-module__6iv2xa__root:active{transform:scale(.98)}.floating-action-link-module__6iv2xa__root:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.floating-action-link-module__6iv2xa__icon{flex-shrink:0;font-size:1.125rem}.floating-action-link-module__6iv2xa__label{white-space:nowrap}.floating-action-link-module__6iv2xa__iconOnly{border-radius:50%;width:3.5rem;height:3.5rem;min-height:0;padding:0}.floating-action-link-module__6iv2xa__iconOnly .floating-action-link-module__6iv2xa__icon{margin:0;font-size:1.25rem}
