*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#B91C1C;--color-primary-dark:#991B1B;--color-secondary:#475569;--color-accent:#B91C1C;--color-text:#0f172a;--color-text-light:#475569;--color-bg:#ffffff;--color-bg-light:#f8fafc;--color-border:#cbd5e1;--color-success:#15803d;--color-error:#b91c1c;--color-focus:#2563eb;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif:Georgia, Cambria, "Times New Roman", Times, serif;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--container-width:1200px;--border-radius:0.5rem;--transition:all 0.3s ease}html{font-size:16px;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--space-md);color:var(--color-text)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;transition:var(--transition)}a:hover,a:focus{color:var(--color-primary-dark);text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:2px}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--space-md)}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-primary);color:#fff;padding:var(--space-sm)var(--space-md);z-index:100;text-decoration:none;font-weight:600}.skip-link:focus{top:0;outline:3px solid var(--color-focus)}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-md)0;position:sticky;top:0;z-index:50}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:12px;text-decoration:none}.logo:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px;border-radius:4px}.logo img{height:40px;width:auto;display:block}.logo-text{display:flex;flex-direction:column;line-height:1.2}.site-name{font-size:1.1rem;font-weight:600;color:#1e293b}.tagline{font-size:.85rem;font-weight:400;color:#64748b}.main-nav .nav-list{display:flex;list-style:none;gap:var(--space-lg)}.nav-link{font-weight:500;color:var(--color-text);text-decoration:none;padding:var(--space-xs)var(--space-sm);border-radius:4px;display:block}.nav-link:hover,.nav-link:focus{color:var(--color-primary);background:var(--color-bg-light);text-decoration:none}.nav-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.nav-link.active{color:var(--color-primary);font-weight:600}.mobile-menu-toggle{display:none;background:#fff;border:2px solid #000;cursor:pointer;padding:var(--space-sm);border-radius:4px;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:4px}.mobile-menu-toggle:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.hamburger-line{display:block;width:25px;height:3px;background:#000;transition:var(--transition);border-radius:2px}button.mobile-menu-toggle span.hamburger-line{display:block!important;width:25px!important;height:3px!important;min-height:3px!important;max-height:3px!important;background-color:#000!important;margin:4px 0!important;opacity:1!important;visibility:visible!important}button.mobile-menu-toggle[aria-expanded=true] span.hamburger-line:nth-child(1){transform:rotate(45deg)translate(10.5px,10.5px)!important}button.mobile-menu-toggle[aria-expanded=true] span.hamburger-line:nth-child(2){opacity:0!important}button.mobile-menu-toggle[aria-expanded=true] span.hamburger-line:nth-child(3){transform:rotate(-45deg)translate(10.5px,-10.5px)!important}@media(max-width:768px){.mobile-menu-toggle{display:flex}.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:none;box-shadow:0 4px 6px rgba(0,0,0,.1)}.main-nav.active{display:block}.no-js .main-nav{display:block;position:static;box-shadow:none;border-bottom:none}.nav-list{flex-direction:column;padding:var(--space-md);gap:0}.nav-item{border-bottom:1px solid var(--color-border)}.nav-item:last-child{border-bottom:none}.nav-link{padding:var(--space-md);display:block}}.hero{background:linear-gradient(180deg,var(--color-bg-light) 0%,var(--color-bg) 100%);padding:var(--space-3xl)0;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero h1{font-size:3rem;margin-bottom:var(--space-md)}.hero-subheading{font-size:1.25rem;color:var(--color-text-light);margin-bottom:var(--space-xl)}.hero-cta{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:var(--space-sm)var(--space-lg);border-radius:var(--border-radius);font-weight:600;text-decoration:none;transition:var(--transition);border:2px solid transparent;cursor:pointer;font-size:1rem;min-height:44px;min-width:44px;line-height:1.5}.btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover,.btn-primary:focus{background:var(--color-primary-dark);border-color:var(--color-primary-dark);text-decoration:none}.btn-secondary{background:0 0;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover,.btn-secondary:focus{background:var(--color-primary);color:#fff;text-decoration:none}.btn-outline{background:0 0;color:var(--color-text);border-color:var(--color-border)}.btn-outline:hover,.btn-outline:focus{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}section{padding:var(--space-3xl)0}.featured-work h2,.services h2,.about h2,.contact h2{text-align:center}.section-intro{font-size:1.125rem;color:var(--color-text-light);text-align:center;max-width:700px;margin:0 auto var(--space-xl)}.section-cta{text-align:center;margin-top:var(--space-xl)}section#value-proposition.value-props{padding:0}.value-props{background:var(--color-bg-light)}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-top:var(--space-xl);justify-items:center}@media(max-width:900px){.value-grid{justify-content:center}}@media(max-width:600px){.value-grid{gap:var(--space-md)}.value-icon{margin-bottom:.375rem}}.value-item{text-align:center}.value-icon{color:var(--color-primary);margin-bottom:.75rem}.value-item h3{margin-bottom:var(--space-sm)}.case-study-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-top:var(--space-xl)}@media(max-width:1024px){.case-study-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.case-study-grid{grid-template-columns:1fr}}.case-study-card{background:var(--color-bg);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:var(--transition);position:relative}.case-study-card:hover,.case-study-card:focus-within{box-shadow:0 10px 25px rgba(0,0,0,.15);transform:translateY(-4px)}.card-image img{width:100%;height:240px;object-fit:cover;display:block}.card-content{padding:var(--space-md)}.card-content h3{margin-bottom:var(--space-sm)}.card-content h3 a{color:var(--color-text);text-decoration:none;font-weight:700}.card-content h3 a::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.card-content h3 a:hover,.card-content h3 a:focus{color:var(--color-primary);text-decoration:underline}.card-content h3 a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}.card-meta{font-size:.875rem;color:var(--color-text-light);margin-bottom:var(--space-sm)}.card-challenge,.card-result{font-size:.9375rem;margin-bottom:var(--space-sm)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-top:var(--space-xl)}.service-item{background:var(--color-bg);padding:var(--space-lg);border-radius:var(--border-radius);border:1px solid var(--color-border)}@media(max-width:900px){.services-grid{grid-template-columns:1fr}}.service-deliverables{list-style:none;margin-top:var(--space-sm)}.service-deliverables li{padding-left:var(--space-md);position:relative;margin-bottom:var(--space-xs)}.service-deliverables li::before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.about{background:#2d2d2d;color:#f1f5f9}.about h2,.about h3{color:#fff}.about p,.about li{color:#cbd5e1}.about .credential strong{color:var(--color-primary)}.about .credential span{color:#94a3b8}.about-services{border-top-color:rgba(255,255,255,.15)}.about-content{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-2xl);align-items:center}.about-stats{display:flex;align-items:center;justify-content:center}.about-credentials{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.credential{text-align:center}.credential strong{display:block;font-size:2rem;color:var(--color-primary);margin-bottom:var(--space-xs)}.credential span{font-size:.875rem;color:var(--color-text-light)}.about-image img{width:50%;border-radius:var(--border-radius);display:block}.about-services{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.about-services h3{font-size:1.125rem;margin-bottom:var(--space-md)}.about-services ul{list-style:none}.about-services li{margin-bottom:var(--space-sm)}.about-services a{color:var(--color-primary);text-decoration:none;font-weight:600}.about-services a:hover,.about-services a:focus{text-decoration:underline}@media(max-width:768px){.about-content{grid-template-columns:1fr}.about-credentials{grid-template-columns:1fr 1fr}}.services{background:var(--color-bg-light)}.contact{background:var(--color-bg-light)}.contact-content{margin-top:var(--space-xl)}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:start}@media(max-width:600px){.form-columns{grid-template-columns:1fr}}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-weight:600;margin-bottom:var(--space-xs);color:var(--color-text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-sm);border:2px solid var(--color-border);border-radius:var(--border-radius);font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--color-text);background:var(--color-bg);transition:var(--transition)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:3px solid var(--color-focus);outline-offset:0;border-color:var(--color-primary)}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:var(--color-error)}.required{color:var(--color-error);font-weight:700}.error-message{display:block;color:var(--color-error);font-size:.875rem;margin-top:var(--space-xs);font-weight:600}.error-message:empty{display:none}.form-success{background:#dcfce7;border:2px solid var(--color-success);color:var(--color-success);padding:var(--space-md);border-radius:var(--border-radius);margin-top:var(--space-md);font-weight:600}.hidden{display:none!important}.contact-info{padding:var(--space-lg);background:var(--color-bg);border-radius:var(--border-radius);height:fit-content}.contact-info h3{margin-bottom:var(--space-md)}.contact-info p{margin-bottom:var(--space-md)}.response-time{font-size:.875rem;color:var(--color-text-light);font-style:italic}.form-error{background:#fee;border:2px solid var(--color-error);color:var(--color-error);padding:var(--space-md);border-radius:var(--border-radius);margin-top:var(--space-md);font-weight:600}.site-footer{background:#111;color:#fff;padding:var(--space-2xl)0 var(--space-md)}.footer-content{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.footer-column h3{color:#fff;font-size:1.125rem;margin-bottom:var(--space-xs)}.footer-column ul{list-style:none}.footer-column li{margin-bottom:var(--space-sm)}.footer-links-inline{display:flex;flex-wrap:wrap;gap:0}.footer-links-inline li{margin-bottom:0}.footer-links-inline li::after{content:"·";margin:0 .5em;color:rgba(255,255,255,.4)}.footer-links-inline li:last-child::after{content:"";margin:0}.footer-column a{color:rgba(255,255,255,.9);text-decoration:none}.footer-column a:hover,.footer-column a:focus{color:#fff;text-decoration:underline}.footer-column a:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:2px}.footer-bottom{text-align:center;padding-top:var(--space-md);border-top:1px solid rgba(255,255,255,.2);font-size:.875rem;color:rgba(255,255,255,.7)}.footer-bottom a{color:rgba(255,255,255,.9)}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:var(--space-lg)}}.breadcrumb{padding:var(--space-md)0;background:var(--color-bg-light)}.breadcrumb ol{list-style:none;display:flex;gap:var(--space-sm);flex-wrap:wrap}.breadcrumb li:not(:last-child)::after{content:"/";margin-left:var(--space-sm);color:var(--color-text-light)}.breadcrumb a{color:var(--color-primary)}.case-study-header{padding:var(--space-2xl)0;background:var(--color-bg-light)}.hero-image{margin-bottom:var(--space-xl);border-radius:var(--border-radius);overflow:hidden}.hero-image img{max-width:100%;width:auto;height:auto;display:block;margin:0 auto}.header-content h1{font-size:2.5rem;margin-bottom:var(--space-md)}.case-study-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg);font-size:.9375rem}.meta-item{margin:0}.meta-item strong{color:var(--color-text)}.meta-item a{color:var(--color-primary)}.case-study-section{padding:var(--space-2xl)0}.case-study-section h2{color:var(--color-primary)}.case-study-section:nth-child(even){background:var(--color-bg-light)}.section-content{max-width:800px;margin:0 auto}.section-content h3{font-size:1.125rem;margin-top:var(--space-lg);margin-bottom:.25rem}.section-content h3:first-child{margin-top:0}.section-content ul,.section-content ol{margin-bottom:var(--space-md);padding-left:var(--space-md)}.section-content ul:last-child,.section-content ol:last-child{margin-bottom:0}.section-content ul ul,.section-content ol ol,.section-content ul ol,.section-content ol ul{padding-left:var(--space-md);margin-top:.25rem;margin-bottom:.25rem}.awards{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-bg);border-left:4px solid var(--color-accent);border-radius:var(--border-radius)}.awards-with-logo{display:flex;align-items:center;gap:var(--space-xl)}.awards-logo{flex-shrink:0;width:160px}@media(max-width:600px){.awards-with-logo{flex-direction:column;align-items:center;text-align:center}.awards-logo{width:120px}}.awards-logo img{width:100%;height:auto;display:block}.awards-content{flex:1}.awards h3{margin-bottom:var(--space-md);color:var(--color-accent)}.awards ul{list-style:none}.awards li{padding-left:var(--space-md);position:relative;margin-bottom:var(--space-sm)}.awards li::before{content:"🏆";position:absolute;left:0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.gallery-item{background:var(--color-bg);border-radius:var(--border-radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.gallery-item img{width:100%;height:auto;display:block}.gallery-item figcaption{padding:var(--space-md);font-size:.875rem;color:var(--color-text-light)}.case-study-cta{text-align:center;padding:var(--space-2xl)0;background:var(--color-bg-light)}.case-study-cta h2{margin-bottom:var(--space-sm)}.case-study-cta p{color:var(--color-text-light);margin-bottom:var(--space-lg)}.portfolio-nav{padding:var(--space-xl)0;background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.nav-links{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-lg);align-items:center}.nav-spacer{}.nav-prev,.nav-next,.nav-home{display:flex;flex-direction:column;padding:var(--space-md);border-radius:var(--border-radius);background:var(--color-bg-light);text-decoration:none;color:var(--color-text);transition:var(--transition);min-height:44px}.nav-prev{text-align:left}.nav-next{text-align:right}.nav-home{text-align:center}.nav-prev:hover,.nav-next:hover,.nav-home:hover,.nav-prev:focus,.nav-next:focus,.nav-home:focus{background:var(--color-primary);color:#fff;text-decoration:none}.nav-prev:focus-visible,.nav-next:focus-visible,.nav-home:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.nav-label{font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.nav-title{font-size:1rem}@media(max-width:768px){.nav-links{grid-template-columns:1fr}.nav-prev,.nav-next,.nav-home{text-align:center}}.related-projects{padding:var(--space-2xl)0}.related-projects h2{text-align:center;margin-bottom:var(--space-xl)}.related-work-list{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);max-width:600px;margin:0 auto}.related-work-item h3{margin:0;font-size:1.125rem;font-weight:600;text-align:center}.related-work-item a{color:var(--color-primary);text-decoration:none}.related-work-item a:hover,.related-work-item a:focus{text-decoration:underline}.category-filter{display:flex;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-2xl);flex-wrap:wrap}.filter-link{padding:var(--space-sm)var(--space-lg);border-radius:var(--border-radius);background:var(--color-bg);border:2px solid var(--color-border);text-decoration:none;color:var(--color-text);transition:var(--transition);min-height:44px;display:inline-flex;align-items:center;font-weight:500}.filter-link:hover,.filter-link:focus{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.filter-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.filter-link.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.page-header{padding:var(--space-2xl)0;text-align:center;background:var(--color-bg-light)}.page-header h1{font-size:2.5rem;margin-bottom:var(--space-md)}.page-description{font-size:1.125rem;color:var(--color-text-light);max-width:700px;margin:0 auto}@media(max-width:768px){:root{--space-3xl:3rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.hero h1{font-size:2rem}.hero-subheading{font-size:1.125rem}.case-study-header h1{font-size:1.625rem;padding-right:var(--space-sm)}.case-study-section h2{font-size:1.375rem}.header-content h1{margin-bottom:var(--space-xl)}.case-study-meta{flex-direction:column;gap:var(--space-xs)}.page-header h1{font-size:2rem}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button,a,input,select,textarea{min-height:44px;min-width:44px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:high){:root{--color-primary:#0000ff;--color-text:#000000;--color-bg:#ffffff}}