@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Sora:wght@400;500;600;700&display=swap";:root{color-scheme:light;--bg: #f6f4ef;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .92);--line: rgba(87, 122, 155, .16);--text: #35516f;--text-strong: #2d4863;--muted: rgba(53, 81, 111, .76);--muted-soft: rgba(53, 81, 111, .52);--accent-blue: #7faed4;--accent-blue-strong: #5c95c6;--accent-coral: #f39a73;--accent-mint: #86d9c5;--shadow: 0 26px 70px rgba(88, 120, 153, .12);--max-width: 1160px;--section-space: clamp(4.5rem, 10vw, 8rem);--text-width: 46rem;font-family:IBM Plex Sans,sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at 12% 14%,rgba(243,154,115,.26),transparent 24rem),radial-gradient(circle at 84% 22%,rgba(127,174,212,.24),transparent 30rem),radial-gradient(circle at 58% 78%,rgba(134,217,197,.18),transparent 22rem),linear-gradient(180deg,#fbfaf7,#f6f4ef 56%,#f0ede6)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(127,174,212,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(127,174,212,.035) 1px,transparent 1px);background-size:88px 88px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.52),transparent 82%);mask-image:linear-gradient(180deg,rgba(0,0,0,.52),transparent 82%);opacity:.45}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.site-shell{position:relative;overflow:clip}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1.2rem,3vw,2.4rem);background:#f6f4efc2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(87,122,155,.08)}.brand-mark{display:inline-flex;align-items:center;gap:.8rem;font-family:Sora,sans-serif;color:var(--text-strong)}.brand-mark:before{content:"";width:.72rem;height:.72rem;border-radius:.2rem;background:linear-gradient(135deg,var(--accent-coral),var(--accent-blue));box-shadow:0 0 0 .35rem #7faed41c}.brand-mark__word{font-size:1.04rem;font-weight:700;letter-spacing:-.04em}.brand-mark__domain,.hero__eyebrow,.hero__microcopy,.hero__metric span,.section-heading__kicker,.project-item__type,.contact-layout__details span{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--muted-soft)}.site-nav{display:flex;flex-wrap:wrap;gap:1.1rem}.site-nav__link{position:relative;padding-bottom:.18rem;color:var(--muted);transition:color .18s ease}.site-nav__link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:var(--accent-blue-strong);transition:transform .22s ease}.site-nav__link:hover,.site-nav__link.is-active{color:var(--text-strong)}.site-nav__link:hover:after,.site-nav__link.is-active:after{transform:scaleX(1)}.hero{position:relative;min-height:calc(100svh - 72px);display:flex;align-items:center;justify-content:center;padding:clamp(5rem,9vw,8rem) 1.4rem 3rem}.hero__wash{position:absolute;border-radius:50%;filter:blur(12px);opacity:.86;pointer-events:none}.hero__wash--warm{width:36rem;height:36rem;left:-9rem;top:-5rem;background:radial-gradient(circle,rgba(243,154,115,.3),transparent 68%)}.hero__wash--cool{width:34rem;height:34rem;right:-7rem;bottom:-8rem;background:radial-gradient(circle,rgba(127,174,212,.28),transparent 70%)}.hero__mesh{position:absolute;right:clamp(1rem,6vw,5rem);bottom:clamp(1rem,8vw,4rem);width:min(36vw,28rem);aspect-ratio:1;pointer-events:none;opacity:.58}.hero__mesh-plane{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(127,174,212,.18);border-radius:1.2rem;background:linear-gradient(rgba(127,174,212,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(127,174,212,.05) 1px,transparent 1px);background-size:28px 28px;transform-origin:center}.hero__mesh-plane--one{transform:perspective(800px) rotateX(68deg) rotate(-12deg) translateY(0)}.hero__mesh-plane--two{transform:perspective(800px) rotateX(68deg) rotate(-12deg) translateY(-1.4rem) translate(1.2rem)}.hero__mesh-plane--three{transform:perspective(800px) rotateX(68deg) rotate(-12deg) translateY(-2.8rem) translate(2.4rem)}.hero__inner{position:relative;z-index:1;width:min(100%,50rem);text-align:center}.hero__eyebrow,.hero__wordmark,.hero h1,.hero__supporting,.hero__actions,.hero__metrics,.hero__microcopy{opacity:0;transform:translateY(24px);animation:heroLift .72s cubic-bezier(.2,1,.22,1) forwards}.hero__wordmark{margin:.65rem 0 1.2rem;font-family:Sora,sans-serif;font-size:clamp(3rem,10vw,5.8rem);font-weight:700;letter-spacing:-.08em;color:var(--accent-blue);animation-delay:80ms}.hero h1{max-width:12ch;margin:0 auto 1rem;font-family:Sora,sans-serif;font-size:clamp(2rem,5vw,3.65rem);line-height:1.04;letter-spacing:-.06em;color:var(--text-strong);animation-delay:.16s}.hero__supporting{max-width:40rem;margin:0 auto 1.8rem;color:var(--muted);font-size:clamp(1rem,1.8vw,1.12rem);line-height:1.78;animation-delay:.24s}.hero__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.85rem;margin-bottom:1.5rem;animation-delay:.32s}.hero__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:min(100%,48rem);margin:0 auto 1.4rem;animation-delay:.4s}.hero__metric{padding-top:.9rem;border-top:1px solid var(--line)}.hero__metric strong{display:block;margin-top:.5rem;font-family:Sora,sans-serif;font-size:.98rem;color:var(--text-strong)}.hero__microcopy{animation-delay:.48s}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.15rem;padding:.85rem 1.25rem;border-radius:999px;border:1px solid transparent;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--accent-blue),#95bddd);color:#fff;box-shadow:0 14px 30px #7faed438}.button--secondary{background:#ffffff8f;color:var(--text);border-color:#577a9b2e}.button--secondary:hover{background:#ffffffeb}.content-section,.site-footer{max-width:var(--max-width);margin:0 auto;padding:var(--section-space) clamp(1.2rem,4vw,2.6rem)}.content-section{opacity:0;transform:translateY(42px);transition:opacity .8s cubic-bezier(.2,1,.22,1),transform .8s cubic-bezier(.2,1,.22,1)}.content-section.is-visible{opacity:1;transform:translateY(0)}.section-heading{max-width:var(--text-width);margin-bottom:2.4rem}.section-heading,.stagger-item{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,1,.22,1),transform .7s cubic-bezier(.2,1,.22,1)}.content-section.is-visible .section-heading,.content-section.is-visible .stagger-item{opacity:1;transform:translateY(0)}.content-section.is-visible .stagger-item:nth-child(1){transition-delay:80ms}.content-section.is-visible .stagger-item:nth-child(2){transition-delay:.16s}.content-section.is-visible .stagger-item:nth-child(3){transition-delay:.24s}.section-heading h2{margin:0 0 .85rem;font-family:Sora,sans-serif;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.08;letter-spacing:-.05em;color:var(--text-strong)}.section-heading p,.service-item p,.project-item__summary,.about-point,.contact-layout__details p{margin:0;color:var(--muted);line-height:1.78}.service-columns,.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}.service-item,.about-point{padding-top:1rem;border-top:1px solid var(--line)}.service-item h3,.project-item h3,.contact-form h3{margin:0 0 .8rem;font-family:Sora,sans-serif;font-size:1.14rem;color:var(--text-strong);letter-spacing:-.03em}.project-list{display:grid;gap:1.25rem}.project-item{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1.6rem;padding:1.5rem;border:1px solid rgba(87,122,155,.12);border-radius:1.4rem;background:var(--surface);box-shadow:var(--shadow)}.project-item__header h3{margin-top:.35rem}.project-item__summary{margin-bottom:1rem}.project-item__details{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.project-item__details li{padding-top:.7rem;border-top:1px solid rgba(87,122,155,.1);color:var(--muted)}.content-section--about,.content-section--contact{padding-top:clamp(3.5rem,8vw,6rem)}.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2.2rem;align-items:start}.contact-layout__details{display:grid;gap:1.4rem;padding-top:.2rem}.contact-layout__details a{display:inline-block;margin-top:.32rem;font-family:Sora,sans-serif;font-size:1.08rem;color:var(--text-strong)}.contact-layout__note{max-width:23rem}.contact-form{display:grid;gap:1rem;padding:clamp(1.4rem,3vw,2rem);background:var(--surface);border:1px solid rgba(87,122,155,.12);border-radius:1.5rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-form label{display:grid;gap:.5rem}.contact-form span{color:var(--muted);font-size:.92rem}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(87,122,155,.12);border-radius:1rem;padding:.95rem 1rem;background:#ffffffdb;color:var(--text-strong);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#7faed46b;box-shadow:0 0 0 .28rem #7faed41f;background:#fffffff5}.site-footer{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.4rem;padding-bottom:2.2rem;border-top:1px solid rgba(87,122,155,.12)}.site-footer p{max-width:30rem;margin:0;color:var(--muted-soft);line-height:1.7}@keyframes heroLift{to{opacity:1;transform:translateY(0)}}@media (max-width: 980px){.service-columns,.about-grid,.contact-layout,.site-footer,.project-item,.hero__metrics{grid-template-columns:1fr}.hero__mesh{width:min(48vw,20rem);opacity:.4}.site-footer{display:grid}}@media (max-width: 760px){.site-header{flex-direction:column;align-items:flex-start}.site-nav{width:100%;justify-content:space-between}.hero{min-height:auto;padding-top:4rem}.hero__mesh{display:none}.hero__wordmark{font-size:clamp(2.9rem,18vw,4.6rem)}.project-item,.contact-form{padding:1.2rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
