/* EP Digital Studio — shared forms and product pages, 2026-10-07 */
:root { --dim:#A1A9BA; }
[hidden] { display:none !important; }
.btn-primary { color:#090b10; }
.ep-form .btn-primary { background:#8caeff; color:#090b10; }
.project-form-wrap .ep-form { max-width:none; }
.version-note { font:12px/1.7 'JetBrains Mono',monospace; color:var(--muted,#b0b7c6); margin:16px 0; }
.product-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.product-actions .btn { font-size:14px; padding:12px 20px; }
.launch-box,.project-form-wrap { padding:28px; border:1px solid #34415c; border-radius:22px; background:linear-gradient(130deg,#151c2a,#12151d); text-align:left; }
.launch-box { margin-top:28px; }
.launch-box h3,.project-form-wrap h3 { margin:0 0 8px; font-size:22px; letter-spacing:-.025em; line-height:1.3; }
.launch-box > p,.project-form-wrap > p { color:#b0b7c6; font-size:14px; margin:0 0 22px; }
.ep-form { color:#f7f8fc; width:100%; max-width:900px; }
.ep-form label { display:block; color:#d2d8e5; font-size:14px; font-weight:500; margin-bottom:7px; }
.ep-form input:not([type=checkbox]),.ep-form textarea,.ep-form select { width:100%; min-width:0; background:#0d111a; color:#f7f8fc; border:1px solid #566077; border-radius:11px; padding:13px 15px; font:400 16px/1.5 'Inter',system-ui,sans-serif; box-sizing:border-box; }
.ep-form textarea { resize:vertical; min-height:145px; }
.ep-form input::placeholder,.ep-form textarea::placeholder { color:#9ca8bd; }
.ep-form input:focus-visible,.ep-form textarea:focus-visible,.ep-form select:focus-visible { outline:2px solid #8caeff; outline-offset:3px; }
.ep-form .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ep-form .form-wide { grid-column:1/-1; }
.ep-form .form-row { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.ep-form .email-field { flex:1 1 210px; min-width:0; }
.ep-form .form-check { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#b0b7c6; line-height:1.7; margin:18px 0; font-weight:400; }
.ep-form .form-check input { accent-color:#8caeff; width:18px; height:18px; flex:none; margin:3px 0 0; }
.ep-form .form-check a,.ep-form .form-note a { text-decoration:underline; text-underline-offset:3px; color:#c2d4ff; }
.ep-form .form-note { font-size:13px; color:#b0b7c6; line-height:1.7; margin:16px 0; }
.ep-form .form-status { margin-top:16px; min-height:0; font-size:14px; line-height:1.6; }
.ep-form .form-status:not(:empty) { padding:14px 16px; border:1px solid #3b5270; background:#102038; border-radius:10px; }
.ep-form .form-status[data-state=error] { color:#ffc5c7; background:#2b171f; border-color:#95545b; }
.ep-form .form-status[data-state=success] { color:#99efd0; background:#10261f; border-color:#307e62; }
.ep-form button { cursor:pointer; font-family:inherit; }
.ep-form button:disabled { opacity:.65; cursor:wait; }
.ep-form .hp-field { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); pointer-events:none; }
.contact-details { margin-top:28px; }
.contact-details > summary { cursor:pointer; list-style:none; padding:24px 28px; border:1px solid #34415c; border-radius:18px; background:#12151d; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.contact-details > summary::-webkit-details-marker { display:none; }
.contact-details > summary::after { content:'+'; color:#8caeff; font-size:28px; }
.contact-details[open] > summary::after { content:'−'; }
.contact-details > summary b { display:block; font-size:20px; }
.contact-details > summary small { display:block; margin-top:5px; color:#b0b7c6; font-size:13px; }
.contact-details .project-form-wrap { margin-top:12px; }
.contact-details summary:focus-visible { outline:2px solid #8caeff; outline-offset:4px; }
.contact-cards .cv { overflow-wrap:anywhere; }
.standalone { max-width:1160px; margin:auto; padding:80px 32px; }
.standalone h1 { font-size:clamp(44px,6vw,76px); line-height:1.05; letter-spacing:-.045em; margin:20px 0; }
.standalone .lead { font-size:18px; color:#b0b7c6; max-width:660px; }
.product-hero { display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:70px; }
.product-phone { width:min(255px,100%); margin:0 auto; }
.product-phone img { width:100%; border-radius:30px; border:7px solid #252d3c; height:auto; }
.product-phone figcaption { text-align:center; color:#b0b7c6; font-size:12px; margin-top:16px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.feature-card { background:#12151d; border:1px solid #293142; border-radius:18px; padding:26px; }
.feature-card h3 { font-size:20px; margin:0 0 12px; }
.feature-card p { color:#b0b7c6; font-size:15px; margin:0; }
.product-section { padding:66px 0; border-top:1px solid #293142; margin-top:65px; }
.product-section h2 { font-size:clamp(30px,4vw,46px); letter-spacing:-.03em; line-height:1.15; }
.legal-copy { max-width:800px; }
.legal-copy h2 { font-size:25px; margin:38px 0 14px; }
.legal-copy p,.legal-copy li { color:#c0c6d3; margin:12px 0; }
.legal-copy a { text-decoration:underline; text-underline-offset:3px; }
.error-equation { display:grid; grid-template-columns:1.4fr .65fr .65fr .65fr 1.2fr; max-width:520px; gap:10px; align-items:center; margin:36px 0; font-family:'JetBrains Mono',monospace; }
.error-equation span { display:grid; place-items:center; width:100%; min-width:0; height:clamp(52px,7vw,80px); border:1px solid #34415c; border-radius:14px; background:#12151d; font-size:clamp(16px,2.7vw,26px); }
.error-equation .answer { color:#99efd0; background:#10261f; }
@media(max-width:720px) { .launch-box,.project-form-wrap { padding:22px; } .ep-form .form-grid { grid-template-columns:minmax(0,1fr); } .product-hero,.feature-grid { grid-template-columns:minmax(0,1fr); } .product-hero { gap:36px; } .standalone { padding:50px 22px; } .contact-details > summary { padding:20px; } .ep-form .form-row button { width:100%; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
