.refresh-home .section-space{padding-block:var(--section-space)}.refresh-home .personal-hero{background:var(--hero-base)}.refresh-home .eyebrow{font-size:.875rem!important}.refresh-home .hero-backdrop-base{background:radial-gradient(ellipse 80% 100% at 0% 110%, var(--hero-warm), transparent 85%), radial-gradient(ellipse 65% 100% at 100% 5%, var(--hero-cool), transparent 85%)}.refresh-home .hero-backdrop-reveal{background:radial-gradient(circle 350px at var(--hero-pointer-x,50%) var(--hero-pointer-y,50%), var(--hero-cool), transparent 100%)}.refresh-home .personal-hero h1{letter-spacing:-.055em;font-size:clamp(3.5rem,5.4vw,6.25rem);line-height:1.04}.refresh-home .personal-hero h1 span{color:inherit}.refresh-home .personal-hero h1 .hero-headline-line{display:block}.refresh-home .personal-hero h1 .hero-headline-accent{color:var(--blue)}.refresh-home .hero-tech-stack{align-items:center;gap:12px;width:max-content;max-width:100%;margin:20px 0 0;padding:0;list-style:none;display:flex}.hero-tech-item{position:relative}.hero-tech-trigger{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;padding:10px;transition:color .15s,background-color .15s,border-color .15s;display:grid}.hero-tech-trigger:is(:hover,:focus-visible),.hero-tech-item.is-open .hero-tech-trigger{border-color:var(--border);background:var(--surface);color:var(--text)}.hero-tech-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.hero-tech-icon{width:24px;height:24px;display:block}.hero-tech-icon--brand{background:currentColor;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-tech-tooltip{z-index:5;border:1px solid var(--border);background:var(--page);width:218px;color:var(--text-secondary);text-align:left;visibility:hidden;opacity:0;pointer-events:none;border-radius:8px;gap:4px;padding:12px 14px;font-size:.8125rem;line-height:1.5;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;bottom:calc(100% + 12px);left:0;transform:translateY(4px);box-shadow:0 8px 28px #0000001f}.hero-tech-tooltip:after{content:"";height:13px;position:absolute;inset:100% 0 auto}.hero-tech-tooltip strong{color:var(--text);font-weight:600}.hero-tech-item:nth-child(3) .hero-tech-tooltip{left:50%;translate:-50%}.hero-tech-item:nth-child(n+4) .hero-tech-tooltip{left:auto;right:0}.hero-tech-item.is-open .hero-tech-tooltip{visibility:visible;opacity:1;pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.hero-tech-trigger,.hero-tech-tooltip{transition:none}}@media (forced-colors:active){.hero-tech-icon--brand{forced-color-adjust:none;background:buttontext}.hero-tech-tooltip{color:canvastext;background:canvas}}.refresh-home .personal-hero-description{max-width:49ch;margin-top:26px;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.7}.refresh-home .personal-hero .action-row{gap:16px 28px;margin-top:28px}.refresh-home .personal-hero .intro-availability{max-width:54ch;font-size:1rem;line-height:1.65}.refresh-home :is(.care-technology,.home-background){background:var(--page)}.refresh-home .editorial-section-intro{margin-bottom:var(--content-gap)}.refresh-home .editorial-section-intro>p:last-child{max-width:56ch;font-size:1rem;line-height:1.7}.refresh-home .care-proof-block{margin-top:0}.refresh-home .care-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.refresh-home .care-proof-card{padding:var(--card-padding);border-color:var(--border);background:var(--surface);grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(0,1fr) 27px;gap:20px 16px}.refresh-home .care-proof-card .engagement-label{letter-spacing:0;grid-column:1;min-height:3.1em;margin:0;font-size:.875rem;line-height:1.55}.refresh-home .care-proof-card>svg{grid-area:1/2;align-self:start}.refresh-home .care-proof-card .care-proof-value{text-wrap:initial;grid-column:1/-1;min-height:0;margin:0;padding:0;font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.15}.refresh-home .care-proof-detail{grid-area:auto/1/auto/-1;align-self:start}.refresh-home .care-proof-card :is(.care-proof-caption,.care-proof-description){font-size:1rem;line-height:1.7}.refresh-home .care-proof-card .care-proof-caption{color:var(--text);margin-bottom:16px}.refresh-home .care-proof-link{grid-column:1/-1;place-self:end start;margin-top:4px}.refresh-home .care-proof-block .care-proof-support{font-size:.875rem}.refresh-home .care-policy-project{margin-top:clamp(48px,5vw,72px)}.refresh-home .work-policy{gap:48px}.refresh-home .work-policy .policy-visual.has-screenshot{background:var(--surface);border:1px solid var(--border);align-self:center}.refresh-home .policy-visual:focus-visible{outline-color:var(--focus-ring);outline-offset:5px}.refresh-home .work-policy .policy-visual.has-screenshot :is(.policy-preview-label,.policy-preview-caption){font-size:.875rem;line-height:1.6}.refresh-home .work-card .work-card-copy>p:not(.work-evidence){max-width:56ch;font-size:1rem;line-height:1.7}.refresh-home :is(.work-meta,.project-status,.work-evidence,.work-evidence span){font-size:.875rem;line-height:1.6}.refresh-home .work-meta{gap:8px 20px}.refresh-home .open-source-label{font-size:.875rem!important}.refresh-home .work-evidence{row-gap:8px}.refresh-home .tech-line :is(span,li){background:var(--surface);color:var(--text-secondary);padding:6px 9px}.refresh-home .care-tools{margin-top:32px}.refresh-home .care-consultancy-banner p{font-size:1rem;line-height:1.7}.refresh-home .care-consultancy-banner .action{border-color:var(--control-border)}.refresh-home .work-section{background:var(--section-alternate);border:0}:root[data-theme=light] .refresh-home .work-section{background:var(--page)}.refresh-home .selected-work-supporting{gap:40px 24px}.refresh-home .selected-work-supporting .work-music{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}.refresh-home .selected-work-supporting .work-music-visual img{object-fit:contain;width:100%;max-width:none;height:auto;box-shadow:none;transform:none}.refresh-home .selected-work-supporting :is(.work-studio,.work-capture,.work-openrouter){background:var(--surface-alternate);border:1px solid var(--border);border-radius:var(--media-radius)}.refresh-home .selected-work-supporting :is(.work-studio,.work-capture,.work-openrouter) .work-card-copy{padding:var(--card-padding)}.refresh-home .selected-work-supporting :is(.studio-visual,.capture-visual){height:260px}.refresh-home .selected-work-supporting .studio-visual img{object-fit:contain;height:100%}.refresh-home .selected-work-supporting .capture-device{width:200px}.refresh-home .selected-work-supporting .work-business{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;grid-column:1/-1}.refresh-home .work-business .work-card-copy{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px 48px;padding:32px 0 0;display:grid}.refresh-home .work-business .work-meta{grid-column:1/-1;margin-bottom:0}.refresh-home .work-business h3{grid-row:2/span 2;max-width:20ch;margin:0;font-size:clamp(1.65rem,2.4vw,2.5rem);line-height:1.15}.refresh-home .work-business .work-card-copy>p,.refresh-home .work-business .work-links{grid-column:2;margin:0}.refresh-home .home-background-copy>p{font-size:1rem;line-height:1.7}.refresh-home .founder-evidence span{max-width:32ch;font-size:1rem;line-height:1.6}.refresh-home .founder-evidence>div{align-content:start}.refresh-home .past-work p{font-size:.875rem}.refresh-home .portfolio-connect{background:radial-gradient(ellipse at 0% 100%, var(--hero-warm), transparent 75%), var(--contact-base);border:0}.refresh-home :is(.quiet-link,.small-external,.action){font-size:1rem}.refresh-home .portfolio-connect p:not(.eyebrow){font-size:1rem;line-height:1.7}.home-services{background:var(--page)}.home-approach{background:var(--section-alternate)}.home-service-list,.home-working-steps{gap:32px;display:grid}.home-service-list{grid-template-columns:repeat(3,minmax(0,1fr))}.home-service{border-top:1px solid var(--border);grid-template-rows:auto 1fr auto;align-items:start;gap:20px;padding-top:28px;display:grid}.home-service h3{max-width:21ch;font-size:clamp(1.5rem,2.1vw,2rem);font-weight:600;line-height:1.2}.home-service p,.home-working-steps p,.home-service-support{color:var(--text-secondary);font-size:1rem;line-height:1.7}.home-service .quiet-link{justify-self:start}.home-service-support{max-width:78ch;margin-top:36px}.home-working-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}.home-working-steps li{border-top:1px solid var(--border);padding-top:24px}.working-step-number{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;font-size:.875rem}.home-working-steps h3{margin-block:20px 12px;font-size:1.3rem;font-weight:600;line-height:1.3}@media (max-width:1100px){.home-working-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.home-service-list{grid-template-columns:minmax(0,1fr)}.home-service h3{max-width:none}}@media (max-width:767px){.home-working-steps{grid-template-columns:minmax(0,1fr)}}@media (min-width:1101px) and (max-height:800px){.refresh-home .personal-hero h1{font-size:clamp(3.5rem,5.1vw,5.25rem)}}@media (min-width:768px) and (max-width:1100px){.refresh-home .personal-hero h1{font-size:clamp(3rem,5.2vw,3.75rem)}.refresh-home .selected-work-supporting{grid-template-columns:repeat(2,minmax(0,1fr))}.refresh-home .selected-work-supporting .work-sashiko{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.refresh-home .work-sashiko .sashiko-visual{align-self:center;margin:0;padding:24px}.refresh-home .work-sashiko .work-card-bottom{grid-column:1/-1}.refresh-home .care-proof-grid{grid-template-columns:minmax(0,1fr)}.refresh-home .care-proof-card{grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,.9fr) 27px minmax(0,1.4fr);gap:16px 24px}.refresh-home .care-proof-card .engagement-label{min-height:0}.refresh-home .care-proof-card .care-proof-value{grid-column:1/3}.refresh-home .care-proof-detail{grid-area:1/3/span 3}.refresh-home .care-proof-link{grid-column:1/3}.refresh-home .work-policy,.refresh-home .selected-work-supporting .work-music{gap:32px}}@media (max-width:767px){.refresh-home .personal-hero h1{font-size:clamp(2.5rem,12vw,4.5rem)}.refresh-home .personal-hero .action-row{gap:12px 24px}.refresh-home .care-proof-grid{grid-template-columns:minmax(0,1fr);gap:20px}.refresh-home .care-proof-card .engagement-label{min-height:0}.refresh-home .work-policy,.refresh-home .selected-work-supporting .work-music{grid-template-columns:minmax(0,1fr);gap:28px}.refresh-home .selected-work-supporting{gap:24px}.refresh-home .work-business .work-card-copy{grid-template-columns:minmax(0,1fr);gap:20px}.refresh-home .work-business :is(h3,.work-card-copy>p,.work-links){grid-area:auto/1}}@media (forced-colors:active){.refresh-home :is(.personal-hero,.portfolio-connect){background:canvas}}html:has(.home-presentation){scroll-padding-top:0}.home-presentation{isolation:isolate;padding-top:0;position:relative}.home-start{width:1px;height:1px;scroll-margin-top:0;position:absolute;top:0;left:0}.home-presentation .site-wrap{width:min(1600px, calc(100% - var(--site-gutter) * 2));padding-right:clamp(24px,4.5vw,72px)}.home-presentation .home-scene{min-height:100svh;scroll-margin-top:0}.home-presentation .personal-hero{padding-block:calc(var(--header-height) + 24px) 24px;border-radius:0;grid-template-rows:1fr auto;margin-top:0;display:grid}.home-presentation .personal-hero:after{display:none}.home-presentation .personal-hero-grid{grid-template-columns:1.15fr .85fr;align-self:center;gap:clamp(40px,5vw,80px)}.home-presentation .personal-hero .eyebrow{margin-bottom:24px!important}.home-presentation .personal-hero-description{max-width:49ch;margin-top:24px;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.65}.home-presentation .personal-hero-portrait{border-radius:12px 12px 64px;width:auto;max-height:min(640px,100svh - 280px);margin-left:auto}.personal-hero-portrait .hero-portrait-dark,:root[data-theme=dark] .personal-hero-portrait .hero-portrait-light{display:none}:root[data-theme=dark] .personal-hero-portrait .hero-portrait-dark{display:block}.home-presentation .personal-hero-footer{grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:32px;padding-block:20px 0}.scene-next{color:var(--text);font-family:var(--font-portfolio-mono), monospace;justify-content:space-between;align-items:center;gap:24px;padding-block:10px;font-size:.75rem;line-height:1.5;display:inline-flex}.scene-next-name{color:var(--text-secondary)}.scene-next svg{flex-shrink:0;transition:transform .2s}.scene-next:hover svg{transform:translateY(3px)}.home-chapters{z-index:2;background:var(--page);border-top:1px solid var(--border);border-radius:24px 24px 0 0;position:relative}.home-presentation .project-scene{padding-block:calc(var(--header-height) + 24px) 24px;background:var(--page);display:flex}.home-presentation .project-scene:first-child{border-radius:inherit}.home-presentation .project-scene--capture{background:var(--section-alternate)}.project-scene-inner{grid-template-rows:auto 1fr auto;gap:28px;display:grid}.home-scene-heading,.home-scene-footer{justify-content:space-between;align-items:center;gap:24px;display:flex}.home-scene-heading .eyebrow{margin:0!important}.home-scene-heading .eyebrow span{margin-left:16px;font-size:.75rem}.home-presentation .scene-platform,.home-presentation .scene-project-type{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;font-size:.75rem;line-height:1.65}.project-scene-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:center;gap:clamp(36px,5vw,88px);padding-block:24px;display:grid}.project-scene-visual{border:1px solid var(--border);background:var(--surface-alternate);border-radius:12px;flex-direction:column;justify-content:center;gap:20px;min-width:0;padding:clamp(16px,2vw,32px);display:flex}.project-scene--work .project-scene-visual{padding:3.7px 1.7px}.project-scene--work .scene-image-caption{margin-top:-7px;padding-inline:11px}.project-scene--work .scene-image-caption>span{margin-inline-start:12px}.project-scene-visual>img{object-fit:contain;width:100%;height:auto;max-height:calc(100svh - 440px);box-shadow:var(--image-shadow);border-radius:6px;transition:transform .4s;display:block}.project-scene-visual:hover>img{transform:translateY(-4px)}.scene-image-caption{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:20px;font-size:.75rem;line-height:1.6;display:flex}.scene-image-caption svg{flex-shrink:0}.home-presentation .project-scene-copy h2{max-width:10ch;margin-block:20px 24px;font-size:clamp(3rem,4.8vw,5.75rem);line-height:.98}.home-presentation .scene-project-description{max-width:46ch;color:var(--text-secondary);text-wrap:pretty;font-size:1rem;line-height:1.75}.home-presentation .scene-technologies{font-family:var(--font-portfolio-mono), monospace;color:var(--text-secondary);flex-wrap:wrap;gap:8px 18px;margin:24px 0 32px;padding:0;font-size:.75rem;list-style:none;display:flex}.home-presentation .scene-technologies li{font-size:inherit;line-height:1.6}.scene-project-links{flex-wrap:wrap;align-items:center;gap:20px 24px;display:flex}.home-presentation .scene-project-links .small-external{font-size:.8125rem}.home-scene-footer{border-top:1px solid var(--border);padding-top:16px}.home-presentation .home-scene-footer .quiet-link{font-size:.8125rem}.project-scene--capture .project-scene-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);padding-block:8px}.project-scene--capture .project-scene-copy{order:-1}.project-scene--capture .project-scene-visual{background:radial-gradient(ellipse at center, var(--surface-alternate), transparent 68%);border:0;align-items:center;position:relative;overflow:clip}.project-scene--capture .project-scene-visual:before{content:"";border:1px solid var(--border);pointer-events:none;border-radius:50%;position:absolute;inset:12% 8%;transform:rotate(-24deg)}.project-scene--capture .project-scene-visual>img{border:5px solid var(--border);border-radius:30px;width:auto;max-width:100%;height:clamp(280px,100svh - 410px,640px);max-height:none;position:relative}.project-scene--capture .scene-image-caption{text-align:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;position:relative}.home-presentation :is(.home-services,.home-approach,.home-background){padding-block:calc(var(--header-height) + 40px) 64px;border-top:1px solid var(--border);flex-direction:column;justify-content:center;display:flex}.home-presentation .home-background{gap:56px}.home-presentation .past-work{margin-top:0}.home-presentation .home-contact-scene{padding-block:calc(var(--header-height) + 40px) 64px;background:var(--contact-base);border-top:1px solid var(--border);align-items:center;display:grid}.home-presentation .home-contact-scene>.portfolio-connect{background:0 0;padding-block:0}.home-chapter-nav{--chapter-step:44px;z-index:10;width:44px;height:calc(var(--chapter-step) * 5);transition:opacity .18s,visibility .18s;position:fixed;top:50%;right:12px;overflow:visible clip;transform:translateY(-50%)}.home-chapter-nav:after{content:"";background:var(--text);opacity:.65;pointer-events:none;width:5px;height:1px;position:absolute;top:50%;right:0}.home-chapter-nav ol{grid-auto-rows:var(--chapter-step);transform:translateY(calc((2 - var(--chapter-index)) * var(--chapter-step)));margin:0;padding:0;list-style:none;transition:transform .38s cubic-bezier(.22,.68,0,1);display:grid}.home-chapter-nav li{height:var(--chapter-step)}.home-chapter-nav .is-outside-dial{visibility:hidden;pointer-events:none}.home-chapter-nav a{width:44px;height:var(--chapter-step);color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;place-items:center;font-size:.8125rem;text-decoration:none;display:grid;position:relative}.chapter-number{color:var(--text);font-variant-numeric:tabular-nums;opacity:var(--chapter-opacity);transform:perspective(160px) rotateX(calc(var(--chapter-offset) * -18deg)) scale(var(--chapter-scale));transition:opacity .38s,transform .38s cubic-bezier(.22,.68,0,1)}.home-chapter-nav a:is(:hover,:focus-visible) .chapter-number{opacity:1}.home-chapter-nav a:focus-visible{outline:1px solid var(--text);outline-offset:-4px;border-radius:8px}.chapter-label{border:1px solid var(--border);background:var(--page);width:max-content;color:var(--text);pointer-events:none;opacity:0;border-radius:4px;padding:8px 12px;transition:opacity .18s,transform .18s;position:absolute;right:100%;transform:translate(4px)}.home-chapter-nav a:is(:hover,:focus-visible) .chapter-label{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.home-chapter-nav ol,.chapter-number,.chapter-label{transition:none}.chapter-number{transform:none}}@media (forced-colors:active){.chapter-number{opacity:1}.home-chapter-nav a[aria-current]{text-decoration:underline}}@media (min-width:1101px) and (min-height:700px) and (prefers-reduced-motion:no-preference){html:has(.home-presentation){scroll-snap-type:y proximity}.home-presentation .home-scene:not(.personal-hero),.home-start{scroll-snap-align:start}.home-presentation[data-hero-fits=true] .personal-hero{position:sticky;top:0}.home-presentation[data-hero-fits=true] .personal-hero:focus-within{position:relative}@supports (animation-timeline:view()){.project-scene-grid{animation:linear both home-chapter-arrive;animation-timeline:view();animation-range:entry 5%}}}@keyframes home-chapter-arrive{0%{opacity:.4;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.home-chapter-nav{display:none}.home-presentation .site-wrap{padding-right:0}.home-presentation .personal-hero-grid{gap:32px}.home-presentation .personal-hero-portrait{max-height:540px}.project-scene-grid,.project-scene--capture .project-scene-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.project-scene-visual>img{max-height:none}.home-presentation .project-scene-copy h2{font-size:clamp(2.75rem,5.5vw,4rem)}}@media (max-width:767px){.home-presentation .personal-hero{padding-block:calc(var(--header-height) + 24px) 24px}.home-presentation .personal-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.home-presentation .personal-hero h1{font-size:clamp(2.75rem,12vw,5rem)}.home-presentation .personal-hero-description{margin-top:20px}.home-presentation .personal-hero .eyebrow{max-width:none;line-height:1.6;margin-bottom:20px!important;font-size:.75rem!important}.home-presentation .personal-hero-aside{justify-self:center;max-width:340px}.home-presentation .personal-hero-portrait{aspect-ratio:1;border-radius:12px 12px 48px;width:100%;max-height:340px}.home-presentation .personal-hero-footer{grid-template-columns:minmax(0,1fr);gap:12px}.hero-scroll-cue{justify-self:start}.home-chapters{border-radius:16px 16px 0 0}.home-presentation .project-scene{padding-block:calc(var(--header-height) + 24px) 32px}.project-scene-inner{gap:28px}.home-scene-heading{flex-wrap:wrap;gap:12px}.home-scene-heading .eyebrow{font-size:.75rem!important}.home-scene-heading .eyebrow span{margin-left:0}.scene-platform{display:none}.project-scene-grid,.project-scene--capture .project-scene-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:0}.project-scene-copy{order:-1}.home-presentation .project-scene-copy h2{max-width:none;margin-block:12px 20px;font-size:clamp(2.5rem,10vw,4rem)}.home-presentation .scene-technologies{margin-block:20px 24px}.scene-project-links{gap:20px}.project-scene-visual>img{max-height:none}.project-scene--capture .project-scene-visual>img{max-width:100%;height:390px}.home-scene-footer{align-items:baseline;gap:16px}.home-scene-footer .scene-next-name{display:none}.home-presentation :is(.home-services,.home-approach,.home-background,.home-contact-scene){padding-block:calc(var(--header-height) + 24px) 56px}}@media (prefers-reduced-motion:reduce){.home-presentation .personal-hero{position:relative}.project-scene-visual:hover>img,.scene-next:hover svg{transform:none}}
.mobile-menu{--mobile-menu-current:var(--blue);--mobile-menu-travel:.36s;--mobile-menu-fade:.3s;--mobile-menu-ease:cubic-bezier(.4, 0, .6, 1);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--text);font-family:var(--font-portfolio-sans), Arial, sans-serif;background:0 0;border:0;justify-content:flex-end;align-items:stretch;margin:0;padding:0;position:fixed;inset:0;overflow:clip}.mobile-menu[open]{--mobile-menu-travel:.46s;--mobile-menu-fade:.36s;--mobile-menu-ease:cubic-bezier(.22, .1, .25, 1);display:flex}.mobile-menu::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:var(--lightningcss-light,#2020233d)var(--lightningcss-dark,#000000a3)}.mobile-menu .mobile-menu-panel{border:1px solid var(--border);background:var(--surface);overscroll-behavior-y:contain;scroll-behavior:auto;width:min(420px,100% - 28px);min-width:0;height:100%;min-height:0;scroll-padding-block:calc(112px + env(safe-area-inset-top,0px)) 24px;scrollbar-color:var(--control-border) var(--surface);border-right:0;border-radius:16px 0 0 16px;flex-direction:column;flex:none;display:flex;overflow:hidden auto;box-shadow:-12px 0 40px var(--lightningcss-light,#20202324)var(--lightningcss-dark,#00000052)}.mobile-menu .mobile-menu-header{z-index:1;padding:calc(20px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) 24px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--hero-cool) 36%, var(--surface)), var(--surface));flex-shrink:0;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;display:grid;position:sticky;top:0}.mobile-menu .mobile-menu-home{border-radius:5px;place-items:center;width:44px;height:44px;display:grid}.mobile-menu .personal-mark{filter:none;width:44px;max-width:100%;height:auto}.mobile-menu .mobile-menu-identity{min-width:0}.mobile-menu .mobile-menu-name{color:var(--text);letter-spacing:-.025em;margin:0;font-size:.9375rem;font-weight:600;line-height:1.3}.mobile-menu .mobile-menu-label{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;letter-spacing:.035em;margin:5px 0 0;font-size:.75rem;font-weight:400;line-height:1.5}.mobile-menu :is(.mobile-menu-close,.theme-toggle){border:1px solid var(--control-border);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:50%;flex-shrink:0;place-items:center;padding:0;transition:background-color .14s,border-color .14s;display:grid}.mobile-menu .mobile-menu-links{padding:8px calc(20px + env(safe-area-inset-right,0px)) 28px 20px;background:var(--surface);flex:none;display:grid}.mobile-menu .mobile-menu-links>a{border-bottom:1px solid var(--border);min-width:0;min-height:68px;color:var(--text);font-family:var(--font-portfolio-sans), Arial, sans-serif;letter-spacing:-.045em;text-transform:none;touch-action:manipulation;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:12px;padding:16px 0 16px 16px;font-size:clamp(2rem,8.5vw,2.25rem);font-weight:550;line-height:1.15;text-decoration:none;display:grid;position:relative}.mobile-menu .mobile-menu-links>a>span{overflow-wrap:break-word;min-width:0}.mobile-menu .mobile-menu-links>a>svg{color:var(--text-secondary)}.mobile-menu .mobile-menu-links>a[aria-current=page]:before{content:"";background:var(--mobile-menu-current);border-radius:2px;width:3px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mobile-menu .mobile-menu-links>a[aria-current=page]>span{text-decoration:underline;-webkit-text-decoration-color:var(--mobile-menu-current);text-decoration-color:var(--mobile-menu-current);text-underline-offset:6px;text-decoration-thickness:2px}.mobile-menu .mobile-menu-links>a[aria-current=page]>svg{color:var(--mobile-menu-current)}.mobile-menu .mobile-menu-footer{padding:20px calc(20px + env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) 20px;border-top:1px solid var(--border);background:linear-gradient(155deg, var(--surface), color-mix(in srgb, var(--hero-warm) 22%, var(--surface)));flex:none;gap:16px;margin-top:auto;display:grid}.mobile-menu .mobile-menu-appearance{min-height:44px;color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;justify-content:space-between;align-items:center;gap:16px;font-size:.75rem;line-height:1.5;display:flex}.mobile-menu .mobile-menu-email{min-height:44px;color:var(--text);overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:var(--control-border);text-decoration-color:var(--control-border);text-underline-offset:4px;justify-content:space-between;align-items:center;gap:12px;font-size:1rem;font-weight:500;line-height:1.5;display:flex}.mobile-menu .mobile-menu-email>svg{flex-shrink:0}.mobile-menu .mobile-menu-caption{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;margin:0;font-size:.75rem;line-height:1.5}.mobile-menu :is(a,button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}@media (hover:hover) and (pointer:fine){.mobile-menu :is(.mobile-menu-close,.theme-toggle):hover{border-color:var(--text);background:var(--section-alternate);color:var(--text)}.mobile-menu .mobile-menu-links>a:hover>span{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.mobile-menu .mobile-menu-email:hover{text-decoration-thickness:2px}}@supports (transition-behavior:allow-discrete){.mobile-menu{transition:display var(--mobile-menu-travel) allow-discrete, overlay var(--mobile-menu-travel) allow-discrete}.mobile-menu .mobile-menu-panel{transition:transform var(--mobile-menu-travel) var(--mobile-menu-ease);transform:translate(100%)}.mobile-menu[open] .mobile-menu-panel{transform:translate(0,0)}.mobile-menu::backdrop{opacity:0;transition:opacity var(--mobile-menu-fade) ease, display var(--mobile-menu-travel) allow-discrete, overlay var(--mobile-menu-travel) allow-discrete}.mobile-menu[open]::backdrop{opacity:1}@starting-style{.mobile-menu[open] .mobile-menu-panel{transform:translate(100%)}.mobile-menu[open]::backdrop{opacity:0}}}@media (min-width:768px){.mobile-menu[open]{display:none}.mobile-menu::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}}@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu::backdrop,.mobile-menu .mobile-menu-panel,.mobile-menu :is(a,button){transition:none}}@media (forced-colors:active){.mobile-menu .mobile-menu-panel{box-shadow:none;background:canvas;border-color:canvastext}.mobile-menu .mobile-menu-links>a[aria-current=page]:before{background:highlight}.mobile-menu .mobile-menu-links>a[aria-current=page]>span{text-decoration-color:linktext}.mobile-menu :is(a,button):focus-visible{outline-color:highlight}}
html:has(.page-presentation){scroll-padding-top:0}.page-presentation{isolation:isolate;padding-top:0;position:relative}.page-presentation .site-wrap{width:min(1600px, calc(100% - var(--site-gutter) * 2));padding-right:clamp(24px,4.5vw,72px)}.page-presentation-intro{min-height:100svh;padding-block:calc(var(--header-height) + 24px) 24px;background:radial-gradient(ellipse at 0% 100%, var(--hero-warm), transparent 75%), radial-gradient(ellipse at 100% 0%, var(--hero-cool), transparent 80%), var(--hero-base);flex-direction:column;display:flex;position:relative}.page-intro-body{flex:1;align-content:center;padding-block:24px;display:grid}.page-presentation .page-intro-body :is(.route-intro,.compact-route-intro,.about-introduction,.contact-workspace,.writing-article-header){background:0 0;border:0;min-height:0;margin-block:0;padding-block:0}.page-presentation .page-intro-body :is(.route-intro,.compact-route-intro,.about-introduction,.contact-workspace):before{display:none}.portfolio.page-presentation .page-intro-body h1{letter-spacing:-.055em;max-width:17ch;font-size:clamp(3.25rem,6vw,6.5rem);font-weight:650;line-height:1.02}.portfolio.page-presentation :is(.eyebrow,.section-label,.identity-line){text-transform:none;letter-spacing:.025em}.page-presentation .page-intro-body :is(.route-intro,.compact-route-intro)>p:not(.eyebrow){max-width:56ch;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.7}.page-presentation .page-intro-body :is(.project-index,.personal-experience-index){margin-block:32px 0;padding-block:16px 0}.page-intro-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding-top:16px;display:flex}.page-chapter-count{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;font-size:.75rem}.page-presentation-content{z-index:2;border-top:1px solid var(--border);background:var(--page);border-radius:24px 24px 0 0;position:relative}.page-presentation .page-chapter{min-height:100svh;padding-block:calc(var(--header-height) + 40px) 56px;border-bottom:1px solid var(--border);background:var(--page);align-items:center;scroll-margin-top:0;display:flex}.page-chapter:first-of-type{border-radius:inherit}.page-chapter:nth-of-type(2n){background:var(--section-alternate)}.page-presentation .page-chapter-inner{background:0 0;border:0;margin-block:0;padding-block:0}.page-presentation .page-chapter-inner:before{display:none}.page-presentation .page-chapter-inner>:is(.personal-page-end,.work-together,.story-related){background:0 0;border:0;margin-block:0;padding-block:0}.page-presentation .page-chapter-inner>.work-together>.site-wrap{width:100%;padding:0}.page-presentation .about-portrait{border-radius:12px 12px 64px;max-height:min(600px,100svh - 300px);overflow:clip}.page-presentation .about-portrait img{max-height:inherit;object-fit:cover;object-position:center top}.page-presentation .story-back{margin-block:0 20px}.page-presentation .story-opening{align-items:center;gap:clamp(32px,5vw,80px);padding-block:0}.page-presentation .story-hero-image{margin-block:0}.page-presentation .story-hero-image img{object-fit:contain;max-height:min(560px,100svh - 340px)}.page-presentation.story-kordra-capture .story-hero-image img{width:auto;max-width:100%;height:auto;max-height:min(520px,100svh - 440px)}.portfolio.page-presentation .personal-page-end p{letter-spacing:-.035em;max-width:28ch;color:var(--text);font-size:clamp(1.75rem,3.2vw,3rem);line-height:1.25}.page-presentation .story-overview{border:0;padding-block:40px 36px}.page-presentation .story-brief{padding-block:32px 0}.page-presentation .story-section{padding-block:0}.page-presentation .story-related{margin-block:0}.page-presentation .story-next{margin-block:0 20px}.page-presentation .story-execution figure img{object-fit:contain;max-height:680px}.page-presentation .catalogue-scene{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(36px,5vw,88px);display:grid}.page-presentation .catalogue-scene .project-artwork{aspect-ratio:auto;border:1px solid var(--border);background:var(--surface-alternate);border-radius:12px;height:auto;min-height:0;margin:0;padding:0}.page-presentation .catalogue-scene .project-artwork img{object-fit:contain;width:100%;height:auto;max-height:none}.page-presentation .project-entry-kordra-capture .project-artwork{justify-self:center;width:fit-content;max-width:100%}.page-presentation .project-entry-kordra-capture .project-artwork img{width:auto;max-width:100%;height:clamp(320px,100svh - 240px,600px)}.page-presentation .catalogue-scene .project-entry-title{margin-block:20px 24px;font-size:clamp(2.75rem,4.5vw,5rem);line-height:1.02}.page-presentation .catalogue-scene .project-entry-title a{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.page-presentation .catalogue-scene .project-entry-title svg{flex-shrink:0}.catalogue-scene-copy>p{max-width:48ch}.page-presentation .catalogue-scene .project-entry-links{margin-top:28px}.presentation-project-group{scroll-margin-top:0}@media (min-width:1101px) and (min-height:700px) and (prefers-reduced-motion:no-preference){html:has(.page-presentation){scroll-snap-type:y proximity}.page-chapter{scroll-snap-align:start}.page-presentation[data-hero-fits=true] .page-presentation-intro{position:sticky;top:0}.page-presentation[data-hero-fits=true] .page-presentation-intro:focus-within{position:relative}@supports (animation-timeline:view()){.page-chapter-inner{animation:linear both page-chapter-arrive;animation-timeline:view();animation-range:entry 5%}}}@keyframes page-chapter-arrive{0%{opacity:.4;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px) and (max-height:850px){.page-presentation .page-chapter{padding-block:calc(var(--header-height) + 24px) 32px}.page-presentation .page-chapter.is-last-chapter{gap:32px}}@media (min-width:1101px) and (max-height:850px){.portfolio.page-presentation.project-story .page-intro-body h1{font-size:clamp(2.75rem,5vw,4rem)}.page-presentation.project-story .page-intro-body{padding-block:16px}.page-presentation.project-story :is(.story-intro,.story-hero-image){padding:24px}.page-presentation.project-story .story-title-row{gap:16px;margin-bottom:20px}.page-presentation .story-hero-image img{max-height:min(560px,100svh - 432px)}.page-presentation .story-execution figure img{max-height:min(680px,100svh - 280px)}}@media (max-width:1100px){.page-presentation .site-wrap{padding-right:0}.page-presentation .catalogue-scene{gap:32px}}@media (max-width:767px){.portfolio.page-presentation .page-intro-body h1{font-size:clamp(2.75rem,11vw,4.5rem)}.page-presentation-intro{padding-top:calc(var(--header-height) + 24px)}.page-presentation .page-chapter{padding-block:calc(var(--header-height) + 24px) 48px}.page-presentation-content{border-radius:16px 16px 0 0}.page-intro-footer .scene-next-name{display:none}.page-presentation .about-portrait{max-height:360px}.page-presentation .story-hero-image img,.page-presentation.story-kordra-capture .story-hero-image img{max-height:420px}.page-presentation .catalogue-scene{grid-template-columns:minmax(0,1fr);gap:32px}.catalogue-scene-copy{order:-1}.page-presentation .catalogue-scene .project-artwork img{max-height:none}.page-presentation .project-entry-kordra-capture .project-artwork img{max-height:420px}}@media (prefers-reduced-motion:reduce){.page-presentation-intro{position:relative}}
.cookie-settings-trigger{z-index:40;width:calc(56px + env(safe-area-inset-left));height:calc(56px + env(safe-area-inset-bottom));padding:0 0 calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));border:1px solid color-mix(in srgb, var(--border) 60%, transparent);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:0 100% 0 0;place-items:end start;transition:background-color .18s,color .18s;display:grid;position:fixed;inset:auto auto 0 0;box-shadow:1px -1px 12px #0000000a}.cookie-settings-trigger:hover{background:var(--surface-alternate);color:var(--text)}.cookie-settings-trigger:active{background:var(--blue-soft)}.cookie-drawer{border:0;border-right:1px solid var(--border);background:var(--page);width:min(440px,100%);max-width:none;height:100dvh;max-height:none;color:var(--text);font-family:var(--font-portfolio-sans), sans-serif;transition:transform .28s ease, display .28s allow-discrete, overlay .28s allow-discrete;margin:0;padding:0;position:fixed;inset:0 auto 0 0;overflow:hidden;transform:translate(-100%)}.cookie-drawer[open]{transform:translate(0)}.cookie-drawer::backdrop{opacity:0;transition:opacity .28s ease, display .28s allow-discrete, overlay .28s allow-discrete;background:#07071073}.cookie-drawer[open]::backdrop{opacity:1}@starting-style{.cookie-drawer[open]{transform:translate(-100%)}.cookie-drawer[open]::backdrop{opacity:0}}.cookie-drawer-shell{flex-direction:column;height:100%;display:flex}.cookie-drawer-header{padding:max(28px, env(safe-area-inset-top)) 28px 24px;border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cookie-drawer-label{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;align-items:center;gap:9px;margin-bottom:18px;font-size:.75rem;display:flex}.cookie-drawer h2{letter-spacing:-.045em;font-size:2rem;font-weight:600;line-height:1.1}.cookie-drawer-close{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;margin:-8px -8px 0 0;padding:0;transition:background-color .18s,color .18s;display:grid}.cookie-drawer-close:hover{background:var(--surface-alternate);color:var(--text)}.cookie-drawer-form{flex-direction:column;flex:1;min-height:0;display:flex}.cookie-drawer-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:24px 28px;overflow-y:auto}.cookie-drawer-body>p{color:var(--text-secondary);margin:0 0 24px;font-size:.9375rem;line-height:1.65}.cookie-drawer-options{border:0;border-top:1px solid var(--border);min-width:0;margin:0;padding:0}.cookie-setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:24px 0;display:flex}label.cookie-setting{cursor:pointer}.cookie-setting h3,.cookie-setting strong{letter-spacing:-.015em;margin:0 0 6px;font-size:1rem;font-weight:600;line-height:1.4;display:block}.cookie-setting p,.cookie-setting-description{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.6;display:block}.cookie-setting-status{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;flex-shrink:0;font-size:.6875rem}.cookie-setting input{appearance:none;border:1px solid var(--control-border);background:var(--surface-alternate);cursor:pointer;border-radius:24px;flex-shrink:0;width:38px;height:24px;margin:0;padding:0;transition:background-color .16s,border-color .16s;position:relative}.cookie-setting input:before{content:"";background:var(--text-secondary);border-radius:50%;width:14px;height:14px;transition:transform .16s,background-color .16s;position:absolute;inset:4px auto auto 4px}.cookie-setting input:checked{border-color:var(--button-fill);background:var(--button-fill)}.cookie-setting input:checked:before{background:var(--button-text);transform:translate(14px)}.cookie-drawer-links{flex-wrap:wrap;gap:12px 24px;margin-top:24px;font-size:.8125rem;display:flex}.cookie-drawer-links a,.cookie-drawer-policy-content a{text-decoration:underline;-webkit-text-decoration-color:var(--control-border);text-decoration-color:var(--control-border);text-underline-offset:4px}.cookie-drawer-links a:hover,.cookie-drawer-policy-content a:hover{text-decoration-color:currentColor}.cookie-drawer-policy{margin-top:24px;font-size:.8125rem}.cookie-drawer-policy summary{width:fit-content;color:var(--text-secondary);cursor:pointer}.cookie-drawer-policy-content{color:var(--text-secondary);overflow-wrap:anywhere;padding-top:24px;line-height:1.7}.cookie-drawer-policy-content p,.cookie-drawer-policy-content ul{margin:0 0 16px}.cookie-drawer-policy-content ul{padding-left:20px}.cookie-drawer-policy-content h3{color:var(--text);margin:28px 0 12px;font-size:1rem;font-weight:600;line-height:1.4}.cookie-drawer-footer{padding:24px 28px max(24px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-alternate);flex-shrink:0}.cookie-drawer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cookie-choice{border:1px solid var(--control-border);border-radius:var(--control-radius);min-height:44px;color:var(--text);cursor:pointer;background:0 0;padding:12px;font-size:.8125rem;font-weight:500;line-height:1.4;transition:background-color .18s,transform .18s}.cookie-choice:hover{background:var(--blue-soft)}.cookie-choice:active{transform:translateY(1px)}.cookie-choice-save{border-color:var(--button-fill);background:var(--button-fill);color:var(--button-text);grid-column:1/-1}.cookie-choice-save:hover{background:var(--button-fill);opacity:.9}.cookie-drawer-footer>p{color:var(--text-secondary);margin:14px 0 0;font-size:.75rem;line-height:1.6}.cookie-drawer-footer .cookie-storage-message{margin:0 0 16px}.cookie-settings-trigger:focus-visible,.cookie-drawer :is(button,input,a,summary):focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.cookie-settings-trigger:focus-visible{outline-offset:-5px}.home-presentation .hero-colophon,.home-presentation .home-scene-footer,.page-presentation .page-intro-footer{padding-left:max(0px, calc(80px + env(safe-area-inset-left) - var(--site-gutter)))}@media (max-width:600px){.cookie-drawer-body,.cookie-setting{padding-block:20px}}@media (max-width:380px){.cookie-drawer-header,.cookie-drawer-body,.cookie-drawer-footer{padding-inline:20px}}@media (max-height:600px){.cookie-drawer-shell{overscroll-behavior:contain;overflow-y:auto}.cookie-drawer-form{flex:none}.cookie-drawer-body{flex:none;overflow:visible}}@media (prefers-reduced-motion:reduce){.cookie-drawer,.cookie-drawer::backdrop,.cookie-settings-trigger,.cookie-drawer *{transition:none}}
.legal-document{color:var(--text-secondary);font-family:var(--font-portfolio-sans), Arial, sans-serif;overflow-wrap:anywhere;font-size:1rem;line-height:1.8}.legal-document :is(h2,h3){color:var(--text);font-family:var(--font-portfolio-display);letter-spacing:-.025em;text-wrap:balance;margin:2.5rem 0 .875rem;font-size:clamp(1.25rem,1.7vw,1.625rem);font-weight:650;line-height:1.3}.legal-document :is(p,ul,ol){margin:0 0 1.125rem}.legal-document :is(ul,ol){padding-left:1.375rem}.legal-document li+li{margin-top:.5rem}.legal-document :is(strong,a){color:var(--text)}.legal-document a{text-decoration:underline;-webkit-text-decoration-color:var(--control-border);text-decoration-color:var(--control-border);text-underline-offset:.2em;text-decoration-thickness:1px}.legal-document a:hover{text-decoration-color:currentColor}.legal-document a:focus-visible,.legal-page a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:5px}.legal-document .legal-updated{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;margin-bottom:2.5rem;font-size:.8125rem;line-height:1.6}.legal-document>:last-child{margin-bottom:0}.portfolio.legal-page{background:var(--page);color:var(--text)}.legal-page .legal-intro{max-width:52rem}.legal-page .legal-intro .eyebrow{margin-bottom:24px;font-size:.875rem!important}.legal-page .legal-intro h1{text-wrap:balance;margin:0 0 28px}.legal-page .legal-lede{max-width:48ch;color:var(--text-secondary);text-wrap:pretty;margin:0 0 24px;font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.7}.legal-page .legal-intro .quiet-link{min-height:44px;color:var(--text)}.legal-page .legal-intro .quiet-link:is(:hover,:focus-visible){text-underline-offset:5px;text-decoration:underline}.legal-page.page-presentation .page-chapter{align-items:flex-start;min-height:0}.legal-page .legal-reading{animation:none}.legal-page .legal-document{max-width:74ch}.legal-page .legal-document h2{letter-spacing:-.025em;font-size:clamp(1.375rem,1.8vw,1.75rem);line-height:1.3}@media (max-width:767px){.legal-page .legal-intro h1{margin-bottom:24px}.legal-page .legal-document{line-height:1.75}}
.copyright-links{min-width:0;color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;flex-wrap:wrap;align-items:center;gap:12px 24px;font-size:.75rem;line-height:1.5;display:flex}.portfolio .copyright-links p{color:inherit;font-size:inherit;line-height:inherit;margin:0}.copyright-links nav{align-items:center;gap:20px;display:flex}.copyright-links a{text-underline-offset:4px}.copyright-links a:is(:hover,:focus-visible){color:var(--text);text-decoration:underline}.page-presentation .page-chapter.is-last-chapter{flex-direction:column;align-items:stretch;gap:48px;padding-bottom:24px}.page-presentation .is-last-chapter .page-chapter-inner{margin-block:auto}.section-end{padding-top:20px;padding-left:max(0px, calc(80px + env(safe-area-inset-left) - var(--site-gutter)));border-top:1px solid var(--border);flex-shrink:0}.home-presentation .home-contact-scene{flex-direction:column;align-items:stretch;gap:48px;padding-bottom:24px;display:flex}.home-presentation .home-contact-scene>.portfolio-connect{margin-block:auto}@media (max-width:767px){.page-presentation .page-chapter.is-last-chapter,.home-presentation .home-contact-scene{gap:32px}}
:root{--card-radius:16px;--control-radius:8px}.portfolio .action{border-radius:var(--control-radius)}.portfolio :is(.action,.quiet-link,.small-external){white-space:nowrap}.portfolio :is(.action,.quiet-link) svg{flex-shrink:0}.portfolio p{text-wrap:pretty}.reading-heading{max-width:780px;margin-bottom:clamp(28px,4vw,48px)}.portfolio .reading-heading h2,.portfolio .about-invitation h2{letter-spacing:-.05em;text-wrap:balance;margin:0 0 22px;font-size:clamp(2.3rem,4.1vw,4rem);font-weight:650;line-height:1.08}.reading-heading>p{max-width:58ch;color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7}.card-symbol{color:var(--blue);flex-shrink:0}.personal-about .about-introduction{align-items:center}.about-story .reading-heading{margin-bottom:32px}.about-story .reading-heading h2{margin-bottom:0}.personal-about .personal-about-intro .personal-lede{max-width:38ch}.personal-about .personal-about-intro .personal-page-links{margin-top:36px}.portfolio .about-story-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:20px;display:grid}.story-milestone{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-alternate);min-width:0;padding:clamp(24px,2vw,30px)}.story-milestone--care{background:var(--section-alternate);flex-direction:column;grid-area:1/2/3;justify-content:center;display:flex}.story-milestone--teams{grid-column:1}.milestone-meta{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;align-items:center;gap:16px;margin-bottom:20px;font-size:.75rem;line-height:1.6;display:flex}.milestone-meta svg{color:var(--blue);flex-shrink:0}.portfolio .story-milestone h3{letter-spacing:-.035em;max-width:26ch;margin:0 0 18px;font-size:clamp(1.4rem,2vw,2rem);font-weight:600;line-height:1.22}.portfolio .story-milestone--care h3{max-width:19ch;font-size:clamp(1.9rem,2.8vw,3rem)}.portfolio .story-milestone p,.portfolio .about-work-copy p{max-width:58ch;color:var(--text-secondary);margin:0 0 16px;font-size:1rem;line-height:1.75}.story-milestone p:last-child{margin-bottom:0}.story-milestone .quiet-link{align-self:flex-start;margin-top:12px}.about-work-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;display:grid}.about-work-card{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);min-width:0;padding:clamp(24px,2.5vw,36px)}.about-work-card--kordra{padding:12px 12px 28px}.about-work-card--policy{background:var(--surface-alternate);padding:12px 12px 28px}.about-work-image{background:var(--portrait-surface);border-radius:10px;place-items:center;min-height:250px;padding:clamp(16px,2vw,28px);display:grid;overflow:clip}.about-work-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:260px;box-shadow:var(--image-shadow);border-radius:5px;display:block}.about-work-card--kordra .about-work-copy{padding:26px 18px 0}.about-work-card--policy .about-work-copy{padding:18px 18px 0}.about-policy-preview{margin:0}.about-policy-preview figcaption{color:var(--text-secondary);padding:12px 18px 0;font-size:.8125rem;line-height:1.6}.about-work-heading{align-items:center;gap:12px;display:flex}.portfolio .about-work-copy h3{letter-spacing:-.035em;margin:0 0 16px;font-size:clamp(1.4rem,2vw,2rem);font-weight:600;line-height:1.2}.about-work-copy .quiet-link{width:fit-content;display:flex}.portfolio .about-invitation{max-width:none}.about-invitation>div{max-width:850px}.portfolio .about-invitation p{max-width:46ch;color:var(--text-secondary);margin-bottom:32px;font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.7}.home-presentation .personal-hero h1{font-size:clamp(3.25rem,5vw,6rem)}.home-presentation .editorial-section-intro{max-width:800px;margin-bottom:38px;display:block}.home-presentation .editorial-section-intro h2{max-width:22ch;margin-bottom:20px}.home-presentation .editorial-section-intro>p:last-child{max-width:59ch;font-size:1.125rem}.home-presentation .home-services{padding-block:calc(var(--header-height) + 24px) 40px}.home-presentation .home-services .editorial-section-intro{max-width:none;margin-bottom:32px}.home-presentation .home-services .editorial-section-intro h2{max-width:none;margin-bottom:0;font-size:clamp(2.25rem,3.8vw,3.5rem)}.home-presentation .home-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-presentation .home-service{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-alternate);flex-direction:column;align-items:stretch;gap:24px;min-width:0;padding:clamp(24px,2vw,32px);display:flex}.home-presentation .home-service:first-child{background:var(--section-alternate)}.home-service-topline{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.home-presentation .home-service h3{min-height:2.4em;margin:0;font-size:clamp(1.5rem,2.1vw,2rem)}.home-presentation .home-service p{max-width:48ch;margin:0}.home-service-example{border-left:2px solid var(--border);margin-top:auto;padding-left:16px}.home-service-example-label{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.6875rem;display:block}.home-presentation .home-service-example p{font-size:.9375rem;line-height:1.65}.home-presentation .home-service .home-service-link{text-align:right;white-space:normal;justify-self:end;min-width:0;max-width:100%;min-height:44px;margin:0;font-size:.875rem}.home-services-followup{justify-content:space-between;align-items:center;gap:24px;margin-top:24px;display:flex}.home-presentation .home-service-support{max-width:64ch;margin:0;font-size:.9375rem}.home-presentation .home-approach{min-height:100svh;padding-block:calc(var(--header-height) + 40px) 64px}.home-presentation .home-approach .editorial-section-intro{margin-bottom:clamp(32px,4vw,56px)}.home-presentation .home-approach .editorial-section-intro h2{margin-bottom:18px;font-size:clamp(2.25rem,3.8vw,3.5rem)}.home-presentation .home-approach .editorial-section-intro>p:last-child{font-size:1.125rem}.home-presentation .home-working-steps{gap:0}.home-presentation .home-working-steps li{border:0;grid-template-rows:auto auto 1fr auto;align-items:start;gap:18px;padding:0 28px 0 0;display:grid;position:relative}.home-presentation .home-working-steps li:before{content:"";background:var(--border);height:1px;position:absolute;top:22px;left:48px;right:0}.home-presentation .home-working-steps li:last-child:before{display:none}.working-step-icon{border:1px solid var(--border);background:var(--page);width:44px;height:44px;color:var(--blue);border-radius:12px;place-items:center;display:grid}.home-presentation .home-working-steps h3{max-width:18ch;min-height:2.6em;margin:0;font-size:clamp(1.2rem,1.65vw,1.5rem)}.home-presentation .home-working-steps p{max-width:32ch;margin:0;font-size:1rem;line-height:1.65}.working-step-review{border-left:2px solid var(--border);align-self:stretch;padding:0 0 0 16px}.working-step-review-label{color:var(--text);margin-bottom:8px;font-size:.8125rem;font-weight:600;display:block}.home-presentation .working-step-review p{font-size:.9375rem}@media (min-width:768px){.home-presentation .home-working-steps li>p{margin-top:-18px}}@media (min-width:1101px){.working-step-review{min-height:8.1rem}}@media (min-width:1300px){.home-presentation .home-working-steps h3{min-height:1.3em}}.home-presentation .home-background-grid{grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px)}.home-presentation .home-background-grid h2{max-width:17ch}.home-presentation .home-background-copy>p{font-size:1.125rem;line-height:1.75}.scene-work-label{color:var(--text-secondary);font-size:.875rem}.home-presentation .business-experience-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:clamp(32px,5.5vw,80px)}.business-experience-copy{min-width:0}.home-presentation .business-experience-copy h2{margin:0 0 24px;font-size:clamp(2.5rem,4.8vw,5rem);font-weight:700;line-height:1.04}.business-experience-intro,.business-build-perspective p{max-width:49ch;color:var(--text-secondary);margin:0;font-size:1.0625rem;line-height:1.7}.business-build-perspective{border-left:2px solid var(--blue);margin-top:28px;padding-left:20px}.business-build-perspective h3{margin:0 0 12px;font-size:1.0625rem;line-height:1.4}.business-experience-links{flex-wrap:wrap;gap:16px 28px;margin-top:28px;display:flex}.business-example{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--section-alternate);min-width:0;padding:clamp(24px,3vw,40px)}.business-example-context{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;align-items:center;gap:12px;margin:0 0 24px;font-size:.75rem;line-height:1.6;display:flex}.business-example-context svg{color:var(--blue);flex-shrink:0}.business-example h3{margin:0 0 20px;font-size:clamp(1.75rem,2.5vw,2.5rem);line-height:1.12}.business-example-description{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.75}.business-example-outcome{border-block:1px solid var(--border);margin-block:28px;padding-block:24px}.business-outcome-label{margin:0 0 20px;font-size:.875rem}.business-result{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;display:grid}.business-result dt{color:var(--text-secondary);font-family:var(--font-portfolio-mono), monospace;margin-bottom:8px;font-size:.75rem}.business-result dd{color:var(--text);letter-spacing:-.055em;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:clamp(3rem,4.6vw,4.5rem);font-weight:650;line-height:1.05;display:flex}.business-result dd span{letter-spacing:0;font-size:1rem;font-weight:400}.business-result>div:first-child dd{color:var(--text-secondary)}.business-outcome-context{max-width:40ch;color:var(--text-secondary);margin:20px 0 0;font-size:.75rem;line-height:1.65}@media (max-width:899px){.home-presentation .business-experience-grid{grid-template-columns:minmax(0,1fr);gap:36px}.home-presentation .business-experience-copy h2{max-width:20ch}.business-example{max-width:640px}}.home-presentation .home-clients{padding-block:calc(var(--header-height) + 40px) 64px;border-top:1px solid var(--border);background:var(--page);align-items:center;display:flex}.home-clients-inner{gap:clamp(32px,4vw,56px);display:grid}.home-presentation .home-clients h2{max-width:20ch;margin:0;font-size:clamp(2.3rem,4.1vw,4rem);font-weight:700;line-height:1.08}.past-client-list{border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:16px clamp(24px,4vw,56px);margin:0;padding:20px 0;list-style:none;display:grid}.home-presentation .past-client-list li{min-width:0;min-height:56px;color:var(--text-secondary);align-items:center;font-size:clamp(1rem,1.6vw,1.375rem);font-weight:600;line-height:1.4;display:flex}.past-client-name{overflow-wrap:anywhere;transition:color .15s;display:block}.past-client-context{width:100%;display:block;position:relative}.past-client-context.is-open{z-index:5}.past-client-detail-trigger{max-width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:10px;padding:0;display:inline-flex}.past-client-detail-trigger>svg{opacity:.7;flex-shrink:0}.past-client-detail-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.past-client-detail-trigger:focus-visible .past-client-name,.past-client-context.is-open .past-client-name{color:var(--text)}.past-client-tooltip{z-index:5;border:1px solid var(--border);background:var(--surface);width:min(320px,100%);box-shadow:0 12px 32px color-mix(in srgb, var(--text) 8%, transparent);color:var(--text-secondary);visibility:hidden;opacity:0;pointer-events:none;border-radius:12px;gap:6px;padding:16px 18px;font-size:.875rem;font-weight:400;line-height:1.6;transition:opacity .15s,visibility .15s;display:grid;position:absolute;bottom:calc(100% + 12px);left:0}.past-client-tooltip strong{color:var(--text);font-weight:600}.past-client-tooltip:after{content:"";height:13px;position:absolute;inset:100% 0 auto}.past-client-context[data-placement=below] .past-client-tooltip{top:calc(100% + 12px);bottom:auto}.past-client-context[data-placement=below] .past-client-tooltip:after{inset:auto 0 100%}.past-client-context.is-open .past-client-tooltip{visibility:visible;opacity:1;pointer-events:auto}@media (hover:hover){.past-client-list li:hover .past-client-name{color:var(--text)}}@media (max-width:899px){.past-client-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.past-client-tooltip{width:min(320px,100vw - 40px)}.past-client-list li:nth-child(2n) .past-client-tooltip{left:auto;right:0}}@media (max-width:767px){.home-presentation .home-clients{padding-block:calc(var(--header-height) + 24px) 56px}.past-client-list{gap:12px 24px;padding-block:16px}.home-presentation .past-client-list li{min-height:52px}}@media (prefers-reduced-motion:reduce){.past-client-name,.past-client-tooltip{transition:none}}@media (forced-colors:active){.past-client-tooltip{color:canvastext;background:canvas;border-color:canvastext}.past-client-tooltip strong{color:canvastext}}.home-presentation .project-scene--sashiko .project-scene-grid{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-alternate);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-self:center;gap:clamp(28px,3.5vw,52px);padding:clamp(24px,2.8vw,40px)}.project-scene--sashiko .project-scene-visual{background:0 0;border:0;padding:0}.project-scene--sashiko .project-scene-visual>img{max-height:none}.project-scene--sashiko .project-scene-copy{order:0;min-width:0}.home-presentation .project-scene--sashiko .project-scene-copy h2{max-width:none;margin-block:16px 20px;font-size:clamp(2.5rem,4vw,4rem);line-height:1.04}.home-presentation .project-scene--sashiko .scene-technologies{margin-block:20px 24px}@media (max-width:899px){.home-presentation .project-scene--sashiko .project-scene-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding:clamp(18px,4vw,28px)}}.page-presentation .catalogue-scene .project-artwork,.portfolio .project-scene-visual,.portfolio .story-hero-image,.portfolio .story-execution figure{border-radius:var(--card-radius)}.services-page .personal-account-copy{border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface);padding:clamp(24px,3vw,44px)}.services-page .personal-account>h2{align-self:start}.services-page .personal-account-copy>h3{margin-top:28px}.services-page .personal-account.service-offer{grid-template-columns:minmax(0,1fr);gap:28px}.services-page .service-offer>h2{max-width:none}.services-page .service-offer .personal-account-copy{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;padding:clamp(24px,2.4vw,36px);display:grid}.services-page .service-offer .personal-account-copy p{max-width:none;margin:0;font-size:1rem;line-height:1.65}.service-offer-summary,.service-offer-next{grid-column:1/-1}.services-page .service-offer h3{margin:0 0 14px;font-size:1.125rem;line-height:1.4}.services-page .service-offer-examples ul{margin:0;padding-left:20px}.services-page .service-offer-examples li{padding-left:4px;font-size:1rem;line-height:1.65}.service-offer-next{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;padding-top:24px;display:flex}.services-page .service-offer-projects h3{color:var(--text-secondary);margin-bottom:12px;font-size:.875rem;font-weight:400}.services-page .service-offer-projects .personal-page-links{gap:16px 28px;margin:0}.portfolio.services-page #start-project .personal-page-end>p{letter-spacing:-.045em;font-size:clamp(2rem,4.3vw,4rem);font-weight:650;line-height:1.16}.home-presentation .portfolio-connect h2{letter-spacing:-.045em;font-size:clamp(2.5rem,5.4vw,5.5rem);font-weight:700;line-height:1.04}@media (hover:hover) and (prefers-reduced-motion:no-preference){.home-service,.about-work-card,.story-milestone{transition:transform .24s}:is(.home-service:has(a:hover),.about-work-card:has(a:hover)){transform:translateY(-4px)}.portfolio .quiet-link svg,.contact-paths svg{transition:transform .18s}.portfolio .quiet-link:hover svg,.contact-paths a:hover svg{transform:translate(3px)}.about-work-image img{transition:transform .35s}.about-work-image:hover img{transform:scale(1.015)}}@media (prefers-reduced-motion:no-preference){.portfolio .action{transition:transform .18s}.portfolio .action:active{transform:translateY(1px)}@supports (animation-timeline:view()){.story-milestone,.about-work-card,.home-service{animation:linear both portfolio-card-arrive;animation-timeline:view();animation-range:entry entry 65%}}}@keyframes portfolio-card-arrive{0%{translate:0 18px}to{translate:0}}@media (max-width:1100px){.home-presentation .home-working-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.home-presentation .home-working-steps li:nth-child(2):before{display:none}}@media (max-width:1023px){.home-presentation .home-service-list{grid-template-columns:minmax(0,1fr)}.home-presentation .home-service h3{min-height:0}}@media (min-width:900px) and (max-height:850px){.page-presentation .page-chapter.is-last-chapter{gap:32px}.home-presentation .home-background{padding-block:calc(var(--header-height) + 24px) 32px}.home-presentation .business-experience-copy h2{font-size:clamp(2.5rem,4.2vw,4.25rem)}.business-example{padding:28px}.business-example-context{margin-bottom:16px}.business-example-outcome{margin-block:20px;padding-block:16px}.business-outcome-label{margin-bottom:12px}.home-presentation .home-approach{padding-block:calc(var(--header-height) + 24px) 40px}.home-presentation .home-services{padding-bottom:24px}.home-presentation .home-services .editorial-section-intro{margin-bottom:28px}.home-services-followup{margin-top:20px}}@media (min-width:1101px) and (max-height:850px){.home-presentation .home-clients{padding-block:calc(var(--header-height) + 24px) 32px}.home-clients-inner{gap:32px}.past-client-list{row-gap:8px}.home-presentation .project-scene--sashiko .project-scene-inner{gap:20px}.home-presentation .project-scene--sashiko .project-scene-grid{padding:24px}.project-scene--sashiko .project-scene-visual>img{object-fit:contain;max-height:calc(100svh - 360px)}.personal-about .about-current .reading-heading{margin-bottom:20px}.personal-about .about-current .reading-heading h2{margin-bottom:16px}.personal-about .about-current .reading-heading,.personal-about .about-current .reading-heading>p{max-width:none}.about-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-work-image{min-height:160px;padding:12px}.about-work-image img{max-height:160px}.about-work-card--kordra,.about-work-card--policy{padding-bottom:24px}.about-work-card--kordra .about-work-copy{padding-top:18px}.about-work-links{flex-wrap:wrap;gap:8px 24px;display:flex}.project-story .story-related-link{padding:24px}.project-story .story-section-heading,.project-story .story-section>h2,.project-story .story-related>h2{margin-bottom:32px}.project-story .story-decisions article,.project-story .story-outcomes article{padding:24px}}@media (max-width:767px){.services-page .service-offer .personal-account-copy{grid-template-columns:minmax(0,1fr);gap:28px}.service-offer-next{flex-direction:column;align-items:start}.portfolio .reading-heading h2,.portfolio .about-invitation h2{font-size:clamp(2.1rem,8.5vw,3rem)}.portfolio .about-story-grid,.about-work-grid,.home-presentation .home-service-list,.home-presentation .home-background-grid{grid-template-columns:minmax(0,1fr)}.story-milestone--care,.story-milestone--teams,.about-work-card--kordra{grid-area:auto}.home-presentation .home-service:first-child{grid-row:auto}.personal-about .personal-about-intro .personal-page-links{margin-top:24px}.personal-about .about-introduction{gap:32px}.about-work-card .about-work-copy{padding-inline:12px}.about-work-image{min-height:0}.home-presentation .personal-hero h1{font-size:clamp(2.3rem,9.2vw,4.2rem)}.home-presentation .home-working-steps{grid-template-columns:1fr;gap:32px}.home-presentation .home-approach{padding-block:calc(var(--header-height) + 24px) 56px}.home-presentation .home-working-steps li{grid-template-rows:auto;grid-template-columns:44px minmax(0,1fr);gap:16px 20px;padding:0}.home-presentation .home-working-steps li:before{display:none}.home-presentation .home-working-steps h3{align-self:center;max-width:none;min-height:0;margin:0}.home-presentation .home-working-steps li>p,.home-presentation .working-step-review{grid-column:2}.home-presentation .home-service:first-child h3{max-width:19ch}.home-services-followup{flex-direction:column;align-items:flex-start;gap:16px}.portfolio .story-milestone--care h3{font-size:2rem}.portfolio :is(.quiet-link,.small-external){white-space:normal}.portfolio .action{max-width:100%;font-size:.9375rem}}@media (prefers-reduced-motion:reduce){.story-milestone,.about-work-card,.home-service,.about-work-image img{transition:none;animation:none;transform:translate(0,0)}}@media (forced-colors:active){.story-milestone,.about-work-card,.home-service,.working-step-icon{color:canvastext;background:canvas;border-color:canvastext}.card-symbol,.milestone-meta svg,.working-step-icon{color:canvastext}}
