.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-block:8rem 3.5rem;gap:var(--sp-5);position:relative;isolation:isolate}.hero:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translate(-50%);z-index:-1;pointer-events:none;background:linear-gradient(0deg,var(--paper-warm) 0%,transparent 30%)}.hero__title{font-size:var(--step-4);display:grid}.hero__line{display:block}.hero__line--em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent);padding-left:.08em}.hero__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-5)}.btn{display:inline-flex;align-items:baseline;gap:.9em;padding:.85em 1.5em;border:1px solid var(--ink);border-radius:var(--radius-pill);font-size:var(--t-label);font-family:var(--mono);letter-spacing:var(--tr-label);text-transform:uppercase;transition:background var(--d-fast) var(--ease-soft),color var(--d-fast) var(--ease-soft)}.btn:hover{background:var(--ink);color:var(--paper)}.btn__count{font-size:.8em;opacity:.55}.pitch{padding-block:var(--sec)}.pitch__grid{display:grid;gap:clamp(1.75rem,5vw,4rem);padding-top:var(--sp-5);grid-template-columns:1fr}.pitch__head{font-size:var(--step-2);max-width:20ch}.pitch__dot{color:var(--accent)}.pitch__body{display:grid;gap:1.25rem;max-width:62ch;color:var(--ink-soft)}.pitch__body p{font-size:var(--step-0)}.specs{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--sp-4) var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-4)}.specs li{display:grid;gap:.15rem}.specs b{font-size:var(--step-1);font-weight:500;letter-spacing:-.02em;color:var(--ink)}.specs span{font-size:var(--t-label);line-height:1.35}@media(min-width:62rem){.pitch__grid{grid-template-columns:1fr 1.15fr}}.work__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-block:var(--sp-5) var(--sp-3)}.work__title{font-size:var(--step-2)}.cases{list-style:none;margin:0;padding:0 0 clamp(3rem,8svh,6rem)}.case{--svc: var(--case-accent);--el-accent: 0 0 0 1px var(--svc, var(--accent)), 0 26px 52px -26px color-mix(in oklab, var(--svc, var(--accent)) 32%, transparent);border-top:1px solid var(--line)}.case:last-child{border-bottom:1px solid var(--line)}.case__link{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.4rem 1.25rem;padding:clamp(1.4rem,3vw,2.2rem) 0;position:relative;transition:padding-left var(--d-base) var(--ease)}.case__link:hover,.case__link:focus-visible{padding-left:clamp(.5rem,2vw,1.5rem)}.case__link:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--radius-sm);background:#ffffffb8;background:linear-gradient(90deg,color-mix(in srgb,var(--case-accent) 16%,transparent),transparent 65%),#ffffffb8;box-shadow:var(--el-3);opacity:0;transform:translate(-1.5rem);transition:opacity var(--d-base) var(--ease),transform var(--d-base) var(--ease)}@supports (color: color-mix(in oklab,#000 32%,transparent)){.case__link:hover:before,.case__link:focus-visible:before{box-shadow:var(--el-3),var(--el-accent)}}.case__link:hover:before,.case__link:focus-visible:before{opacity:1;transform:none}.case__n{font-family:var(--mono);font-size:var(--t-label);letter-spacing:var(--tr-label);color:var(--ink-soft)}.case__name{font-size:var(--step-2);display:inline-flex;align-items:center;gap:.5em}.case__name:after{content:"↗";font-size:.4em;opacity:0;transform:translate(-.4em,.4em);transition:opacity var(--d-fast) var(--ease-out),transform var(--d-fast) var(--ease-out)}.case__link:hover .case__name:after,.case__link:focus-visible .case__name:after{opacity:.6;transform:none}.case__meta{grid-column:2;display:flex;flex-wrap:wrap;gap:.35em .9em;font-family:var(--mono);font-size:var(--t-label);color:var(--ink-soft)}.case__tech{color:var(--case-accent)}.case__summary{grid-column:2;max-width:52ch;color:var(--ink-soft);margin-top:var(--sp-1)}@media(min-width:62rem){.case__link{grid-template-columns:4rem minmax(0,15rem) minmax(0,1fr);align-items:center;gap:2rem}.case__meta,.case__summary{grid-column:auto;margin-top:0}.case__meta{flex-direction:column;gap:.2rem}}.process{padding-block:var(--sec)}.process__title{font-size:var(--step-2);padding-block:var(--sp-5) 2rem}.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.steps li{display:grid;gap:var(--sp-1);align-content:start;border-top:1px solid var(--line);padding-top:1.1rem}.steps__n{font-family:var(--mono);font-size:var(--t-label);letter-spacing:var(--tr-label);color:var(--accent)}.steps h3{font-size:var(--step-1)}.steps p{color:var(--ink-soft);font-size:var(--t-label);line-height:1.55}.contact{background:var(--ink);color:var(--paper);padding-block:clamp(5rem,14svh,10rem)}.contact__title{font-size:var(--step-3);margin-block:var(--sp-3) var(--sp-5)}.contact__title em{font-family:var(--serif);font-style:italic;color:var(--accent)}.contact__mail{font-size:var(--step-1);border-bottom:1px solid rgb(244 242 238 / .3);padding-bottom:.15em;transition:border-color var(--d-fast) var(--ease-soft)}.contact__mail:hover{border-color:var(--accent)}.contact__note{margin-top:2rem;max-width:46ch;color:var(--dim);font-size:var(--t-label);line-height:1.6}.foot{background:var(--ink);color:var(--dim);padding-block:var(--sp-4) 2rem;border-top:1px solid var(--line)}.foot__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-1) var(--sp-4);font-family:var(--mono);font-size:var(--t-label);letter-spacing:.06em}.foot__back{display:inline-flex;align-items:center;min-height:1.5rem;gap:.5em;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--paper);transition:color var(--d-fast) var(--ease-soft)}.foot__back:before{content:"←"}.foot__back:hover{color:var(--accent)}[data-reveal]{opacity:0;transform:translateY(1.4rem)}[data-reveal].is-in{opacity:1;transform:none;transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}
.contact__cta{margin-block:1.25rem 0;display:inline-flex}.contact__note a{color:var(--accent);text-decoration:underline;text-underline-offset:0.15em}