:root{--bg:#fbf9f1;--bg-low:#f5f4ec;--ink:#0f0f0f;--panel:#fff;--accent-red:#ff6b6b;--accent-yellow:#fdd73b;--accent-purple:#a092d7;--accent-green:#12c4a0;--surface:#f0eee6;--shadow-sm:4px 4px 0 var(--ink);--shadow:8px 8px 0 var(--ink);--shadow-lg:12px 12px 0 var(--ink);--shadow-xl:16px 16px 0 var(--ink);--radius:0px;--font-headline:"Space Grotesk", sans-serif;--font-body:"Manrope", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden}.halftone{background-image:radial-gradient(#00000014 1px,#0000 0);background-size:8px 8px}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:-.02em;font-weight:900;line-height:.95}.eyebrow{border:2px solid var(--ink);background:var(--accent-green);font-weight:800;font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;padding:6px 14px;font-size:.75rem;display:inline-flex}.btn{border:4px solid var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:14px 28px;font-size:1rem;font-weight:900;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex}.btn.primary{background:var(--accent-yellow);box-shadow:var(--shadow)}.btn.secondary{background:var(--accent-red);color:#fff;box-shadow:var(--shadow)}.btn.ghost{background:var(--panel);box-shadow:var(--shadow)}.btn.dark{background:var(--ink);color:#fff;box-shadow:var(--shadow)}.btn:hover{box-shadow:var(--shadow-lg);transform:translate(-4px,-4px)}.btn:active{box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.header{z-index:100;border-bottom:4px solid var(--ink);box-shadow:var(--shadow-sm);background:#fffdf5;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1280px;margin:0 auto;padding:14px 24px;display:flex}.logo{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:-.03em;color:var(--ink);white-space:nowrap;background:var(--accent-yellow);border:4px solid var(--ink);box-shadow:4px 4px 0px 0px var(--ink);padding:4px 16px;font-size:1.5rem;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .15s;transform:rotate(-1deg)}.logo:hover{box-shadow:8px 8px 0px 0px var(--ink);transform:rotate(0)translate(-4px,-4px)}.logo:active{box-shadow:0px 0px 0px 0px var(--ink);transform:rotate(0)translate(0)}.logo span{color:#ff1b1b}.nav-desktop{align-items:center;gap:6px;display:none}.nav-desktop a{color:var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:-.01em;padding:6px 10px;font-size:.85rem;font-weight:800;text-decoration:none;transition:background .1s}.nav-desktop a:hover{background:var(--accent-yellow)}.nav-desktop a.active{color:var(--accent-red);border-bottom:3px solid var(--accent-red)}.header-cta{background:var(--accent-yellow);border:3px solid var(--ink);box-shadow:var(--shadow-sm);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);padding:8px 20px;font-size:.8rem;font-weight:900;text-decoration:none;transition:transform .1s,box-shadow .1s;display:none}.header-cta:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.hamburger{border:3px solid var(--ink);background:var(--panel);width:44px;height:44px;box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px;transition:transform .1s,box-shadow .1s;display:flex}.hamburger:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.hamburger:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.hamburger span{background:var(--ink);width:100%;height:3px;transition:transform .3s,opacity .3s;display:block}.hamburger.active span:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.mobile-menu{background:var(--bg);z-index:99;flex-direction:column;gap:8px;padding:80px 24px 24px;display:none;position:fixed;inset:0;overflow-y:auto}.mobile-menu.open{display:flex}.mobile-menu a{border:3px solid var(--ink);background:var(--panel);box-shadow:var(--shadow-sm);color:var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.02em;padding:16px 20px;font-size:1.1rem;font-weight:900;text-decoration:none;transition:transform .1s,box-shadow .1s,background .1s;display:block}.mobile-menu a:hover{background:var(--accent-yellow);box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.mobile-menu .mobile-cta{background:var(--accent-red);color:#fff;text-align:center;margin-top:12px}.hero{align-items:center;min-height:90vh;padding:60px 24px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:radial-gradient(#0000000f 1px,#0000 0);background-size:8px 8px;position:absolute;inset:0}.hero-inner{z-index:1;grid-template-columns:1fr;align-items:center;gap:40px;width:100%;max-width:1280px;margin:0 auto;display:grid;position:relative}.hero-content{order:1}.hero-panel{order:2}.hero-badge{background:var(--accent-purple);border:2px solid var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;padding:6px 14px;font-size:.7rem;font-weight:800;display:inline-block;transform:rotate(-1deg)}.hero h1{margin-bottom:20px;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.9}.hero h1 .highlight{background:var(--accent-red);color:#fff;padding:0 8px;display:inline-block}.hero-lede{border-left:6px solid var(--ink);max-width:560px;margin-bottom:28px;padding-left:16px;font-size:clamp(1rem,2vw,1.25rem);font-weight:500}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.hero-facts{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.hero-fact{border:3px solid var(--ink);background:var(--panel);box-shadow:var(--shadow-sm);text-align:center;padding:12px}.hero-fact-value{font-family:var(--font-headline);font-size:1.3rem;font-weight:900;display:block}.hero-fact-label{text-transform:uppercase;letter-spacing:.04em;color:#555;font-size:.7rem;font-weight:700;display:block}.hero-panel{border:4px solid var(--ink);background:var(--panel);box-shadow:var(--shadow-lg);order:1;position:relative;overflow:hidden}.hero-panel:after{content:"";background:var(--accent-yellow);z-index:-1;position:absolute;inset:8px;transform:rotate(2deg)}.panel-dots{border-bottom:3px solid var(--ink);background:var(--surface);gap:8px;padding:12px 16px;display:flex}.panel-dot{border:2px solid var(--ink);border-radius:50%;width:12px;height:12px}.panel-dot.r{background:var(--accent-red)}.panel-dot.a{background:#ffd447}.panel-dot.g{background:#2bd186}.panel-body{padding:20px}.panel-body h3{margin-bottom:12px;font-size:1.1rem}.panel-body ul{gap:8px;margin-bottom:16px;padding:0;list-style:none;display:grid}.panel-body li{align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.panel-body li:before{content:"";background:var(--ink);flex-shrink:0;width:8px;height:8px}.panel-cta-link{font-family:var(--font-headline);text-transform:uppercase;color:var(--ink);border:2px solid var(--ink);background:var(--accent-red);box-shadow:var(--shadow-sm);padding:8px 14px;font-size:.85rem;font-weight:900;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-block}.panel-cta-link:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.section{padding:60px 24px;position:relative}.section-inner{max-width:1280px;margin:0 auto}.section-head{text-align:center;margin-bottom:40px}.section-head .eyebrow{margin-bottom:12px}.section-head h2{font-size:clamp(1.8rem,4vw,3rem)}.section-dark{background:var(--bg);color:var(--ink);border-top:8px solid var(--ink);border-bottom:8px solid var(--ink)}.section-dark .eyebrow{background:var(--accent-red);color:#fff;border-color:var(--ink)}.section-dark h2{color:var(--ink)}.section-purple{background:var(--accent-purple);border-top:8px solid var(--ink);border-bottom:8px solid var(--ink)}.section-purple:before{content:"";pointer-events:none;background-image:radial-gradient(#0000000f 1px,#0000 0);background-size:8px 8px;position:absolute;inset:0}.section-yellow{background:var(--accent-yellow);border-top:8px solid var(--ink);border-bottom:8px solid var(--ink)}.about-grid{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}.about-image-wrap{position:relative}.about-image{object-fit:cover;border:4px solid var(--ink);width:100%;height:300px;box-shadow:var(--shadow-lg);background:var(--surface);font-family:var(--font-headline);text-transform:uppercase;color:#888;justify-content:center;align-items:center;font-size:1.2rem;font-weight:900;display:flex}.about-badge{background:var(--accent-yellow);border:3px solid var(--ink);box-shadow:var(--shadow-sm);max-width:240px;padding:12px 18px;position:absolute;bottom:-16px;left:16px;transform:rotate(-3deg)}.about-badge h4{margin-bottom:4px;font-size:.9rem}.about-badge p{font-size:.8rem;font-weight:700;line-height:1.3}.about-text h2{border-bottom:6px solid var(--ink);margin-bottom:16px;padding-bottom:12px;font-size:clamp(1.6rem,3.5vw,2.5rem);display:inline-block}.about-text p{margin-bottom:12px;font-size:1.05rem;font-weight:500}.about-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;display:grid}.about-stat{border:3px solid var(--ink);box-shadow:var(--shadow-sm);padding:16px}.about-stat:first-child{background:#a092d74d}.about-stat:nth-child(2){background:#ff6b6b4d}.about-stat-value{font-family:var(--font-headline);font-size:2rem;font-weight:900;line-height:1;display:block}.about-stat-label{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:.7rem;font-weight:800;display:block}.services-grid{grid-template-columns:1fr;gap:20px;display:grid}.service-card{border:4px solid var(--ink);background:var(--panel);box-shadow:var(--shadow);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex}.service-card:hover{box-shadow:var(--shadow-lg);transform:translate(-4px,-4px)}.service-card:nth-child(2){transform:rotate(1deg)}.service-card:nth-child(2):hover{transform:rotate(0)translate(-4px,-4px)}.service-card:nth-child(4){transform:rotate(-1deg)}.service-card:nth-child(4):hover{transform:rotate(0)translate(-4px,-4px)}.service-header{border-bottom:4px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.service-header h3{color:var(--ink);margin:0;font-size:1.1rem}.service-icon{border:3px solid var(--ink);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.service-icon.red{background:var(--accent-red)}.service-icon.yellow{background:var(--accent-yellow)}.service-icon.purple{background:var(--accent-purple)}.service-icon.green{background:var(--accent-green)}.service-icon.dark{background:var(--ink);color:#fff}.service-body{flex:1;padding:16px 20px}.service-body ul{gap:10px;padding:0;list-style:none;display:grid}.service-body li{align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.service-body li:before{content:"";background:var(--ink);flex-shrink:0;width:8px;height:8px}.service-footer{padding:0 20px 16px}.service-badge{border:2px solid var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;font-size:.65rem;font-weight:900;display:inline-block}.service-badge.yellow{background:var(--accent-yellow)}.service-badge.purple{background:var(--accent-purple)}.service-badge.red{background:var(--accent-red);color:#fff}.service-badge.green{background:var(--accent-green)}.projects-grid{grid-template-columns:1fr;gap:24px;display:grid}.project-card{border:4px solid var(--ink);cursor:pointer;background:var(--panel);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.project-card:first-child{transform:rotate(-1.5deg)}.project-card:nth-child(2){transform:rotate(1deg)}.project-card:nth-child(3){transform:rotate(-.8deg)}.project-card:nth-child(4){transform:rotate(1.2deg)}.project-card:nth-child(5){transform:rotate(-1deg)}.project-card:nth-child(6){transform:rotate(.6deg)}.project-card:hover{box-shadow:var(--shadow-lg);transform:rotate(0)translate(-4px,-4px)}.project-image{background:var(--surface);width:100%;height:220px;transition:background-image .5s ease-in-out;display:block;position:relative}.project-category{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--ink);z-index:2;padding:4px 12px;font-size:.65rem;font-weight:900;display:inline-block;position:absolute;top:12px;left:12px}.project-category.yellow{background:var(--accent-yellow)}.project-category.red{background:var(--accent-red);color:#fff;border-color:var(--ink)}.project-category.purple{background:var(--accent-purple)}.project-category.green{background:var(--accent-green)}.project-info{padding:16px 20px 20px}.project-info h3{color:var(--ink);margin-bottom:6px;font-size:1.15rem}.project-info .project-desc{color:#555;margin-bottom:10px;font-size:.85rem;font-weight:600;line-height:1.4}.project-meta{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-red);font-size:.7rem;font-weight:800}.project-nav{background:var(--ink);color:#fff;border:2px solid var(--ink);cursor:pointer;z-index:10;opacity:0;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;transition:opacity .3s,background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-card:hover .project-nav{opacity:1}.project-nav:hover{background:var(--accent-red)}.project-nav.prev{left:8px}.project-nav.next{right:8px}.project-tech-stack{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.project-tech-badge{border:2px solid var(--ink);font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);box-shadow:2px 2px 0px 0px var(--ink);background:#ffffff80;padding:3px 8px;font-size:.65rem;font-weight:800}@media (width>=768px){.projects-grid{grid-template-columns:repeat(2,1fr)}.project-image{height:260px}}@media (width>=1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}.project-image{height:220px}}.reviews-grid{grid-template-columns:1fr;gap:16px;display:grid;position:relative}.review-card{border:4px solid var(--ink);box-shadow:var(--shadow);padding:24px;transition:transform .3s,box-shadow .3s;position:relative}.review-card:first-child{transform:rotate(1deg)}.review-card:nth-child(2){background:var(--ink);color:#fff;transform:rotate(-1.5deg)}.review-card:nth-child(3){background:var(--accent-red);color:#fff;transform:rotate(.8deg)}.review-card:hover{box-shadow:var(--shadow-lg);transform:rotate(0)translate(-4px,-4px)}.review-stars{gap:4px;margin-bottom:12px;display:flex}.review-stars span{color:var(--accent-yellow);font-size:1.3rem}.review-card:first-child .review-stars span{color:var(--accent-yellow)}.review-text{margin-bottom:16px;font-size:1.05rem;font-style:italic;font-weight:700;line-height:1.5}.review-author{border-top:3px solid var(--ink);align-items:center;gap:12px;padding-top:12px;display:flex}.review-avatar{border:2px solid var(--ink);background:var(--surface);width:44px;height:44px;font-family:var(--font-headline);color:var(--ink);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:900;display:flex}.review-card:nth-child(2) .review-avatar,.review-card:nth-child(3) .review-avatar{border-color:#fff}.review-name{font-family:var(--font-headline);text-transform:uppercase;font-size:.85rem;font-weight:900;line-height:1.2}.review-role{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);opacity:.8;font-size:.7rem;font-weight:800}.review-card:nth-child(2) .review-role{color:var(--accent-yellow)}.review-card:nth-child(3) .review-role{color:var(--ink)}.contact-wrap{border:6px solid var(--ink);background:var(--accent-yellow);box-shadow:var(--shadow-xl);padding:32px 24px;position:relative;overflow:hidden}.contact-wrap:after{content:"";background:var(--ink);opacity:.08;width:160px;height:160px;position:absolute;top:-40px;right:-40px;transform:rotate(45deg)}.contact-grid{z-index:1;grid-template-columns:1fr;gap:32px;display:grid;position:relative}.contact-info h2{margin-bottom:12px;font-size:clamp(2rem,5vw,3.5rem)}.contact-info>p{margin-bottom:24px;font-size:1.1rem;font-weight:700}.contact-details{gap:16px;display:grid}.contact-item{align-items:flex-start;gap:12px;display:flex}.contact-item-icon{background:var(--ink);color:#fff;border:2px solid var(--ink);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex}.contact-item-label{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:800}.contact-item-value{font-family:var(--font-headline);font-size:1.1rem;font-weight:900}.contact-item-value a{color:var(--ink);text-decoration:none}.contact-form{background:var(--panel);border:4px solid var(--ink);box-shadow:var(--shadow);padding:24px}.contact-form h3{margin-bottom:20px;font-size:1.3rem}.form-group{margin-bottom:16px}.form-group label{font-family:var(--font-headline);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.7rem;font-weight:900;display:block}.form-group input,.form-group textarea{border:3px solid var(--ink);width:100%;font-family:var(--font-body);background:var(--bg-low);outline:none;padding:12px 14px;font-size:.95rem;font-weight:700;transition:box-shadow .15s}.form-group input:focus,.form-group textarea:focus{box-shadow:4px 4px 0 var(--accent-purple)}.form-group textarea{resize:vertical;min-height:100px}.form-submit{background:var(--accent-red);color:#fff;border:4px solid var(--ink);width:100%;box-shadow:var(--shadow-sm);font-family:var(--font-headline);text-transform:uppercase;cursor:pointer;padding:14px;font-size:1.1rem;font-weight:900;transition:transform .1s,box-shadow .1s}.form-submit:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.form-submit:active{box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.cta-banner{background:var(--accent-yellow);border:4px solid var(--ink);box-shadow:var(--shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;display:flex;position:relative;overflow:hidden}.cta-banner:before{content:"";background-image:radial-gradient(#0000001a 1px,#0000 0);background-size:4px 4px;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.cta-banner h2{font-size:clamp(1.5rem,3vw,2.5rem);position:relative}.cta-banner p{max-width:480px;font-size:1rem;font-weight:700;position:relative}.footer{border-top:6px solid var(--ink);background:#fffdf5;padding:40px 24px}.footer-inner{grid-template-columns:1fr;gap:32px;max-width:1280px;margin:0 auto;display:grid}.footer-brand .logo{margin-bottom:8px;font-size:1.3rem;display:inline-block}.footer-brand p{text-transform:uppercase;letter-spacing:.04em;color:#666;max-width:280px;font-size:.8rem;font-weight:700;line-height:1.4}.footer-social{gap:8px;margin-top:12px;display:flex}.footer-social a{background:var(--ink);color:#fff;border:2px solid var(--ink);width:36px;height:36px;font-family:var(--font-headline);justify-content:center;align-items:center;font-size:.75rem;font-weight:900;text-decoration:none;transition:background .15s;display:flex}.footer-social a:hover{background:var(--accent-red)}.footer-links h4{color:var(--accent-red);margin-bottom:10px;font-size:.7rem}.footer-links a{color:var(--ink);border-radius:2px;width:fit-content;padding:2px 4px;font-size:.85rem;font-weight:700;text-decoration:none;transition:background .15s;display:block}.footer-links a:hover{background:var(--accent-yellow)}.footer-bottom{border-top:2px solid var(--ink);text-align:center;flex-direction:column;grid-column:1/-1;align-items:center;gap:8px;padding-top:16px;display:flex}.back-to-top-float{background:var(--accent-yellow);border:4px solid var(--ink);width:56px;height:56px;box-shadow:4px 4px 0px 0px var(--ink);cursor:pointer;color:var(--ink);opacity:0;visibility:hidden;z-index:90;justify-content:center;align-items:center;transition:opacity .2s,visibility .2s,transform .2s,box-shadow .15s;display:flex;position:fixed;bottom:32px;right:32px;transform:translateY(20px)}.back-to-top-float.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top-float:hover{box-shadow:8px 8px 0px 0px var(--ink);transform:translate(-4px,-4px)}.back-to-top-float:active{box-shadow:0px 0px 0px 0px var(--ink);transform:translate(0)}.footer-bottom p{text-transform:uppercase;letter-spacing:.04em;color:#888;font-size:.7rem;font-weight:800}@media (width>=768px){.header-inner{padding:14px 32px}.nav-desktop{display:flex}.header-cta{display:inline-flex}.hamburger{display:none}.hero{min-height:92vh;padding:80px 32px}.hero-inner{grid-template-columns:8fr 4fr;gap:48px}.hero-content{order:1}.hero-panel{order:2}.hero-facts{grid-template-columns:repeat(3,1fr)}.section{padding:80px 32px}.about-grid{grid-template-columns:1fr 1fr;gap:48px}.about-image{height:400px}.about-stats,.services-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.project-image{height:300px}.reviews-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr 1fr;gap:40px}.contact-wrap{padding:48px 40px}.cta-banner{text-align:left;flex-direction:row;padding:40px}.footer-inner{grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-bottom{text-align:left;flex-direction:row;justify-content:space-between}}@media (width>=1024px){.hero h1{font-size:clamp(3rem,6vw,5.5rem)}.services-grid,.projects-grid{grid-template-columns:repeat(3,1fr)}.about-image{height:500px}}@media (width>=1280px){.hero-inner{gap:64px}.hero h1{font-size:5.5rem}}.submit-status{border:3px solid var(--ink);font-weight:800;font-family:var(--font-headline);text-transform:uppercase;margin-top:16px;padding:12px;animation:.3s ease-out slideIn;display:none}.submit-status.success{background:var(--accent-green);box-shadow:4px 4px 0 var(--ink);display:block}.submit-status.error{background:var(--accent-red);color:#fff;box-shadow:4px 4px 0 var(--ink);display:block}.char-counter{text-align:right;color:#666;font-size:.75rem;font-weight:700;font-family:var(--font-headline);text-transform:uppercase;margin-top:4px}.char-counter.limit{color:var(--accent-red)}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-group input:invalid,.form-group textarea:invalid{border-color:var(--accent-red)}.form-submit:disabled{opacity:.7;cursor:not-allowed;box-shadow:none!important;transform:none!important}
