:root{--bg: #0f1115;--bg-elevated: #141820;--bg-soft: #1a1f28;--text: #f4f6f8;--text-muted: #9aa3b2;--accent: #2dd4bf;--accent-dim: rgb(45 212 191 / 14%);--accent-hover: #5eead4;--line: #2e3644;--card: #181d26;--card-hover: #1e2430;--header-height: 4.5rem;--content-max: 68rem;--page-padding: clamp(1.25rem, 4vw, 2.5rem);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--shadow-card: 0 12px 40px rgb(0 0 0 / 28%)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}a{color:var(--accent)}main{display:block;overflow-x:clip;max-width:100%}.site-header{position:fixed;inset:0 0 auto;z-index:40;height:var(--header-height);display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:0 var(--page-padding);transition:background-color .28s ease,border-color .28s ease,backdrop-filter .28s ease}.site-header.is-scrolled{background:#0f1115d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgb(255 255 255 / 8%)}.brand{border:0;background:transparent;cursor:pointer;padding:0;justify-self:start}.brand img{display:block;height:2.25rem;width:auto;max-width:min(200px,42vw);object-fit:contain;transition:filter .28s ease}.site-header:not(.is-scrolled) .brand img{filter:brightness(0) invert(1)}.nav{display:none;gap:.25rem}.nav-link,.mobile-nav-link{background:transparent;color:var(--text);border:0;cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;transition:color .18s ease,background-color .18s ease}.site-header:not(.is-scrolled) .nav-link{color:#fffffff0}.site-header:not(.is-scrolled) .nav-link:hover{color:#fff;background:#ffffff1f}.site-header:not(.is-scrolled) .nav-link.active{color:#fff;background:#ffffff2e}.site-header.is-scrolled .nav-link:hover{color:var(--accent-hover);background:#ffffff0f}.site-header.is-scrolled .nav-link.active{color:var(--accent);background:var(--accent-dim)}.mobile-nav-link{color:var(--text);text-align:left;width:100%}.mobile-nav-link:hover{color:var(--accent-hover);background:#ffffff0f}.mobile-nav-link.active{color:var(--accent);background:var(--accent-dim)}.menu-toggle{width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);border:1px solid rgb(255 255 255 / 22%);background:#00000040;display:grid;gap:5px;place-content:center;cursor:pointer;justify-self:end;transition:border-color .18s ease,background-color .18s ease}.site-header.is-scrolled .menu-toggle{background:transparent;border-color:#ffffff24}.menu-toggle span{width:1.15rem;height:2px;background:currentColor;color:var(--text);display:block;border-radius:1px}.site-header:not(.is-scrolled) .menu-toggle{color:#fff;border-color:#ffffff59}.mobile-nav{position:fixed;inset:var(--header-height) 0 0;background:#0c0e12f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.25rem var(--page-padding) 2rem;display:grid;align-content:start;gap:.35rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .26s ease,opacity .26s ease,visibility .26s ease;z-index:35}.mobile-nav.is-open{transform:translateY(0);opacity:1;visibility:visible}.hero-section{position:relative;min-height:100dvh;overflow:hidden;display:flex;align-items:stretch}.hero-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,#0f1115eb,#0f11158c 42%,#0f111540),linear-gradient(0deg,rgb(15 17 21 / 88%) 0%,transparent 55%),url(/hero-bg.jpg) center / cover no-repeat}.hero-section.is-animated .hero-layer{animation:heroZoom 16s ease-in-out infinite alternate;will-change:transform;transform-origin:center center}.hero-overlay{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%;max-width:36rem;margin:0 auto;padding:calc(var(--header-height) + 2rem) var(--page-padding) clamp(2.5rem,10vh,5rem);text-align:center}.hero-kicker{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.hero-section.is-animated .hero-kicker{animation:fadeUp .7s ease both;animation-delay:0ms}.hero-overlay h1{margin:0 0 .75rem;font-family:Outfit,Inter,sans-serif;font-size:clamp(2.25rem,7vw,4rem);font-weight:700;line-height:1.08;letter-spacing:-.02em}.hero-section.is-animated .hero-overlay h1{animation:fadeUp .9s ease both;animation-delay:80ms}.hero-copy{margin:0;font-size:clamp(1rem,2.2vw,1.125rem);color:#f4f6f8e0;line-height:1.65;max-width:32ch;margin-inline:auto}.hero-section.is-animated .hero-copy{animation:fadeUp 1.1s ease both;animation-delay:.16s}.hero-section.is-animated .hero-tagline--animated{animation:fadeUp .9s ease both;animation-delay:.24s}.hero-tagline{margin:1.25rem 0 0;font-size:.9375rem;font-weight:500;color:var(--accent);letter-spacing:.06em;text-transform:lowercase}.hero-tagline--animated{min-height:1.5rem}.section{scroll-margin-top:calc(var(--header-height) + 12px);padding-block:clamp(4rem,10vw,6.5rem);max-width:100%;overflow-x:clip}.section-inner{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--page-padding);overflow-x:clip}#work{background:var(--bg)}#testimonials{background:var(--bg-elevated);border-block:1px solid rgb(255 255 255 / 5%)}#contact{background:var(--bg)}.section-header{margin-bottom:clamp(2rem,5vw,3rem);max-width:40rem}.section-eyebrow{margin:0 0 .35rem;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section h2{margin:0;font-family:Outfit,Inter,sans-serif;font-size:clamp(1.75rem,4vw,2.375rem);font-weight:700;line-height:1.15;letter-spacing:-.02em}.timeline{position:relative;display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;overflow-x:clip}.timeline:before{content:"";position:absolute;left:.625rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg,var(--accent),var(--line));border-radius:2px;transform:translate(-50%);pointer-events:none}.timeline-row{display:grid;grid-template-columns:1.25rem 1fr;column-gap:1rem;align-items:start}.timeline-row-marker{display:flex;justify-content:center;padding-top:1.75rem}.timeline-row--project .timeline-row-marker{padding-top:3.15rem}.timeline-dot{flex-shrink:0;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--accent-dim)}.timeline-dot.project{background:#a78bfa;box-shadow:0 0 0 1px #a78bfa59}.timeline-row-side{min-width:0}.timeline-row-side--left:empty,.timeline-row-side--right:empty{display:none}.timeline-card{position:relative;width:100%;padding:1.25rem 1.35rem;background:var(--card);border:1px solid rgb(255 255 255 / 7%);border-radius:var(--radius-md);box-shadow:var(--shadow-card);cursor:pointer;opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease,border-color .2s ease,background-color .2s ease}.timeline-card.is-visible,.timeline-card.expanded{opacity:1;transform:translateY(0)}.timeline-card:hover{border-color:#2dd4bf59;background:var(--card-hover)}.timeline-card.expanded{border-color:#2dd4bf73}.timeline-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timeline-connector{margin:0 0 .5rem;font-size:.8125rem;font-weight:500;color:var(--accent)}.timeline-type{margin:0 0 .35rem;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.timeline-head h3{margin:0 0 .35rem;font-family:Outfit,Inter,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.3}.timeline-meta{margin:0;font-size:.875rem;color:var(--text-muted);overflow-wrap:anywhere}.timeline-body{display:grid;grid-template-rows:0fr;margin-top:0;padding-top:0;border-top:1px solid transparent;color:var(--text-muted);font-size:.9375rem;overflow:hidden;transition:grid-template-rows .32s ease,margin-top .32s ease,padding-top .32s ease,border-color .32s ease}.timeline-body.is-open{grid-template-rows:1fr;margin-top:1rem;padding-top:1rem;border-top-color:#ffffff14}.timeline-body-inner{min-height:0;overflow:hidden}.timeline-card.left .timeline-body,.timeline-card.left .timeline-body-inner{text-align:left}.timeline-body ul{margin:.75rem 0 0;padding-left:1.15rem}.timeline-body li+li{margin-top:.35rem}.timeline-body a{display:inline-block;margin-top:.85rem;font-weight:500;text-decoration:none}.timeline-body a:hover{color:var(--accent-hover)}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.chip{padding:.3rem .7rem;font-size:.8125rem;color:var(--text);background:#ffffff0d;border:1px solid rgb(255 255 255 / 10%);border-radius:999px}#testimonials .section-inner{width:100%;max-width:100%;padding-inline:0;overflow-x:hidden}#testimonials .section-header{padding-inline:var(--page-padding);max-width:var(--content-max);margin-inline:auto}.testimonials-wrap{width:100%;max-width:100%;overflow:hidden;padding-block:.5rem 1rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);contain:layout paint}.testimonials-track{display:flex;gap:1.25rem;width:max-content;max-width:none;padding-inline:var(--page-padding);animation:marquee 45s linear infinite;will-change:transform}.testimonials-wrap:hover .testimonials-track{animation-play-state:paused}.testimonials-mobile{display:none;padding-inline:var(--page-padding);gap:1rem}.testimonial-card{flex-shrink:0;width:min(26rem,82vw);padding:1.35rem 1.5rem;background:var(--card);border:1px solid rgb(255 255 255 / 8%);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.quote{margin:0 0 1rem;font-size:1.0625rem;line-height:1.55;color:var(--text)}.quote:before{content:"“";color:var(--accent);font-size:1.5rem;line-height:0;margin-right:.15rem}.author{margin:0;font-weight:600;font-size:.9375rem}.author-role{margin:.2rem 0 0;font-size:.875rem;color:var(--text-muted)}.contact-grid{display:grid;gap:2rem}.contact-links{display:grid;gap:.75rem}.contact-links a{display:flex;align-items:center;gap:.5rem;padding:.95rem 1.1rem;color:var(--text);text-decoration:none;background:var(--card);border:1px solid rgb(255 255 255 / 8%);border-radius:var(--radius-md);font-weight:500;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.contact-links a:hover{border-color:#2dd4bf66;color:var(--accent-hover);background:var(--card-hover)}.contact-form{display:grid;gap:.85rem}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;font-size:1rem;color:var(--text);background:var(--bg-soft);border:1px solid rgb(255 255 255 / 12%);border-radius:var(--radius-sm);transition:border-color .18s ease,box-shadow .18s ease}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#2dd4bf8c;box-shadow:0 0 0 3px var(--accent-dim)}.contact-form button{margin-top:.25rem;padding:.9rem 1.25rem;font-weight:600;color:#042f2e;background:var(--accent);border:0;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .18s ease,transform .12s ease}.contact-form button:hover{background:var(--accent-hover)}.contact-form button:active{transform:scale(.99)}.hp{position:absolute;opacity:0;pointer-events:none;height:0;width:0}.form-status{margin:0;font-size:.875rem;color:var(--text-muted)}.site-footer{padding:1.75rem var(--page-padding);font-size:.875rem;color:var(--text-muted);text-align:center;border-top:1px solid rgb(255 255 255 / 6%);background:var(--bg-elevated)}@media(min-width:768px){.site-header{grid-template-columns:1fr auto 1fr}.nav{display:flex;justify-self:center}.menu-toggle,.mobile-nav{display:none}.hero-overlay{margin:0;margin-left:clamp(1.5rem,6vw,5rem);margin-right:auto;max-width:34rem;text-align:left;align-items:flex-start}.hero-copy{margin-inline:0;max-width:none}.timeline:before{left:50%;transform:translate(-50%)}.timeline-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:clamp(1.5rem,4vw,2.5rem);row-gap:0}.timeline-row-marker{grid-column:2;grid-row:1;padding-top:1.75rem;z-index:1}.timeline-row--project .timeline-row-marker{padding-top:3.15rem}.timeline-row-side--left{grid-column:1;display:flex;justify-content:flex-end}.timeline-row-side--right{grid-column:3;display:flex;justify-content:flex-start}.timeline-row-side--left:empty,.timeline-row-side--right:empty{display:flex}.timeline-card{max-width:26rem;padding:1.35rem 1.5rem}.timeline-card.left{text-align:right}.timeline-card.right{text-align:left}.timeline-card.left .timeline-connector,.timeline-card.left .timeline-head{text-align:right}.timeline-card.left .timeline-body,.timeline-card.left .timeline-body-inner{text-align:left}.timeline-card.left .chip-row{justify-content:flex-start}.contact-grid{grid-template-columns:minmax(12rem,.9fr) 1.4fr;gap:2.5rem;align-items:start}}@media(max-width:767px){.timeline-row-side--left,.timeline-row-side--right{grid-column:2;grid-row:1;display:flex;justify-content:stretch}.timeline-row-side--left:empty,.timeline-row-side--right:empty{display:none}.timeline-card.left,.timeline-card.right,.timeline-card.left .timeline-connector,.timeline-card.left .timeline-head{text-align:left}.testimonials-wrap{display:none}.testimonials-mobile{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.timeline-card{opacity:1;transform:none}.timeline-body{transition:none}.timeline-body.is-open{grid-template-rows:1fr}}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}
