*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}:root{--red: #D91023;--red-hover: #b8000f;--text: #1A1A1A;--muted: #6B6B6B;--border: #E0E0E0;--subtle: #F7F7F7;--white: #FFFFFF;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Work Sans", system-ui, -apple-system, sans-serif;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.08);--shadow-card-hover: 0 2px 6px rgba(0,0,0,.06), 0 16px 40px rgba(0,0,0,.14);--shadow-header: 0 1px 0 var(--border);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-20: 5rem;--sp-24: 6rem;--radius-sm: 4px;--radius-md: 8px}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;color:var(--text);background:var(--white);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}p{text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;letter-spacing:-.03em;color:var(--text)}.container{max-width:1100px;margin:0 auto;padding:0 var(--sp-6)}.site-header{position:sticky;top:0;z-index:100;background:var(--white);box-shadow:var(--shadow-header)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0}.site-logo{display:flex;align-items:center;gap:var(--sp-3)}.logo-text{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.nav-list{display:flex;gap:var(--sp-6);list-style:none}.nav-list a{position:relative;font-size:.875rem;font-weight:500;color:var(--muted);padding-bottom:3px;transition:color .12s ease}.nav-list a:hover{color:var(--text)}.nav-list a[aria-current=page]{color:var(--text);font-weight:600}.nav-list a[aria-current=page]:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--red);border-radius:1px}.nav-list a:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:var(--radius-sm)}.site-footer{border-top:1px solid var(--border);padding:var(--sp-12) 0 var(--sp-8);margin-top:var(--sp-24)}.footer-inner{display:flex;flex-direction:column;gap:var(--sp-5)}.footer-brand{display:flex;flex-direction:column;gap:var(--sp-1)}.footer-brand strong{font-family:var(--font-display);font-weight:700;font-size:.95rem}.footer-tagline{font-size:.875rem;color:var(--muted)}.footer-copy{font-size:.8rem;color:var(--muted)}.hero{padding:var(--sp-24) 0 var(--sp-24);background-color:#111;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:0}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 10% 50%,rgba(217,16,35,.13) 0%,transparent 55%);pointer-events:none;z-index:0}.hero .container{position:relative;z-index:1}.hero-title{font-size:clamp(3rem,7vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff;margin-bottom:var(--sp-6)}.hero-title:after{content:"";display:block;width:2.5rem;height:3px;background:var(--red);border-radius:2px;margin-top:var(--sp-5)}.hero-tagline{font-size:clamp(1.1rem,2vw,1.3rem);color:#ffffff94;font-weight:400;margin-bottom:var(--sp-3)}.hero-subline{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffffff8c;margin-bottom:var(--sp-8)}.hero-intro{max-width:580px;font-size:1.1rem;line-height:1.8;color:#ffffffc7;margin-bottom:var(--sp-10)}.cta-button{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.8rem 1.75rem;background:var(--red);color:#fff;font-family:var(--font-body);font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:transform .15s ease,opacity .15s ease}.cta-button:hover{opacity:.9;transform:translateY(-2px)}.cta-button:active{transform:translateY(0);opacity:1}.cta-button:focus-visible{outline:2px solid var(--red);outline-offset:4px}.section-link{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-8);color:var(--red);font-size:.9rem;font-weight:600;transition:opacity .12s ease}.section-link:hover{opacity:.7}.section-link:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:var(--radius-sm)}.page-header{padding:var(--sp-16) 0 var(--sp-10);border-bottom:1px solid var(--border);margin-bottom:var(--sp-12)}.page-header h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.035em}.page-subtitle{margin-top:var(--sp-3);font-size:1.1rem;color:var(--muted)}.featured-work{padding:var(--sp-20) 0;background:var(--subtle)}.featured-work h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--sp-8)}.featured-work .cards-grid{grid-template-columns:minmax(320px,580px)}.work-grid{padding-bottom:var(--sp-24)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-6)}.project-card{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:var(--radius-md);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3)}.card-title{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.card-status{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .55rem;border-radius:20px;white-space:nowrap;flex-shrink:0}.status-live{background:#e6f4ea;color:#1a7a3c}.status-in-progress{background:#fff3cd;color:#7a5a00}.status-coming-soon{background:var(--subtle);color:var(--muted)}.card-body{display:flex;flex-direction:column;gap:var(--sp-3)}.card-field{display:grid;grid-template-columns:76px 1fr;gap:var(--sp-3);font-size:.875rem}.card-field dt{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:.15rem}.card-field dd{color:var(--text);line-height:1.5}.card-link{display:inline-flex;align-items:center;gap:4px;margin-top:auto;font-size:.875rem;font-weight:600;color:var(--red);transition:opacity .12s ease}.card-link:hover{opacity:.7}.card-link:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}.card-link-placeholder{margin-top:auto;font-size:.8rem;color:var(--muted);font-style:italic}.services-list{padding-bottom:var(--sp-24)}.service-item{padding:var(--sp-10) 0;border-bottom:1px solid var(--border);max-width:700px}.service-item:last-child{border-bottom:none}.service-item h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:var(--sp-4)}.service-item p{line-height:1.75;margin-bottom:var(--sp-4);max-width:600px}.service-outcome{font-size:.925rem;font-style:italic;color:var(--muted)}.service-item ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.service-item li{font-size:.95rem;color:var(--muted);padding-left:var(--sp-5);position:relative;line-height:1.5}.service-item li:before{content:"—";position:absolute;left:0;color:var(--red);font-weight:700}.about-body{max-width:660px;padding-bottom:var(--sp-24);display:flex;flex-direction:column;gap:var(--sp-6)}.about-body p{line-height:1.8}.cred-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-6);border-top:1px solid var(--border)}.cred-list li{font-size:.9rem;color:var(--text);padding-left:var(--sp-5);position:relative;line-height:1.5}.cred-list li:before{content:"—";position:absolute;left:0;color:var(--red);font-weight:700}.contact-body{padding-bottom:var(--sp-24);display:grid;gap:var(--sp-12)}.contact-info{display:flex;flex-direction:column;gap:var(--sp-6)}.contact-detail{display:flex;flex-direction:column;gap:var(--sp-1)}.contact-detail strong{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.contact-detail a{font-size:1.1rem;color:var(--text);transition:color .12s ease}.contact-detail a:hover{color:var(--red)}.contact-detail a:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}.contact-form{display:flex;flex-direction:column;gap:var(--sp-5);max-width:540px}.form-group{display:flex;flex-direction:column;gap:var(--sp-2)}.form-group label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text);background:var(--white);width:100%;transition:border-color .12s ease,box-shadow .12s ease}.form-group input:hover,.form-group textarea:hover{border-color:#bbb}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #d910231f}.form-group textarea{resize:vertical}.submit-button{align-self:flex-start;padding:.8rem 1.75rem;background:var(--red);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.submit-button:hover{opacity:.9;transform:translateY(-2px)}.submit-button:active{transform:translateY(0);opacity:1}.submit-button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
