.pg-hero{padding-block:var(--s-8) var(--s-6)}@media(max-width:63.9375rem){.pg-hero{padding-top:calc(80px + var(--s-5))}}.pg-title{margin-top:var(--s-3);max-width:16ch}.pg-lead{margin-top:var(--s-4);max-width:56ch}.pg-work{padding-bottom:var(--s-8)}.wk-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-6) var(--s-5)}@media(min-width:52rem){.wk-grid{grid-template-columns:1fr 1fr}}@media(min-width:52rem){.wk-card:first-child{grid-column:1 / -1}}.wk-card__link{display:grid;gap:var(--s-3);color:var(--c-ink);text-decoration:none}.wk-card__media{display:block;overflow:hidden;border-radius:10px;border:1px solid var(--c-line);background:var(--c-bg-raised);aspect-ratio:16 / 10}.wk-card:first-child .wk-card__media{aspect-ratio:16 / 8}.wk-card__media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform var(--m-dur) var(--m-ease)}.wk-card__link:hover .wk-card__media img{transform:scale(1.03)}.wk-card__meta{display:grid;gap:var(--s-1)}.wk-card__award{color:var(--c-accent)}.wk-card__title{transition:color var(--m-dur-fast) var(--m-ease)}.wk-card__link:hover .wk-card__title{color:var(--c-accent)}.wk-card__tags{color:var(--c-ink-muted)}.wk-card__link:focus-visible{outline-offset:8px}@media(prefers-reduced-motion:reduce){.wk-card__link:hover .wk-card__media img{transform:none}}.ap-phases{list-style:none;margin:0;padding:0;counter-reset:ph}.ap-phase{counter-increment:ph;display:grid;gap:var(--s-3) var(--s-6);padding-block:var(--s-6);border-top:1px solid var(--c-line)}.ap-phase:first-child{border-top:0}@media(min-width:60rem){.ap-phase{grid-template-columns:6rem 1fr 1fr;align-items:start}}.ap-phase:before{content:counter(ph,upper-roman);font-family:var(--f-label);font-weight:700;font-size:var(--t-label);letter-spacing:var(--ls-label);color:var(--c-accent);padding-top:.6em}.ap-phase__body{color:var(--c-ink-muted);max-width:64ch}.ap-phase__body p+p{margin-top:var(--s-2)}.ap-list{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-1)}.ap-list li{font-family:var(--f-label);font-weight:700;font-size:var(--t-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-ink);padding:.5em .85em;border:1px solid var(--c-line);border-radius:999px}.ap-a11y{position:relative;isolation:isolate;overflow:clip}.ap-a11y__grid{display:grid;gap:var(--s-6);margin-top:var(--s-6)}@media(min-width:60rem){.ap-a11y__grid{grid-template-columns:1fr 1fr}}.ap-std{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-4)}.ap-std span{font-family:var(--f-display);font-weight:600;font-size:var(--t-h3);padding:.25em .6em;border:1px solid var(--c-accent);border-radius:8px;color:var(--c-accent)}.ap-checks{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-5)}.ap-checks li{color:var(--c-ink)}.ap-checks li span{display:block;color:var(--c-ink-muted);margin-top:.35em;max-width:40ch}.ap-devices{display:flex;align-items:flex-end;gap:var(--s-3);margin-top:var(--s-5);flex-wrap:wrap}.ap-dev{border:1px solid var(--c-line);border-radius:10px;padding:8px;display:grid;gap:6px;background:var(--c-bg-raised)}.ap-dev i{display:block;height:6px;border-radius:3px;background:var(--c-line)}.ap-dev i:first-child{background:var(--c-accent);width:40%}.ap-dev b{display:block;border-radius:4px;background:#f4f4f214}.ap-dev small{font-family:var(--f-label);font-size:.6875rem;letter-spacing:var(--ls-label);color:var(--c-ink-muted);text-transform:uppercase}.ap-dev--phone{width:64px}.ap-dev--phone b{height:70px}.ap-dev--tab{width:128px}.ap-dev--tab b{height:96px}.ap-dev--lap{width:210px}.ap-dev--lap b{height:120px}.ap-dev--wide{width:300px}.ap-dev--wide b{height:150px}.ap-principles{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:0 var(--s-6)}@media(min-width:52rem){.ap-principles{grid-template-columns:1fr 1fr}}.ap-principles li{padding-block:var(--s-4);border-top:1px solid var(--c-line)}.ap-principles li:first-child{border-top:0}@media(min-width:52rem){.ap-principles li:nth-child(2){border-top:0}}.ap-principles h3{margin-bottom:var(--s-1)}.ap-principles p{color:var(--c-ink-body);font-size:var(--t-para);max-width:60ch}.ct-grid{display:grid;gap:var(--s-6);padding-bottom:var(--s-8)}@media(min-width:60rem){.ct-grid{grid-template-columns:1.5fr 1fr}}.ct-aside{display:grid;gap:var(--s-4);align-content:start}.ct-aside .cta__link{margin-top:0;font-size:var(--t-lead)}.ct-aside p{color:var(--c-ink-muted);max-width:34ch}.ct-aside .ct-who{display:grid;gap:.1rem;color:var(--c-ink)}.ct-aside .ct-who .cta__link{justify-self:start;font-size:inherit;line-height:inherit;margin-bottom:var(--s-2)}.ct-who__n{font-weight:600;color:var(--c-ink)}.ct-who__t{color:var(--c-ink-muted)}.ct-form{display:grid;gap:var(--s-4)}.ct-form[hidden]{display:none}.ct-row{display:grid;gap:var(--s-4)}@media(min-width:40rem){.ct-row{grid-template-columns:1fr 1fr}}.ct-field{display:grid;gap:var(--s-1)}.ct-field label,.ct-legend{font-family:var(--f-label);font-weight:700;font-size:var(--t-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--c-ink)}.ct-field .ct-opt,.ct-legend .ct-opt{color:var(--c-ink-muted);font-weight:400;text-transform:none;letter-spacing:0}.ct-input{width:100%;font:inherit;color:var(--c-ink);background:var(--c-bg-raised);border:1px solid rgba(244,244,242,.38);border-radius:8px;padding:.8em .95em;transition:border-color var(--m-dur-fast) var(--m-ease)}.ct-input::placeholder{color:var(--c-ink-muted)}.ct-input:hover{border-color:#f4f4f299}.ct-input:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-color:var(--c-accent)}.ct-input[aria-invalid=true]{border-color:#ff8a7a}textarea.ct-input{min-height:10rem;resize:vertical}.ct-chips{border:0;margin:0;padding:0;display:grid;gap:.55rem}.ct-chips .ct-legend{padding:0;margin:0}.ct-chips .ct-legend{display:block;width:100%;white-space:nowrap}.ct-chips__set{display:flex;flex-wrap:wrap;gap:var(--s-1);margin-top:var(--s-1)}.ct-chip input{position:absolute;opacity:0;width:1px;height:1px}.ct-chip span{display:inline-block;cursor:var(--cur-link);white-space:nowrap;font:700 var(--t-label)/1 var(--f-label);letter-spacing:.08em;text-transform:uppercase;padding:.65rem .85rem;border-radius:999px;border:1px solid var(--c-line);color:var(--c-ink-muted);background:transparent;transition:color .3s,border-color .3s,background-color .3s}@media(hover:hover){.ct-chip:hover span{color:var(--c-ink);border-color:var(--c-ink-muted)}}.ct-chip input:checked+span{color:var(--c-accent);border-color:var(--c-accent)}.ct-chip input:focus-visible+span{outline:2px solid var(--c-accent);outline-offset:3px}.ct-err{color:#ff8a7a;font-size:.9375rem;min-height:0}.ct-err:empty{display:none}.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ct-submit{justify-self:start;display:inline-flex;align-items:center;gap:.7em;padding:1em 1.6em;border:0;border-radius:999px;cursor:var(--cur-link);background:var(--c-accent);color:#08080a;font-family:var(--f-label);font-weight:700;font-size:var(--t-label);letter-spacing:var(--ls-label);text-transform:uppercase;transition:transform var(--m-dur-fast) var(--m-ease),opacity var(--m-dur-fast) var(--m-ease)}.ct-submit:hover{transform:translateY(-1px)}.ct-submit[aria-disabled=true]{opacity:.6;cursor:progress}.ct-submit svg{width:1.4em;height:auto;overflow:visible}.ct-status{min-height:1.5em}.ct-status--ok{color:var(--c-accent)}.ct-status--err{color:#ff8a7a}.ct-done{display:grid;gap:var(--s-3);padding:var(--s-5);border:1px solid var(--c-line);border-radius:12px}.ct-done[hidden]{display:none}@media(prefers-reduced-motion:reduce){.ct-submit:hover{transform:none}}.ap-a11y .stats{grid-template-columns:1fr 1fr;gap:var(--s-4)}.ap-a11y .stat__n{white-space:nowrap;font-size:clamp(3rem,2rem + 4vw,5rem)}.ap-hero{position:relative;isolation:isolate;min-height:max(100svh,46rem);display:flex;flex-direction:column;justify-content:center}.ap-hero>.pg-hero{width:100%;padding-block:var(--s-6)}@media(max-width:63.9375rem){.ap-hero>.apw{inset:80px 0 0;height:auto}}@media(min-width:40.0625rem)and (max-width:63.9375rem){.ap-hero{justify-content:flex-start}.ap-hero>.pg-hero{padding-top:calc(120px + 2.6*min(20vw,150px) + 2rem)}}@media(max-width:40rem){.ap-hero{min-height:0;justify-content:flex-start}.ap-hero>.pg-hero{padding-top:calc(108px + 2.6*min(34vw,80px) + 1.25rem)}}
