/* Import tokens.css before this file. Components are namespaced and framework-independent. */
.pl-surface{background:var(--pl-color-paper);color:var(--pl-color-ink);font-family:var(--pl-font-sans);line-height:1.6}
.pl-surface *,.pl-surface *::before,.pl-surface *::after{box-sizing:border-box}
.pl-surface :focus-visible{outline:3px solid var(--pl-color-focus);outline-offset:4px}
.pl-surface button,.pl-surface input,.pl-surface select,.pl-surface textarea{font:inherit}
.pl-container{max-width:var(--pl-container);padding-inline:var(--pl-gutter);margin-inline:auto}
.pl-stack>*+*{margin-block-start:var(--pl-space-5)}
.pl-eyebrow{font-family:var(--pl-font-mono);font-size:var(--pl-text-meta);letter-spacing:.06em;text-transform:uppercase}
.pl-display{font-size:var(--pl-text-display);font-weight:600;line-height:1.02;letter-spacing:-.055em;margin:0}
.pl-display em{font-style:normal;color:var(--pl-color-accent-text)}
.pl-heading{font-size:var(--pl-text-h2);font-weight:600;line-height:1.08;letter-spacing:-.04em;margin:0}
.pl-lead{font-size:var(--pl-text-lead);line-height:1.55;max-width:52ch}
.pl-muted{color:var(--pl-color-muted)}
/* The same wordmark as the site: "piper" bold, "link" regular, a coral dot. */
.pl-wordmark{display:inline-flex;align-items:baseline;font-size:28px;letter-spacing:-1.5px;font-weight:650;line-height:1;text-decoration:none;color:var(--pl-color-ink)}
.pl-wordmark span{font-weight:450;color:inherit}
.pl-wordmark i{align-self:flex-end;width:.19em;height:.19em;margin:0 0 .1em .16em;border-radius:50%;background:var(--pl-color-coral)}
/* Language switch (owner 14.10.2026): both languages with the current one filled, the same control on the site, the
   checkout and the project room. <nav class="pl-lang" aria-label="…"><a lang="en" …>EN</a><a lang="uk" aria-current="page" …>УКР</a></nav> */
.pl-lang{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;flex-shrink:0;padding:2px;border:1px solid var(--pl-color-line);background:var(--pl-color-paper)}
.pl-lang a{display:grid;place-items:center;min-width:40px;height:28px;padding:0 9px;color:var(--pl-color-muted);font:650 12px/1 var(--pl-font-sans);letter-spacing:.04em;text-decoration:none;transition:color .15s,background-color .15s}
.pl-lang a:hover{background:#2628200d;color:var(--pl-color-ink)}
.pl-lang a[aria-current]{background:var(--pl-color-ink);color:var(--pl-color-paper)}
.pl-lang a:focus-visible{outline:2px solid var(--pl-color-focus);outline-offset:2px}
@media(pointer:coarse){.pl-lang a{height:32px}}
@media(prefers-reduced-motion:reduce){.pl-lang a{transition:none}}
.pl-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:58px;padding:16px 22px;border:1px solid transparent;border-radius:var(--pl-radius-control);font-size:var(--pl-text-small);font-weight:650;line-height:1.4;background:var(--pl-color-ink);color:var(--pl-color-paper);cursor:pointer;text-decoration:none;transition:transform var(--pl-duration-base) var(--pl-ease),background var(--pl-duration-base),color var(--pl-duration-base)}
.pl-button:hover{background:#414537;transform:translateY(-2px)}
.pl-button--accent{background:var(--pl-color-coral);color:var(--pl-color-ink)}
.pl-button--accent:hover{background:#ff754e}
.pl-button--outline{background:transparent;border-color:var(--pl-color-ink);color:var(--pl-color-ink)}
.pl-button--outline:hover{background:var(--pl-color-ink);color:var(--pl-color-paper)}
.pl-button--small{min-height:44px;padding:10px 16px}
.pl-button:disabled,.pl-button[aria-disabled='true']{opacity:.5;cursor:not-allowed;transform:none}
.pl-button[aria-busy='true']{cursor:progress}
.pl-button .pl-arrow{transition:transform var(--pl-duration-base);font-size:20px}
.pl-button:hover .pl-arrow{transform:translate(3px,-3px)}
.pl-link{color:var(--pl-color-ink);text-underline-offset:5px;text-decoration-thickness:1px}
.pl-card{padding:32px;border:var(--pl-border);border-radius:var(--pl-radius-card);min-width:0}
.pl-card--featured{background:var(--pl-color-lime);border-color:var(--pl-color-lime)}
.pl-card--dark{background:var(--pl-color-dark);color:var(--pl-color-paper);border-color:var(--pl-color-dark)}
.pl-card h3{font-size:var(--pl-text-h3);font-weight:600;letter-spacing:-.035em;margin:12px 0}
.pl-price{font-size:56px;font-weight:600;line-height:1.2;letter-spacing:-.05em}
.pl-price small{font-size:var(--pl-text-small);letter-spacing:0;font-weight:400}
.pl-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid currentColor;border-radius:var(--pl-radius-pill);font:var(--pl-text-meta)/1.5 var(--pl-font-mono)}
.pl-field{display:grid;gap:8px;font-size:var(--pl-text-small);font-weight:650}
.pl-input{display:block;width:100%;min-height:48px;padding:12px;border:1px solid var(--pl-color-control-border);border-radius:0;background:var(--pl-color-field);color:var(--pl-color-ink);font-size:16px!important;line-height:1.5}
.pl-input::placeholder{color:var(--pl-color-muted)}
.pl-input[aria-invalid='true']{border:2px solid var(--pl-color-error)}
.pl-help{font-size:var(--pl-text-small);color:var(--pl-color-muted);font-weight:400}
.pl-error{font-size:var(--pl-text-small);color:var(--pl-color-error);font-weight:500}
.pl-check{display:flex;gap:12px;align-items:flex-start;min-height:44px;font-size:var(--pl-text-small);cursor:pointer}
.pl-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--pl-color-ink)}
.pl-notice{padding:16px;border-inline-start:3px solid var(--pl-color-success);background:var(--pl-color-success-bg);color:var(--pl-color-success)}
.pl-notice--error{background:var(--pl-color-error-bg);color:var(--pl-color-error);border-color:var(--pl-color-error)}
.pl-accordion{border-block-end:var(--pl-border)}
.pl-accordion summary{padding:24px 4px;min-height:48px;font-weight:650;cursor:pointer}
.pl-accordion p{margin:0;padding:0 4px 24px;max-width:65ch}
.pl-dialog{background:var(--pl-color-paper);color:var(--pl-color-ink);border:var(--pl-border);border-radius:var(--pl-radius-dialog);padding:0;width:min(560px,calc(100% - 32px));max-height:90dvh;overflow:hidden}
.pl-dialog__body{padding:32px;max-height:calc(90dvh - 2px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.pl-dialog::backdrop{background:#25271fe0;backdrop-filter:blur(8px)}
.pl-table-wrap{max-width:100%;overflow:auto}
.pl-table{border-collapse:collapse;width:100%;font-size:var(--pl-text-small);text-align:left}
.pl-table caption{text-align:left;font-weight:650;padding:16px 0}
.pl-table th,.pl-table td{padding:16px 12px;border-bottom:var(--pl-border);vertical-align:top}
.pl-table th{font-family:var(--pl-font-mono);font-size:var(--pl-text-meta);font-weight:400}
@media(max-width:700px){.pl-card{padding:24px}.pl-dialog__body{padding:24px}.pl-display{font-size:clamp(2rem,9.6vw,4.2rem)}.pl-lead{font-size:18px}}
@media(prefers-reduced-motion:reduce){.pl-surface *, .pl-surface *::before,.pl-surface *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.pl-surface[data-motion='off'] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
