body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{position:fixed;top:0;width:100%;height:var(--nav-height);z-index:1000;display:flex;align-items:center;border-bottom:1px solid transparent;transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.navbar.scrolled{background:#fbfaf7d9;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);border-bottom-color:var(--line)}.navbar-container{width:100%;padding:0 clamp(1.25rem,2.5vw,2.5rem);display:flex;justify-content:space-between;align-items:center}.navbar-brand{display:flex;align-items:center;margin-right:auto;text-decoration:none;z-index:1001}.brand-text{font-family:var(--font-display);font-weight:700;font-size:1.08rem;color:var(--ink);letter-spacing:-.02em}.brand-text span{color:var(--ink-faint);font-weight:500}.nav-links{display:flex;align-items:center;gap:.35rem;list-style:none}.nav-link{position:relative;color:var(--ink-muted);text-decoration:none;font-family:var(--font-mono);font-weight:500;font-size:.8rem;letter-spacing:.04em;padding:.5rem .85rem;border-radius:var(--radius-sm);transition:color .2s var(--ease)}.nav-link:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:2px;background:var(--clay);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link.active:after{transform:scaleX(1)}.nav-cta-item{margin-left:.75rem}.nav-cta{padding:.6rem 1.2rem;font-size:.92rem}.mobile-menu-button{display:none;flex-direction:column;justify-content:space-between;width:28px;height:18px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.mobile-menu-button span{width:100%;height:2px;background-color:var(--ink);border-radius:3px;transition:all .3s var(--ease)}.mobile-menu-button.open span:first-child{transform:translateY(8px) rotate(45deg);background:var(--pine)}.mobile-menu-button.open span:nth-child(2){opacity:0}.mobile-menu-button.open span:last-child{transform:translateY(-8px) rotate(-45deg);background:var(--pine)}@media(max-width:820px){.mobile-menu-button{display:flex}.nav-links{position:fixed;top:var(--nav-height);left:0;right:0;flex-direction:column;align-items:stretch;gap:.15rem;padding:1.25rem 1.5rem 2rem;background:#fbfaf7fa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:var(--shadow-md);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease-out)}.nav-links.open{opacity:1;transform:translateY(0);pointer-events:auto}.nav-link{display:block;padding:.9rem 1rem;font-size:.95rem;border-radius:var(--radius-sm)}.nav-link:after{display:none}.nav-link.active,.nav-link:hover{background:#1a1a170a}.nav-cta-item{margin:.75rem 0 0}.nav-cta{width:100%;padding:.9rem;font-size:1rem}}body.menu-open{overflow:hidden}.footer{position:relative;margin-top:6rem;border-top:1px solid var(--line);background:var(--paper-2)}.footer .footer-cta{padding-top:4rem}.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2.75rem;border-radius:var(--radius-lg);background:var(--pine);color:#eef2ec;position:relative;overflow:hidden}.footer-cta-inner:before{content:"";position:absolute;top:1rem;right:1rem;width:34px;height:34px;border-top:2px solid rgba(238,242,236,.35);border-right:2px solid rgba(238,242,236,.35)}.footer-cta-inner h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.4rem;color:#f6f8f4}.footer-cta-inner p{color:#eef2eccc}.footer-cta-inner .btn-primary{background:#f4efe4;color:var(--pine-deep);box-shadow:none}.footer-cta-inner .btn-primary:hover{background:#fff;transform:translateY(-2px);box-shadow:0 12px 30px -14px #0006}.footer .footer-main{display:grid;grid-template-columns:1.6fr 1fr 1.4fr;gap:2.5rem;padding-top:4rem;padding-bottom:2.5rem}.footer-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:1.08rem;color:var(--ink);letter-spacing:-.02em;margin-bottom:1rem}.footer-logo .brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--pine);color:#f4efe4;font-family:var(--font-mono);font-weight:600;font-size:.6rem;letter-spacing:.4px;box-shadow:inset 0 0 0 1px #ffffff14}.footer-brand>p{color:var(--ink-muted);max-width:36ch;margin-bottom:1.5rem;font-size:.95rem}.footer-socials{display:flex;gap:.65rem}.footer-socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;color:var(--ink-muted);border:1px solid var(--line-strong);background:var(--surface);transition:all .2s var(--ease)}.footer-socials a:hover{color:var(--pine);border-color:var(--pine);transform:translateY(-2px)}.footer-section h3{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.1rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.85rem}.footer-links a,.footer-links .contact-link{color:var(--ink-muted);text-decoration:none;transition:color .2s var(--ease);font-size:.95rem}.footer-links a:hover{color:var(--pine)}.contact-link{display:inline-flex;align-items:center;gap:.6rem}.contact-link svg{color:var(--clay);flex-shrink:0}a.contact-link:hover{color:var(--ink)}.footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding-top:1.75rem;padding-bottom:2.5rem;margin-top:1rem;border-top:1px solid var(--line)}.footer-bottom p{color:var(--ink-faint);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em}@media(max-width:768px){.footer .footer-main{grid-template-columns:1fr;gap:2rem}.footer-cta-inner{padding:2rem 1.5rem}}.hero{position:relative;padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}.hero-copy .eyebrow{margin-bottom:1.5rem}.hero-copy h1{font-size:clamp(2.5rem,5.4vw,4rem);line-height:1.03;letter-spacing:-.03em;margin-bottom:1.5rem}.hero-copy>p{font-size:clamp(1.05rem,1.5vw,1.18rem);color:var(--ink-muted);max-width:44ch;margin-bottom:2rem}.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1.75rem}.hero-trust{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink-muted);font-size:.9rem}.hero-trust svg{color:var(--pine-bright)}.hero-visual{position:relative}.blueprint-card{max-width:440px;margin-left:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:1.4rem 1.4rem 0;box-shadow:var(--shadow-lg);background-image:linear-gradient(rgba(14,75,63,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,75,63,.05) 1px,transparent 1px);background-size:22px 22px;background-position:-1px -1px}.blueprint{display:block;width:100%;height:auto;overflow:visible}.blueprint .bp-line{stroke:var(--pine);stroke-width:1.25;fill:none;stroke-linecap:round;stroke-linejoin:round}.blueprint .bp-frame{stroke-width:1.6}.blueprint .bp-accent{stroke:var(--clay);stroke-width:1.5;fill:none}.blueprint .bp-fill{fill:#0e4b3f21}.blueprint .bp-dim{stroke:var(--clay);stroke-width:1;fill:none}.blueprint text{font-family:var(--font-mono)}.blueprint .bp-dim-label{fill:var(--clay);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.blueprint .bp-stroke{stroke-dasharray:1;stroke-dashoffset:0}.blueprint .bp-soft{opacity:1}@keyframes bp-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes bp-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:no-preference){.blueprint .bp-stroke{stroke-dashoffset:1;animation:bp-draw .9s var(--ease-out) forwards}.blueprint .bp-soft{opacity:0;animation:bp-fade .6s var(--ease) forwards}.blueprint .g-header .bp-stroke,.blueprint .g-header .bp-soft{animation-delay:.2s}.blueprint .g-hero .bp-stroke,.blueprint .g-hero .bp-soft{animation-delay:.45s}.blueprint .g-cards .bp-stroke,.blueprint .g-cards .bp-soft{animation-delay:.7s}.blueprint .g-dims .bp-stroke,.blueprint .g-dims .bp-soft{animation-delay:1s}}.blueprint-titleblock{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;margin:.6rem -1.4rem 0;padding:.7rem 1.4rem;border-top:1px solid var(--line-strong);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.blueprint-titleblock .tb-fig{color:var(--clay)}.blueprint-titleblock .tb-name{color:var(--ink);font-weight:500}.blueprint-titleblock .tb-scale{color:var(--ink-faint)}.hero-note{margin-top:1rem;padding-left:.1rem;text-align:right}.mockup{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-md);overflow:hidden}.mockup-bar{display:flex;align-items:center;gap:.4rem;padding:.7rem .9rem;background:var(--paper-2);border-bottom:1px solid var(--line)}.mockup-bar span:not(.cw-file){width:10px;height:10px;border-radius:50%;background:#ccc6b8}.mockup-bar span:first-child{background:#e6a598}.mockup-bar span:nth-child(2){background:#e6cf8f}.mockup-bar span:nth-child(3){background:#a9c7a0}.mockup-url{margin-left:.6rem;flex:1;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-faint);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-full);padding:.28rem .85rem;text-align:center}.live-frame{position:relative;width:100%;aspect-ratio:1280 / 800;overflow:hidden;background:var(--paper)}.live-frame iframe{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform:scale(var(--scale, .4));transform-origin:top left;pointer-events:none}.live-frame-overlay{position:absolute;inset:0;z-index:2}.stats-bar{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.marquee{overflow:hidden;padding:1.35rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;align-items:baseline;width:max-content;animation:marquee 44s linear infinite}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.stat{display:inline-flex;align-items:baseline;gap:.6rem;white-space:nowrap}.stat:after{content:"/";color:var(--clay);font-family:var(--font-mono);font-size:.95rem;margin:0 2.25rem}.stat-value{font-family:var(--font-display);font-weight:700;font-size:1.4rem;letter-spacing:-.02em;color:var(--ink);line-height:1}.stat-label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;color:var(--ink-faint)}@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.service-card{padding:1.85rem;transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .25s var(--ease)}.service-card:hover{transform:translateY(-4px);border-color:var(--line-ink);box-shadow:var(--shadow-md)}.service-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:9px;background:var(--paper-2);border:1px solid var(--line);color:var(--pine);margin-bottom:1.25rem}.service-icon svg{overflow:visible}.service-card:hover .service-icon{color:var(--clay);border-color:var(--line-strong)}.i-code .br-left,.i-code .br-right{transform-box:fill-box}.service-card:hover .i-code .br-left{animation:code-open-l .9s var(--ease-out)}.service-card:hover .i-code .br-right{animation:code-open-r .9s var(--ease-out)}.service-card:hover .i-code .slash{animation:code-blink .9s steps(1,end)}@keyframes code-open-l{0%,to{transform:translate(0)}45%{transform:translate(-1.8px)}}@keyframes code-open-r{0%,to{transform:translate(0)}45%{transform:translate(1.8px)}}@keyframes code-blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}.service-card:hover .i-responsive .screen{animation:rd-reflow 1.8s var(--ease)}@keyframes rd-reflow{0%{x:3px;y:5px;width:18px;height:11px}38%{x:8.5px;y:4px;width:7px;height:16px}62%{x:8.5px;y:4px;width:7px;height:16px}to{x:3px;y:5px;width:18px;height:11px}}.service-card:hover .i-responsive .stand{animation:rd-stand 1.8s var(--ease)}@keyframes rd-stand{0%,22%,78%,to{opacity:1}38%,62%{opacity:0}}.i-responsive .home-btn{opacity:0}.service-card:hover .i-responsive .home-btn{animation:rd-home 1.8s var(--ease)}@keyframes rd-home{0%,32%,68%,to{opacity:0}40%,60%{opacity:1}}.i-sparkle .star1,.i-sparkle .star2{transform-box:fill-box;transform-origin:center}.service-card:hover .i-sparkle .star1{animation:sp-twinkle .9s ease-in-out}.service-card:hover .i-sparkle .star2{animation:sp-twinkle .9s ease-in-out .2s}@keyframes sp-twinkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.3) rotate(18deg)}}.i-gauge .needle{transform-box:view-box;transform-origin:12px 17px}.service-card:hover .i-gauge .needle{animation:gg-sweep 1.4s ease-in-out}@keyframes gg-sweep{0%,to{transform:rotate(0)}30%{transform:rotate(-66deg)}70%{transform:rotate(66deg)}}.i-search .glass{transform-box:fill-box;transform-origin:center}.service-card:hover .i-search .glass{animation:se-scan 1.3s ease-in-out}@keyframes se-scan{0%,to{transform:translate(0)}25%{transform:translate(-2px,-1.5px)}50%{transform:translate(1.5px,-2px)}75%{transform:translate(2px,1.5px)}}.i-chat .dot{opacity:0;transform-box:fill-box;transform-origin:center}.service-card:hover .i-chat .d1{animation:ch-dot 1.2s ease-in-out}.service-card:hover .i-chat .d2{animation:ch-dot 1.2s ease-in-out .15s}.service-card:hover .i-chat .d3{animation:ch-dot 1.2s ease-in-out .3s}@keyframes ch-dot{0%{opacity:0;transform:translateY(0)}20%{opacity:1}35%{transform:translateY(-2.5px)}55%{transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(0)}}.service-card h3{font-size:1.18rem;margin-bottom:.55rem}.service-card p{color:var(--ink-muted);font-size:.95rem}.case-study{display:grid;grid-template-columns:1.05fr 1fr;gap:2.5rem;align-items:center;padding:2.5rem}.case-visual,.case-content{position:relative;z-index:1}.case-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);font-weight:500}.case-content h3{font-size:1.9rem;margin:.6rem 0 .85rem}.case-content>p{color:var(--ink-muted);margin-bottom:1.25rem}.case-tags{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin-bottom:1.75rem}.case-tags li{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-soft);padding:.35rem .75rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.featured-more{margin-top:2.5rem}.featured-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--pine);text-decoration:none;font-weight:600;transition:gap .2s var(--ease)}.featured-link:hover{gap:.85rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.process-step{padding:1.85rem 1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .25s var(--ease)}.process-step:hover{transform:translateY(-4px);border-color:var(--line-ink);box-shadow:var(--shadow-md)}.process-n{display:inline-block;font-family:var(--font-mono);font-weight:500;font-size:.82rem;letter-spacing:.08em;color:var(--clay);margin-bottom:1.5rem;padding-bottom:.4rem;border-bottom:2px solid var(--line-strong)}.process-step h3{font-size:1.12rem;margin-bottom:.5rem}.process-step p{color:var(--ink-muted);font-size:.92rem}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:3rem}.hero-visual{max-width:460px}.blueprint-card{margin-left:0}.hero-note{text-align:left}.services-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.case-study{grid-template-columns:1fr}}@media(max-width:560px){.services-grid,.process-grid{grid-template-columns:1fr}.case-study{padding:1.5rem}}.about-story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.5rem;align-items:center}.about-image-wrap{position:relative}.about-image-frame{position:relative;z-index:1;border-radius:var(--radius);padding:8px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);overflow:hidden}.about-image-frame .image-container{border-radius:var(--radius-sm)!important}.about-image-glow{position:absolute;left:-14px;bottom:-14px;width:64px;height:64px;z-index:0;border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);opacity:.7}.about-content .eyebrow{margin-bottom:1.25rem}.about-content h2{font-size:clamp(1.75rem,3.5vw,2.4rem);margin-bottom:1.25rem}.about-content p{color:var(--ink-muted);margin-bottom:1rem;line-height:1.7}.about-cta{margin-top:1.25rem}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.skill-card{display:flex;flex-direction:column;padding:2rem;transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .25s var(--ease)}.skill-card:hover{transform:translateY(-4px);border-color:var(--line-ink);box-shadow:var(--shadow-md)}.skill-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 1.25rem;border-radius:9px;background:var(--pine);color:#f4efe4}.skill-card h3{font-size:1.15rem;margin-bottom:.75rem}.skill-card p{color:var(--ink-muted);font-size:.92rem;line-height:1.7}.skill-card .skill-note{margin-top:auto;padding-top:.85rem;border-top:1px solid var(--line);font-size:.78rem;line-height:1.6;min-height:calc(.85rem + 3.2em);box-sizing:border-box}.side-project.glass-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2rem 2.25rem;background:linear-gradient(180deg,rgba(14,75,63,.04),transparent 60%),var(--surface)}.side-project .case-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);font-weight:500}.side-project h3{font-size:1.32rem;margin:.4rem 0 .5rem}.side-project p{color:var(--ink-muted);font-size:.95rem;max-width:62ch;margin:0}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.value-card{display:flex;gap:1.25rem;padding:1.75rem;transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .25s var(--ease)}.value-card:hover{transform:translateY(-4px);border-color:var(--line-ink);box-shadow:var(--shadow-md)}.value-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:9px;background:var(--paper-2);border:1px solid var(--line);color:var(--pine)}.value-card h3{font-size:1.12rem;margin-bottom:.4rem}.value-card p{color:var(--ink-muted);font-size:.92rem}.skill-icon svg,.value-icon svg{overflow:visible}.skill-card:hover .i-code .br-left{animation:code-open-l .9s var(--ease-out)}.skill-card:hover .i-code .br-right{animation:code-open-r .9s var(--ease-out)}.skill-card:hover .i-code .slash{animation:code-blink .9s steps(1,end)}.value-card:hover .i-sparkle .star1{animation:sp-twinkle .9s ease-in-out}.value-card:hover .i-sparkle .star2{animation:sp-twinkle .9s ease-in-out .2s}.value-card:hover .i-chat .d1{animation:ch-dot 1.2s ease-in-out}.value-card:hover .i-chat .d2{animation:ch-dot 1.2s ease-in-out .15s}.value-card:hover .i-chat .d3{animation:ch-dot 1.2s ease-in-out .3s}.skill-card:hover .i-server .led1{animation:sv-led .9s ease-in-out}.skill-card:hover .i-server .led2{animation:sv-led .9s ease-in-out .18s}@keyframes sv-led{0%,to{opacity:1}25%,75%{opacity:.15}50%{opacity:1}}.i-rocket .rocket{transform-box:fill-box;transform-origin:center}.skill-card:hover .i-rocket .rocket{animation:rk-launch 1.4s var(--ease-out)}@keyframes rk-launch{0%{transform:translate(0) scale(1)}16%{transform:translate(-.4px,1.1px) scale(.95)}50%{transform:translate(2.6px,-4.6px) scale(1.05)}74%{transform:translate(.7px,-1px) scale(1)}to{transform:translate(0) scale(1)}}.i-rocket .flame{transform-box:fill-box;transform-origin:center}.skill-card:hover .i-rocket .flame{animation:rk-flame 1.4s ease-in-out}@keyframes rk-flame{0%,to{opacity:1;transform:scale(1)}16%{opacity:.45;transform:scaleY(.7)}46%{opacity:1;transform:scale(1.4)}70%{transform:scale(1.1)}}.i-shield .check{stroke-dasharray:9;stroke-dashoffset:0}.value-card:hover .i-shield .check{animation:sh-draw 1.1s var(--ease-out)}@keyframes sh-draw{0%{stroke-dashoffset:9}to{stroke-dashoffset:0}}.i-users .uf-body,.i-users .uf-head{stroke-dasharray:1;stroke-dashoffset:0}.value-card:hover .i-users .uf-body{animation:uc-draw .7s var(--ease-out) .1s both}.value-card:hover .i-users .uf-head{animation:uc-draw .7s var(--ease-out) .3s both}.value-card:hover .i-users .user-back{animation:uc-fade .6s var(--ease-out) both}@keyframes uc-draw{0%{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes uc-fade{0%{opacity:.2}to{opacity:1}}@media(max-width:860px){.about-story-grid{grid-template-columns:1fr;gap:2.5rem}.about-image-wrap{max-width:420px}.skills-grid{grid-template-columns:1fr;max-width:460px}.values-grid{grid-template-columns:1fr}.side-project.glass-card{flex-direction:column;align-items:flex-start}}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:stretch}.package-card.glass-card{overflow:visible}@media(min-width:901px){@supports (grid-template-rows: subgrid){.packages-grid{grid-template-rows:auto auto auto auto auto 1fr auto;row-gap:0}.package-card.glass-card{display:grid;grid-template-rows:subgrid;grid-row:span 7}.package-header{display:contents}.package-bestfor{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}}}.package-card{display:flex;flex-direction:column;padding:2.25rem 2rem;transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .25s var(--ease)}.package-card:hover{transform:translateY(-4px);border-color:var(--line-ink);box-shadow:var(--shadow-md)}.package-card.featured{border-color:var(--pine);box-shadow:var(--shadow-md);background:linear-gradient(180deg,rgba(14,75,63,.05),transparent 40%),var(--surface)}.package-card.featured:hover{box-shadow:var(--shadow-lg)}.popular-badge{position:absolute;top:0;left:2rem;transform:translateY(-50%);font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#f4efe4;background:var(--pine);padding:.3rem .7rem;border-radius:var(--radius-sm)}.package-header{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.package-name{font-size:1.4rem;margin-bottom:.3rem}.package-tagline{color:var(--ink-muted);font-size:.92rem;margin-bottom:1.25rem}.package-pricing{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem}.price-from{font-family:var(--font-mono);color:var(--ink-faint);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.price{font-family:var(--font-display);font-weight:700;font-size:2.4rem;letter-spacing:-.02em;color:var(--ink);line-height:1}.package-description{color:var(--ink-muted);font-size:.93rem;margin-bottom:1.1rem}.package-bestfor{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.4;color:var(--ink)}.package-bestfor span{flex-shrink:0;font-family:var(--font-mono);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);border:1px solid var(--line-strong);padding:.22rem .5rem;border-radius:var(--radius-sm);margin-top:1px}.features-list{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin-bottom:2rem;flex-grow:1}.features-list li{display:flex;align-items:flex-start;gap:.65rem;color:var(--ink-soft);font-size:.94rem}.features-list li svg{color:var(--pine-bright);flex-shrink:0;margin-top:2px}.package-card .btn-secondary,.package-card .package-button{margin-top:auto}.extras{margin-top:3rem;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper-2)}.extras h4{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.25rem}.extras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.extra-item{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line)}.extra-name{color:var(--ink-muted);font-size:.88rem}.extra-price{color:var(--ink);font-weight:600;font-family:var(--font-display)}.extras-note{color:var(--ink-muted);font-size:.9rem;margin-top:1.5rem}.live-project{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2rem 2.25rem;margin-bottom:2rem;background:linear-gradient(180deg,rgba(14,75,63,.04),transparent 60%),var(--surface)}.live-project .case-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);font-weight:500}.live-project h3{font-size:1.4rem;margin:.4rem 0 .5rem}.live-project p{color:var(--ink-muted);max-width:60ch}.faq-container{max-width:800px}.faq-list{display:flex;flex-direction:column;gap:.85rem}.faq-item{padding:0;overflow:hidden;transition:border-color .2s var(--ease)}.faq-item summary{list-style:none;cursor:pointer;padding:1.3rem 1.5rem;font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:1rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.4rem;color:var(--clay);font-weight:400;transition:transform .25s var(--ease);flex-shrink:0}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{padding:0 1.5rem 1.4rem;color:var(--ink-muted);line-height:1.65}.faq-item:hover{border-color:var(--line-strong)}.faq-cta{margin-top:3rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.faq-cta p{color:var(--ink-muted);margin:0}@media(max-width:900px){.packages-grid{grid-template-columns:1fr;max-width:460px}.extras-grid{grid-template-columns:repeat(2,1fr)}.live-project{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.extras-grid{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.5rem;align-items:start}.contact-info h2{font-size:1.55rem;margin-bottom:.5rem}.contact-intro{color:var(--ink-muted);margin-bottom:2rem}.info-list{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .2s var(--ease),transform .2s var(--ease-out),box-shadow .2s var(--ease)}.info-item:hover{border-color:var(--line-ink);transform:translate(4px);box-shadow:var(--shadow-sm)}.info-item-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:9px;background:var(--paper-2);border:1px solid var(--line);color:var(--pine)}.info-item-content h3{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.25rem}.info-item-content p,.info-item-content a{color:var(--ink);text-decoration:none;font-size:.96rem;transition:color .2s var(--ease);word-break:break-word}.info-item-content a:hover{color:var(--pine)}.contact-form{padding:2.25rem;scroll-margin-top:96px}.contact-form h2{font-size:1.55rem;margin-bottom:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:span 2}.form-label{margin-bottom:.5rem;color:var(--ink-soft);font-weight:500;font-size:.88rem}.form-input,.form-select,.form-textarea{width:100%;padding:.8rem 1rem;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:.96rem;font-family:var(--font-body);color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-input::placeholder,.form-textarea::placeholder{color:var(--ink-faint)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23928d80' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 5 7 10 12 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-select option{background:var(--surface);color:var(--ink)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px #0e4b3f24}.form-textarea{resize:vertical;min-height:150px}.form-submit{margin-top:1.5rem}.form-input.error,.form-select.error,.form-textarea.error{border-color:#b3402e}.error-message{color:#b3402e;font-size:.82rem;margin-top:.4rem}.success-message{display:flex;align-items:center;gap:.5rem;color:var(--pine);padding:.9rem 1.1rem;border-radius:var(--radius-sm);background:#0e4b3f14;border:1px solid rgba(14,75,63,.25);margin-bottom:1.5rem;font-weight:500}@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.contact-form{padding:1.5rem}}:root{--paper: #fbfaf7;--paper-2: #f3f0e8;--paper-3: #ece7db;--surface: #fffdf9;--ink: #1a1a17;--ink-soft: #55524a;--ink-muted: #6f6b60;--ink-faint: #928d80;--pine: #0e4b3f;--pine-deep: #0a392f;--pine-bright: #17715e;--clay: #b0691a;--clay-soft: #c98a3c;--line: rgba(26, 26, 23, .12);--line-strong: rgba(26, 26, 23, .22);--line-ink: rgba(26, 26, 23, .42);--primary-color: var(--pine);--primary-hover: var(--pine-deep);--accent-color: var(--clay);--accent-hover: var(--clay-soft);--violet: var(--pine);--violet-bright: var(--pine-bright);--violet-soft: var(--clay);--bg: var(--paper);--bg-2: var(--paper-2);--surface-2: var(--paper-2);--glass: rgba(26, 26, 23, .03);--glass-strong: rgba(26, 26, 23, .05);--border: var(--line);--border-strong: var(--line-strong);--white: #ffffff;--light-gray: var(--paper-2);--text-high: var(--ink);--text: var(--ink-soft);--text-color: var(--ink-soft);--text-muted: var(--ink-muted);--text-faint: var(--ink-faint);--secondary-color: var(--ink);--grad-brand: linear-gradient(180deg, #15594a 0%, #0e4b3f 100%);--grad-brand-hover: linear-gradient(180deg, #0e4b3f 0%, #0a392f 100%);--shadow-sm: 0 1px 2px rgba(60, 50, 30, .06);--shadow-md: 0 12px 30px -14px rgba(50, 42, 24, .22);--shadow-lg: 0 34px 60px -28px rgba(40, 34, 18, .28);--glow: var(--shadow-md);--glow-soft: var(--shadow-sm);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-full: 999px;--max-width: 1160px;--nav-height: 76px;--font-display: "Bricolage Grotesque", "Hanken Grotesk", system-ui, sans-serif;--font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink-soft);background-color:var(--paper);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.028;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app{display:flex;flex-direction:column;min-height:100vh;position:relative}.main-content{flex:1;margin-top:var(--nav-height);overflow-x:clip}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.75rem}h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);line-height:1.06;letter-spacing:-.02em;font-weight:700}p{color:var(--ink-soft)}a{color:inherit}::selection{background:#0e4b3f29;color:var(--ink)}:focus-visible{outline:2px solid var(--clay);outline-offset:2px;border-radius:3px}.gradient-text{position:relative;color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11 C 46 5, 96 13, 140 8 S 191 6, 197 10' fill='none' stroke='%23b0691a' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 100%;background-size:100% .3em;padding-bottom:.06em}@keyframes underline-draw{0%{background-size:0% .3em}to{background-size:100% .3em}}@media(prefers-reduced-motion:no-preference){.gradient-text{background-size:0% .3em;animation:underline-draw .7s var(--ease-out) .55s forwards}}.marginalia{font-family:var(--font-mono);font-size:.82rem;font-weight:400;color:var(--ink-faint);letter-spacing:-.01em}.marginalia:before{content:"// ";color:var(--clay)}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow:before{content:"";width:18px;height:2px;background:var(--clay);flex-shrink:0}.section{padding:clamp(3.25rem,6.5vw,4.75rem) 0;position:relative}.section.band{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:620px;margin:0 0 clamp(1.9rem,3.4vw,2.5rem)}.section-head .eyebrow{margin-bottom:.9rem}.section-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin:0 0 .85rem}.section-head p{font-size:1.05rem;color:var(--ink-muted);max-width:54ch}.page-hero{position:relative;padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem)}.page-hero .eyebrow{margin-bottom:1.25rem}.page-hero h1{font-size:clamp(2.25rem,5vw,3.5rem);max-width:16ch;margin-bottom:1.25rem}.page-hero>.container>p{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--ink-muted);max-width:58ch}.tilt{transition:transform .2s var(--ease-out);transform-style:preserve-3d;will-change:transform}.tilt-glare{position:absolute;inset:0;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);mix-blend-mode:soft-light;z-index:2}.glass-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.btn,.btn-primary,.package-button,.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-body);font-weight:600;font-size:.98rem;letter-spacing:.01em;padding:.85rem 1.6rem;border-radius:var(--radius-sm);text-decoration:none;border:none;cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease),background .2s var(--ease);position:relative;white-space:nowrap}.btn-primary,.package-button,.form-submit{background:var(--grad-brand);color:#f6f4ee;box-shadow:var(--shadow-sm)}.btn-primary:hover,.package-button:hover,.form-submit:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--grad-brand-hover)}.btn-primary svg,.package-button svg,.form-submit svg{transition:transform .2s var(--ease-out)}.btn-primary:hover svg,.package-button:hover svg{transform:translate(3px)}.btn-primary:disabled,.package-button:disabled,.form-submit:disabled{background:var(--paper-3);color:var(--ink-faint);box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:transparent;border:1px solid var(--line-strong);color:var(--ink);padding:.85rem 1.6rem;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;font-weight:600;font-family:var(--font-body);font-size:.98rem;transition:transform .2s var(--ease-out),border-color .2s var(--ease),background .2s var(--ease)}.btn-secondary svg{transition:transform .2s var(--ease-out)}.btn-secondary:hover{transform:translateY(-2px);border-color:var(--line-ink);background:#1a1a1708}.btn-secondary:hover svg{transform:translate(3px)}.btn-full-width{width:100%}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:768px){.container{padding:0 1.25rem}}
