:root{--reach-primary:#724dff;--reach-primary-soft:rgba(114,77,255,.12);--reach-primary-strong:rgba(114,77,255,.18);--reach-primary-dark:#2b1b4d}.reach-project-wrapper{width:100%;min-height:100vh;background:var(--bg-main)}.reach-interactive{margin-top:var(--space-paragraph-content);padding:clamp(24px,4vw,32px);border-radius:18px;background:rgba(var(--text-title-rgb),.04);border:1px solid rgba(var(--text-title-rgb),.12);display:flex;flex-direction:column;gap:var(--space-paragraph-content)}.reach-interactive h3{margin:0;text-align:center;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:var(--font-weight-semibold,600);color:var(--soft-white)}.reach-contact-list{display:flex;flex-direction:column;gap:var(--grid-gap-sm)}.reach-contact{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:14px;border:1px solid rgba(var(--text-title-rgb),.1);background:rgba(var(--text-title-rgb),.04);transition:border-color .25s ease,transform .25s ease,background .25s ease}.reach-contact:hover{transform:translateY(-1px);border-color:rgba(var(--text-title-rgb),.22)}.reach-contact.is-called{background:var(--reach-primary-strong);border-color:var(--reach-primary);color:var(--reach-primary-dark)}.reach-contact-info{display:flex;gap:14px;align-items:center}.reach-contact-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--text-title-rgb),.12);font-size:22px}.reach-contact-details h4{margin:0 0 4px;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold,600);color:var(--soft-white)}.reach-contact-details p{margin:0;font-size:var(--font-size-sm);color:rgba(var(--text-title-rgb),.7)}.reach-call-button{border:none;border-radius:999px;padding:10px 18px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium,500);color:var(--soft-white);background:var(--reach-primary);cursor:pointer;transition:background .25s ease,transform .25s ease}.reach-call-button:hover:not(:disabled){background:#8f7bff;transform:translateY(-1px)}.reach-call-button:disabled{background:var(--reach-primary-soft);color:var(--reach-primary-dark);cursor:not-allowed}.reach-progress{text-align:center;display:flex;flex-direction:column;gap:12px}.reach-progress h4{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold,600);color:var(--soft-white)}.reach-progress p{margin:0;font-size:var(--font-size-sm);color:rgba(var(--text-title-rgb),.75)}.reach-progress-track{width:100%;height:10px;border-radius:999px;background:rgba(var(--text-title-rgb),.1);overflow:hidden}.reach-progress-fill{height:100%;background:var(--reach-primary);border-radius:inherit;transition:width .4s ease}.reach-problem{margin-top:var(--space-paragraph-content);display:grid;gap:var(--grid-gap-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.reach-problem-column{border-radius:18px;border:1px solid rgba(var(--text-title-rgb),.12);background:rgba(var(--text-title-rgb),.04);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:var(--space-paragraph-content);text-align:center}.reach-problem-column h4{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold,600);color:var(--soft-white)}.reach-problem-column p{margin:0;font-size:var(--font-size-sm);color:rgba(var(--text-title-rgb),.75)}.reach-notification-wall{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;background:rgba(255,87,87,.08);border:1px solid rgba(255,87,87,.2);font-size:var(--font-size-sm);color:rgba(var(--text-title-rgb),.85)}.reach-focus-panel{display:flex;flex-direction:column;gap:12px}.reach-focus-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:12px 16px;border-radius:12px;background:rgba(var(--text-title-rgb),.08);gap:12px;font-size:var(--font-size-sm);transition:transform .25s ease}.reach-focus-card[data-level=high]{background:var(--reach-primary);color:var(--soft-white)}.reach-focus-card[data-level=medium]{background:rgba(var(--text-title-rgb),.12)}.reach-focus-card[data-level=low]{background:rgba(var(--text-title-rgb),.08)}.reach-focus-card:hover{transform:translateY(-1px)}.reach-focus-emoji{font-size:20px}.reach-focus-name{font-weight:var(--font-weight-semibold,600)}.reach-focus-meta{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.75}.reach-animation-grid{margin-top:var(--space-paragraph-content);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--grid-gap-md)}.reach-animation-item{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.reach-animation-item h4{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium,500);color:rgba(var(--text-title-rgb),.75)}.reach-animation-media{width:100%;border-radius:18px;overflow:hidden;border:1px solid rgba(var(--text-title-rgb),.1);background:rgba(var(--text-title-rgb),.05)}.reach-animation-media img,.reach-animation-media video{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.reach-palette{margin-top:var(--space-paragraph-content);display:flex;gap:16px;align-items:stretch;flex-wrap:nowrap;overflow:visible}.reach-palette-item{flex:1 1 0;min-width:0;min-height:140px;border-radius:18px;position:relative;overflow:hidden;border:none;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(var(--text-title-rgb),.08);transition:flex .35s ease,border-radius .28s ease,opacity .28s ease;color:inherit;background:var(--reach-swatch-color,rgba(var(--text-title-rgb),.06))!important}.reach-palette-item[data-contrast=dark]{box-shadow:inset 0 0 0 1px rgba(var(--text-title-rgb),.18)}.reach-palette-item:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left,hsla(0,0%,100%,.12),rgba(0,0,0,.28));opacity:0;transition:opacity .28s ease}.reach-palette-item[data-contrast=dark]:after{background:linear-gradient(135deg,rgba(15,16,38,.28),rgba(15,16,38,.08))}.reach-palette-label{position:absolute;left:18px;right:18px;bottom:18px;border-radius:14px;padding:12px 14px;background:rgba(10,8,28,.68);color:#fff;display:flex;flex-direction:column;gap:2px;font-size:.88rem;letter-spacing:.18px;opacity:0;transform:translateY(10px);transition:opacity .24s ease,transform .24s ease;pointer-events:none;backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08)}.reach-palette-item[data-contrast=dark] .reach-palette-label{background:rgba(229,228,255,.82);color:#12142c;box-shadow:inset 0 0 0 1px rgba(var(--text-title-rgb),.12)}.reach-palette-label strong{font-size:.95rem;letter-spacing:.2px;line-height:1.2}.reach-palette-label span{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;opacity:.72}.reach-palette-item:focus-visible,.reach-palette-item:hover{flex:1.35 1 0;border-radius:22px}.reach-palette-item:focus-visible:after,.reach-palette-item:hover:after{opacity:.65}.reach-palette-item:focus-visible .reach-palette-label,.reach-palette-item:hover .reach-palette-label{opacity:1;transform:translateY(0)}.reach-palette-item:focus-visible{outline:2px solid hsla(0,0%,100%,.85);outline-offset:4px}.reach-figure{margin:var(--space-paragraph-content) 0 0;border-radius:20px;overflow:hidden;border:1px solid rgba(var(--text-title-rgb),.1);background:rgba(var(--text-title-rgb),.04)}.reach-figure img{display:block;width:100%;height:auto}.reach-subsection{margin-top:clamp(32px,5vw,48px);display:flex;flex-direction:column;gap:clamp(20px,4vw,28px)}.reach-subsection h3{margin:0;font-size:clamp(1.1rem,2.2vw,1.4rem);font-weight:var(--font-weight-semibold,600);color:rgba(var(--text-title-rgb),.92);letter-spacing:var(--tracking-normal)}.reach-subsection p{margin:0;font-size:clamp(.95rem,1.9vw,1.05rem);line-height:var(--leading-relaxed,1.55);color:rgba(var(--text-title-rgb),.78)}.reach-mockups{display:flex;flex-direction:column;gap:var(--grid-gap-md);width:100%;margin-top:var(--space-paragraph-content)}.reach-mockups img{display:block;height:auto;border-radius:18px;border:1px solid rgba(var(--text-title-rgb),.08);background:rgba(var(--text-title-rgb),.04)}.reach-icon,.reach-mockups img{width:100%;max-width:1000px;margin-inline:auto}.reach-icon{margin-top:var(--space-heading-paragraph)}.reach-icon img{display:block;width:100%;height:auto;border-radius:24px;border:1px solid rgba(var(--text-title-rgb),.1)}@media (max-width:720px){.reach-interactive{padding:20px}.reach-contact{flex-direction:column;align-items:flex-start;gap:16px}.reach-call-button{width:100%;justify-self:stretch;text-align:center}.reach-palette{gap:12px}.reach-palette-item{min-height:120px}.reach-palette-item:focus-visible,.reach-palette-item:hover{flex:1.2 1 0}.reach-palette-item:focus-visible{outline-offset:6px}}