.cap{padding-top:clamp(7rem,14vh,11rem)}.cap-back{font-family:var(--mono);font-size:var(--step--1);color:var(--muted);gap:.5em;margin-bottom:clamp(2.5rem,6vw,5rem);display:inline-flex}.cap-back:hover{color:var(--ink)}.cap-hero{max-width:62rem}.cap-hero__meta{color:var(--muted);gap:1.5rem;margin-bottom:1.4rem;display:flex}.cap-title{letter-spacing:-.045em;margin-bottom:clamp(1.4rem,3vw,2.2rem);font-size:clamp(2.7rem,1.3rem + 8.6vw,9.6rem);line-height:1}.cap-intro{max-width:38ch;font-size:var(--step-2);color:var(--ink-2);line-height:1.25}.cap-visual{margin:clamp(3rem, 7vw, 6rem) var(--gutter) 0;background:var(--paper-2);border:1px solid var(--line);height:clamp(280px,46vh,520px);color:var(--ink);border-radius:3px;place-items:center;display:grid;position:relative;overflow:hidden}.cap-visual[data-theme=dark]{background:var(--ink);color:var(--paper);border-color:#0000}.cap-visual[data-theme=accent]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.cap-visual__mark{z-index:1;width:min(30%,200px);position:relative}.cap-visual__ghost{white-space:nowrap;letter-spacing:-.04em;opacity:.08;font-size:clamp(3rem,13vw,11rem);line-height:.8;position:absolute;bottom:-.18em;left:50%;transform:translate(-50%)}.cap-body{flex-direction:column;gap:clamp(3.5rem,7vw,7rem);padding-block:clamp(4rem,8vw,8rem);display:flex}.cap-services{position:relative}.cap-services__name{font-size:var(--step-3);letter-spacing:-.03em;max-width:14ch;margin-top:clamp(.9rem,2vw,1.5rem);font-weight:600;line-height:.95;display:none}.cap-services__list{border-top:1px solid var(--line);margin-top:clamp(1.8rem,4vw,3rem);position:relative}@media (width>=960px){.cap-services{grid-template-columns:minmax(0,.32fr) minmax(0,.68fr);align-items:start;gap:clamp(2rem,5vw,4.5rem);display:grid}.cap-services__head{position:sticky;top:clamp(5rem,14vh,8.5rem)}.cap-services__name{display:block}.cap-services__list{margin-top:0}}.cap-services__spine{background:var(--line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:0}.cap-services__spine i{background:var(--accent);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.cap-service{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:.5rem;padding:clamp(1.5rem,3vw,2.4rem) clamp(.9rem,2vw,1.4rem);display:grid;position:relative}@media (width>=760px){.cap-service{grid-template-columns:3.2rem minmax(11rem,.85fr) 1.55fr;align-items:baseline;gap:clamp(1.5rem,4vw,3rem)}}.cap-service:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .55s var(--ease);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.cap-service:hover{background:var(--paper-2)}.cap-service:hover:after{transform:scaleX(1)}.cap-service__i{color:var(--accent);align-self:start}.cap-service__title{font-size:var(--step-2);letter-spacing:-.01em;transition:transform .45s var(--ease), color .45s var(--ease);font-weight:500}.cap-service:hover .cap-service__title{color:var(--accent);transform:translate(10px)}.cap-service__body{color:var(--muted);max-width:46ch;line-height:1.55}.cap-service__arrow{color:var(--accent);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);font-size:1.15em;position:absolute;top:clamp(1.5rem,3vw,2.4rem);right:clamp(.9rem,2vw,1.4rem);transform:translate(-8px,8px)}.cap-service:hover .cap-service__arrow{opacity:1;transform:translate(0)}.cap-includes__grid{grid-template-columns:1fr;gap:0;margin-top:1.6rem;list-style:none;display:grid}@media (width>=680px){.cap-includes__grid{grid-template-columns:1fr 1fr;column-gap:3rem}}.cap-include{border-top:1px solid var(--line);transition:background .35s var(--ease);align-items:baseline;gap:1rem;padding:1.1rem clamp(.6rem,1.5vw,1rem);display:flex}.cap-include:hover{background:var(--paper-2)}.cap-include__i{color:var(--accent);flex:none}.cap-include__t{font-size:var(--step-1);letter-spacing:-.01em;transition:transform .35s var(--ease)}.cap-include:hover .cap-include__t{transform:translate(6px)}.cap-approach{gap:1.5rem 4rem;display:grid}@media (width>=820px){.cap-approach{grid-template-columns:.28fr .72fr;align-items:start}}.cap-approach__list{flex-direction:column;gap:clamp(2rem,4vw,3rem);display:flex}.cap-step{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:1.4rem;padding-top:1.6rem;display:grid}.cap-step__i{color:var(--accent);font-size:var(--step-3);letter-spacing:-.03em;font-weight:700;line-height:.9}.cap-step__title{font-size:var(--step-2);margin-bottom:.5rem;font-weight:500}.cap-step__body p{color:var(--muted);max-width:52ch;line-height:1.55}.cap-stack{gap:1.5rem 4rem;display:grid}@media (width>=820px){.cap-stack{grid-template-columns:.28fr .72fr;align-items:start}}.cap-chips{flex-wrap:wrap;gap:.6rem;list-style:none;display:flex}.cap-chips li{border:1px solid var(--line);font-size:var(--step--1);transition:border-color .3s var(--ease), color .3s var(--ease);border-radius:2px;padding:.5em 1em}.cap-chips li:hover{border-color:var(--ink)}.cap-work{gap:1.6rem;display:grid}.cap-work__grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=700px){.cap-work__grid{grid-template-columns:1fr 1fr}}.cap-workcard{background:var(--paper-2);border:1px solid var(--line);min-height:200px;color:var(--ink);transition:transform .5s var(--ease);border-radius:3px;justify-content:space-between;align-items:flex-end;gap:1rem;padding:clamp(1.2rem,2.5vw,1.8rem);display:flex;position:relative;overflow:hidden}.cap-workcard[data-theme=dark]{background:var(--ink);color:var(--paper);border-color:#0000}.cap-workcard[data-theme=accent]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.cap-workcard:hover{transform:translateY(-6px)}.cap-workcard__mark{opacity:.3;width:84px;position:absolute;top:1rem;right:1rem}.cap-workcard__meta h3{font-size:var(--step-3);letter-spacing:-.03em;margin-top:.3rem;line-height:.9}.cap-next{text-align:left;background:var(--ink);width:100%;color:var(--paper);padding:clamp(3rem, 8vw, 7rem) var(--gutter);transition:background .5s var(--ease);border-top-left-radius:0;border-top-right-radius:0;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:clamp(2rem,5vw,4rem);display:flex}.cap-next:hover{background:var(--accent)}.cap-next__label{color:#f4f1e999}.cap-next__name{font-size:var(--step-5);letter-spacing:-.04em;line-height:.92}@media (width<=480px){.cap-next__name{font-size:clamp(2rem,9vw,3.2rem)}}
