:root{--font-family: "Montserrat", "Inter", system-ui, -apple-system, sans-serif;--bg-color: #ffffff;--text-color: #1a1a1a;--accent-color: #0066cc;--secondary-color: #4a4a4a;--border-color: #eaeaea;--header-height: 104px;--max-width: 1100px;--section-padding-top: 4.5rem;--section-padding-bottom: 2rem}@media(prefers-color-scheme:dark){:root{--bg-color: #0a0a0a;--text-color: #f0f0f0;--accent-color: #4da3ff;--secondary-color: #a0a0a0;--border-color: #333333}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);line-height:1.6;transition:background-color .3s,color .3s}a{color:var(--accent-color);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;line-height:1.2;font-weight:700;color:var(--accent-color);text-transform:uppercase}p{margin-bottom:1.5rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.tech-border{border:1px solid var(--border-color);padding:2rem;position:relative}.tech-border:before{content:"";position:absolute;top:-1px;left:-1px;width:10px;height:10px;border-top:2px solid var(--accent-color);border-left:2px solid var(--accent-color)}.tech-border:after{content:"";position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-bottom:2px solid var(--accent-color);border-right:2px solid var(--accent-color)}header{height:var(--header-height);border-bottom:1px solid var(--border-color);display:flex;align-items:center;position:sticky;top:0;background-color:var(--bg-color);z-index:100}header .container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{display:inline-flex;align-items:center}.logo:hover{text-decoration:none}.logo img{display:block;width:clamp(136px,16vw,176px);height:auto}footer .logo img{width:clamp(152px,18vw,188px)}.footer-brand{align-items:center;display:flex;flex-direction:column;text-align:center}.footer-nav{list-style:none}.footer-nav li+li{margin-top:.5rem}.footer-nav a{display:inline-block;padding:.25rem 0;color:var(--secondary-color)}.footer-nav a[aria-current=page],.footer-nav a.active{color:var(--accent-color);font-weight:600}.desktop-nav ul,.mobile-nav ul{display:flex;list-style:none;gap:2rem}.desktop-nav a,.mobile-nav a{color:var(--text-color);font-weight:500;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--accent-color);text-decoration:none}.desktop-nav a[aria-current=page],.mobile-nav a[aria-current=page],.desktop-nav a.active,.mobile-nav a.active{color:var(--accent-color)}.mobile-nav{display:none;position:relative}.mobile-nav summary{align-items:center;border:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;gap:5px;height:44px;justify-content:center;list-style:none;width:44px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background-color:var(--text-color);display:block;height:2px;width:20px}.mobile-nav[open] summary span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-nav[open] summary span:nth-child(2){opacity:0}.mobile-nav[open] summary span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-nav nav{background-color:var(--bg-color);border:1px solid var(--border-color);min-width:220px;padding:1rem;position:absolute;right:0;top:calc(100% + .75rem)}.mobile-nav ul{flex-direction:column;gap:.75rem}footer{padding:2.75rem 0 3rem;border-top:1px solid var(--border-color);margin-top:3rem;font-size:.8rem;color:var(--secondary-color)}section{padding:var(--section-padding-top) 0 var(--section-padding-bottom)}#philosophy{scroll-margin-top:calc(var(--header-height) + 1rem)}.hero{text-align:center;max-width:800px;margin:0 auto}.home-hero{max-width:none}.home-hero .tech-border:before,.home-hero .tech-border:after{animation:hero-corner-pulse 3.5s ease-in-out infinite}.contact-panel:before,.contact-panel:after,.contact-form-panel:before,.contact-form-panel:after{animation:hero-corner-pulse 3.5s ease-in-out infinite}@keyframes hero-corner-pulse{0%,to{border-color:var(--accent-color);filter:drop-shadow(0 0 0 transparent);opacity:1;width:10px;height:10px}50%{border-color:var(--accent-color);filter:drop-shadow(0 0 8px var(--accent-color));opacity:.7;width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.home-hero .tech-border:before,.home-hero .tech-border:after{animation:none}.contact-panel:before,.contact-panel:after,.contact-form-panel:before,.contact-form-panel:after{animation:none}}.hero h1{font-size:3.5rem;margin-bottom:2rem;overflow-wrap:anywhere}.hero h1 strong{color:var(--text-color);font-style:italic}.hero p{font-size:1.25rem;color:var(--secondary-color);overflow-wrap:anywhere}.hero p strong{white-space:nowrap}.eyebrow{color:var(--accent-color);font-size:.85rem;font-weight:700;letter-spacing:.12em;margin-bottom:1rem;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.card{border:1px solid var(--border-color);padding:2rem;background-color:#8080800d;position:relative}.card:before,.card:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--accent-color);animation:hero-corner-pulse 3.5s ease-in-out infinite}.card:before{top:-1px;left:-1px;border-top:2px solid var(--accent-color);border-left:2px solid var(--accent-color)}.card:after{right:-1px;bottom:-1px;border-right:2px solid var(--accent-color);border-bottom:2px solid var(--accent-color)}.philosophy-card[data-animate=true]{opacity:0;transform:translateY(12px) scale(.98);will-change:transform,opacity}.philosophy-card[data-animate=true].is-visible{animation:philosophy-card-bounce 1.04s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--card-index) * .18s)}@keyframes philosophy-card-bounce{0%{opacity:0;transform:translateY(12px) scale(.98)}70%{opacity:1;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.btn{display:inline-block;padding:.75rem 1.5rem;background-color:var(--accent-color);color:#fff;font-family:inherit;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:opacity .2s}.btn:hover{opacity:.9;text-decoration:none;color:#fff}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{background-color:#8080800d;color:var(--text-color);opacity:1}.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.contact-email{color:var(--accent-color);font-size:2rem;font-weight:700;overflow-wrap:anywhere}.section-muted{background-color:#8080800d}.text-center{text-align:center}.philosophy-section .philosophy-card:nth-child(1){--card-index: 0}.philosophy-section .philosophy-card:nth-child(2){--card-index: 1}.philosophy-section .philosophy-card:nth-child(3){--card-index: 2}.section-lead{max-width:84ch}.ideas-grid{align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.idea-icon{display:block;width:100%;height:140px;margin-bottom:1.5rem;object-fit:contain;object-position:left center}.idea-card{display:flex;flex-direction:column}.idea-card p{margin-bottom:0}.studio-carousel{margin-top:2rem}.studio-carousel-shell{position:relative}.studio-carousel-viewport{overflow:hidden}.studio-carousel-track{display:flex;gap:2rem;will-change:transform}.studio-carousel-card{color:inherit;display:flex;flex:0 0 calc((100% - 4rem) / 3);flex-direction:column;gap:1rem;margin:0;min-width:0;text-decoration:none;transition:transform .18s ease,border-color .18s ease;width:auto}.studio-carousel-card:hover{text-decoration:none;transform:translateY(-2px)}.studio-carousel-card.is-clone{pointer-events:none}.studio-carousel-button{align-items:center;background:var(--bg-color);border:1px solid var(--accent-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color) 20%,transparent);color:var(--text-color);cursor:pointer;display:inline-flex;font-size:1.7rem;height:52px;justify-content:center;padding:0;width:52px}.studio-carousel-button-prev,.studio-carousel-button-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.studio-carousel-button-prev{left:-.5rem}.studio-carousel-button-next{right:-.5rem}.studio-carousel-button:hover{background-color:#4da3ff14;text-decoration:none}.studio-carousel-dots{align-items:center;display:flex;flex:1;gap:.5rem;justify-content:center;margin-top:1.5rem}.studio-carousel-dot{background-color:transparent;border:1px solid color-mix(in srgb,var(--text-color) 55%,var(--border-color));border-radius:999px;cursor:pointer;height:12px;padding:0;width:12px}.studio-carousel-dot.is-active{background-color:var(--accent-color);border-color:var(--accent-color)}.studio-carousel-card p{margin-bottom:0}.studio-card-image{display:block;height:180px;object-fit:contain;width:100%}.detail-layout{display:grid;gap:2rem;grid-template-columns:.5fr 1.5fr;margin-top:2rem}.detail-image{display:block;height:280px;object-fit:contain;width:100%}.role-label{color:var(--accent-color);font-weight:700}.mission-card{text-align:center}.mission-copy{font-size:1.25rem}.services-band{background-color:#8080800d}.services-stack{margin-top:2rem}.services-item+.services-item{margin-top:2rem}.contact-form-panel{margin-top:4rem;text-align:left}.contact-section-copy{max-width:72ch;color:var(--secondary-color)}.contact-form{display:grid;gap:1.5rem;margin-top:2rem}.contact-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.contact-field{display:flex;flex-direction:column;gap:.5rem}.contact-field label,.contact-fieldset legend,.contact-radio span{font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-fieldset legend{color:var(--text-color)}.contact-optional{font-weight:500;letter-spacing:0;text-transform:none;color:var(--secondary-color)}.contact-required{color:var(--accent-color);font-weight:700;letter-spacing:0;text-transform:none}.contact-field input,.contact-field textarea{background-color:transparent;border:1px solid var(--border-color);color:var(--text-color);font:inherit;padding:.95rem 1rem;width:100%}.contact-field textarea{resize:vertical;min-height:10rem}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--accent-color);outline:none}.contact-fieldset{border:0;display:grid;gap:.75rem;margin:0;padding:0}.contact-fieldset legend{display:block;margin:0;padding:0}.contact-radio-group{display:grid;gap:.75rem}.contact-radio{align-items:flex-start;border:1px solid var(--border-color);cursor:pointer;display:flex;gap:.75rem;padding:.95rem 1rem}.contact-radio input{accent-color:var(--accent-color);margin-top:.2rem}.contact-radio span{color:var(--text-color);line-height:1.4}.contact-branch{display:grid;gap:1rem}.contact-branch[hidden]{display:none}.contact-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.contact-status{color:var(--secondary-color);font-size:.9rem;min-height:1.5em}.contact-status[data-state=success]{color:var(--accent-color)}.contact-status[data-state=error]{color:#b3261e}.contact-panel{margin-top:2.5rem}.contact-note{margin-top:2rem}.contact-note-copy{color:var(--secondary-color);font-size:.9rem}@media(prefers-reduced-motion:reduce){.philosophy-card[data-animate=true],.philosophy-card[data-animate=true].is-visible{opacity:1;transform:none;animation:none;will-change:auto}.card:before,.card:after{animation:none}}@media(max-width:700px){:root{--header-height: 80px}.container{padding:0 1.25rem}.desktop-nav{display:none}.mobile-nav{display:block}section{--section-padding-top: 3.5rem;--section-padding-bottom: 1.75rem}.tech-border,.card{padding:1.5rem}.hero h1{font-size:2rem}.hero p{font-size:1rem}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{text-align:center}.eyebrow{font-size:.75rem;letter-spacing:.08em}.grid{grid-template-columns:minmax(0,1fr)}.contact-email{font-size:1.35rem}.detail-layout{grid-template-columns:1fr}.detail-image{height:220px}.ideas-grid{grid-template-columns:minmax(0,1fr)}.idea-icon{height:120px}.studio-carousel-track{gap:1rem}.studio-carousel-button-prev{left:-.25rem}.studio-carousel-button-next{right:-.25rem}.studio-carousel-card{flex-basis:100%}.studio-carousel-controls{gap:.75rem}.studio-carousel-dot{height:10px;width:10px}.studio-card-image{height:150px}.contact-form-grid{grid-template-columns:1fr}.contact-actions{align-items:stretch;flex-direction:column}.contact-actions .btn{text-align:center}}
