:root{--midnight: #111009;--ember: #D93B2B;--parchment: #F4EFE4;--graphite: #3A3730;--warm-stone: #9A9488;--muted: #666054;--font-display: "Playfair Display", serif;--font-body: "DM Sans", sans-serif;--section-padding: clamp(60px, 10vw, 120px);--container-width: 1200px;--container-padding: clamp(24px, 5vw, 80px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-weight:300;font-size:16px;line-height:1.7;color:var(--warm-stone);background:var(--midnight);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;cursor:pointer;border:none;background:none}.skip-link{position:absolute;top:-100%;left:16px;background:var(--ember);color:var(--midnight);padding:8px 16px;font-weight:500;z-index:9999}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:var(--container-width);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}h1{font-family:var(--font-display);font-weight:900;font-size:clamp(48px,7vw,96px);line-height:1;color:var(--parchment)}h2{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,4vw,48px);line-height:1.1}h3{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.2}h4{font-family:var(--font-body);font-weight:500;font-size:16px;line-height:1.4}p{max-width:65ch}.label{font-family:var(--font-body);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase}blockquote{font-family:var(--font-display);font-weight:700;font-style:italic;font-size:clamp(22px,3vw,32px);line-height:1.3}.italic{font-style:italic}.btn-primary{display:inline-block;background:var(--ember);color:var(--midnight);font-family:var(--font-body);font-weight:500;font-size:14px;padding:12px 24px;border-radius:0;border:none;cursor:pointer;transition:opacity .2s ease}.btn-primary:hover{opacity:.88}.btn-ghost{display:inline-block;background:transparent;color:var(--parchment);font-family:var(--font-body);font-weight:400;font-size:14px;padding:11px 24px;border-radius:0;border:.5px solid var(--graphite);cursor:pointer;transition:border-color .2s ease}.btn-ghost:hover{border-color:var(--warm-stone)}.btn-dark{display:inline-block;background:var(--midnight);color:var(--parchment);font-family:var(--font-body);font-weight:500;font-size:14px;padding:12px 24px;border-radius:0;border:none;cursor:pointer;transition:opacity .2s ease}.btn-dark:hover{opacity:.88}.btn-loading{pointer-events:none;opacity:.6}.bg-midnight{background:var(--midnight);color:var(--warm-stone)}.bg-midnight h1,.bg-midnight h2,.bg-midnight h3,.bg-midnight blockquote{color:var(--parchment)}.bg-parchment{background:var(--parchment);color:var(--muted)}.bg-parchment h1,.bg-parchment h2,.bg-parchment h3,.bg-parchment blockquote{color:var(--midnight)}.bg-parchment .label{color:var(--ember)}.bg-ember{background:var(--ember);color:var(--midnight)}.bg-ember h2,.bg-ember h3{color:var(--midnight)}.bg-ember p{color:#4a1816}section{padding:var(--section-padding) 0}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s ease,box-shadow .3s ease}.site-nav .container{display:flex;align-items:center;justify-content:space-between;height:72px}.nav-grid{display:grid!important;grid-template-columns:auto 1fr auto auto;gap:32px}.nav-logo{font-family:var(--font-display);font-weight:700;font-size:18px;color:#fff;white-space:nowrap}.logo-lockup{display:inline-flex;flex-direction:column;line-height:.9;color:#fff}.logo-line{font-family:var(--font-display);font-weight:700;font-size:26px}.logo-italic{font-style:italic}.nav-lockup .logo-line{font-size:20px}.nav-logo .dot{color:var(--ember);font-style:italic}.nav-links{display:flex;align-items:center;gap:32px;justify-self:end;width:max-content}.nav-links a{font-family:var(--font-body);font-weight:400;font-size:14px;color:#fff;transition:color .2s ease}.nav-links a:hover{color:var(--parchment)}.nav-cta{margin-left:16px}.desktop-only{display:inline-block}.nav-solid{background:var(--midnight);box-shadow:0 1px 0 var(--graphite)}.nav-toggle{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:1.5px;background:var(--parchment);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,width .35s ease;transform-origin:center}.nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0;width:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--midnight);z-index:99;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:40px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}.mobile-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.mobile-overlay a{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,6vw,48px);color:var(--parchment);opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s cubic-bezier(.25,.46,.45,.94),color .2s ease}.mobile-overlay.is-open a{opacity:1;transform:translateY(0)}.mobile-overlay.is-open a:nth-of-type(1){transition-delay:.08s}.mobile-overlay.is-open a:nth-of-type(2){transition-delay:.14s}.mobile-overlay.is-open a:nth-of-type(3){transition-delay:.2s}.mobile-overlay.is-open a:nth-of-type(4){transition-delay:.26s}.mobile-overlay a:hover{color:var(--ember)}.mobile-close{position:absolute;top:24px;right:24px;padding:8px;opacity:0;transform:rotate(-45deg);transition:opacity .3s ease .1s,transform .3s cubic-bezier(.34,1.56,.64,1) .1s}.mobile-overlay.is-open .mobile-close{opacity:1;transform:rotate(0)}.mobile-close span{display:block;width:24px;height:1.5px;background:var(--parchment)}.mobile-close span:first-child{transform:rotate(45deg) translate(2px,2px)}.mobile-close span:last-child{transform:rotate(-45deg) translate(2px,-2px)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:72px;overflow:hidden}.hero-slideshow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease}.hero-slide-active{opacity:1}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#1110094d,#111009a6);z-index:1}.hero .container{position:relative;z-index:2;width:100%}.hero-content{max-width:720px;padding-top:8vh}.hero .label{color:#fff;font-weight:700;margin-bottom:24px;text-decoration:underline;text-decoration-color:var(--ember);text-underline-offset:.35em;text-decoration-thickness:2px}.hero h1{margin-bottom:24px}.hero-body{font-size:17px;max-width:520px;margin-bottom:32px}.hero .hero-body{color:#fff}.hero-buttons{display:flex;gap:12px;margin-bottom:48px}.hero .btn-ghost{background:#fff;color:var(--midnight);border:none;padding:12px 24px;font-weight:500;transition:opacity .2s ease}.hero .btn-ghost:hover{opacity:.88}.stats-bar{display:flex;gap:40px;padding-top:32px}.stat-item{text-align:left}.stat-number{font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--parchment);line-height:1.1}.stat-label{font-family:var(--font-body);font-weight:300;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-stone);margin-top:4px}.hero .stat-label{color:#fff}.services-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;align-items:stretch}.service-col{display:flex;flex-direction:column;padding:0 32px;position:relative}.service-col:not(:last-child):after{content:"";position:absolute;right:0;top:0;bottom:0;width:.5px;background:var(--warm-stone);opacity:.3}.service-col:first-child{padding-left:0}.service-col:last-child{padding-right:0}.service-prefix{font-family:var(--font-body);font-weight:300;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin-bottom:8px}.service-col h2,.service-col h3{margin-bottom:12px}.service-col h2{min-height:2lh}.service-col p{font-size:15px;margin-bottom:24px}.service-link{font-family:var(--font-body);font-weight:400;font-size:14px;color:var(--ember);transition:opacity .2s ease;margin-top:auto}.service-link:hover{opacity:.75}.work-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.work-tile{position:relative;overflow:hidden;cursor:pointer}.work-tile-large{grid-row:1 / 3}.work-tile img:not(.portfolio-tile-logo){width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.work-tile:hover img:not(.portfolio-tile-logo){transform:scale(1.02)}.work-tile:before{content:"";position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%);z-index:1;pointer-events:none}.work-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ember);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2}.work-tile:hover:after{opacity:.15}.work-tile-info{position:absolute;bottom:24px;left:24px;z-index:3;display:flex;flex-direction:column}.work-tile-label{font-family:var(--font-body);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin-top:4px;order:2}.work-tile-name{font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--parchment)}.portfolio-tile-logo{position:absolute;top:14px;right:14px;z-index:3;height:28px;width:auto;max-width:90px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85;pointer-events:none}.work-view-all{display:block;text-align:right;margin-top:24px;font-family:var(--font-body);font-weight:400;font-size:14px;color:var(--warm-stone);transition:color .2s ease}.work-view-all:hover{color:var(--parchment)}.bg-parchment .work-view-all{color:var(--graphite)}.bg-parchment .work-view-all:hover{color:var(--ember)}.testimonial-section{text-align:center}.testimonial-grid{display:grid;gap:clamp(36px,5vw,48px);max-width:1100px;margin:0 auto;align-items:center}@media (min-width: 960px){.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,40px)}}.testimonial-card{margin:0;text-align:center}@media (max-width: 959px){.testimonial-card:not(:last-child){padding-bottom:clamp(32px,5vw,44px);border-bottom:.5px solid rgba(58,55,48,.22)}}.testimonial-mark{font-family:var(--font-display);font-weight:900;font-size:72px;color:var(--ember);line-height:.5;margin-bottom:24px}.hero-load{opacity:0;transform:translateY(18px);animation:hero-load-in .4s ease forwards;animation-delay:var(--hero-delay, 0ms)}@keyframes hero-load-in{to{opacity:1;transform:translateY(0)}}.testimonial-card blockquote{margin-bottom:20px;text-align:center;font-size:clamp(17px,1.9vw,22px);line-height:1.38}.testimonial-card .testimonial-attribution{font-family:var(--font-body);font-weight:300;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-left:auto;margin-right:auto}.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch}.about-teaser h2{font-size:clamp(36px,5vw,56px);font-weight:900}.about-teaser h2 em{color:#fff;animation:none}.about-teaser-body{display:flex;flex-direction:column;height:100%}.about-teaser-body p{font-size:15px;margin-bottom:16px}.about-teaser-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:auto;padding-top:16px}.about-teaser-links .about-link{margin-top:0}.about-link{display:inline-block;margin-top:16px;font-weight:400;font-size:14px;color:var(--ember);transition:opacity .2s ease}.about-link:hover{opacity:.75}.cta-section .container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.cta-headline{font-size:clamp(32px,4vw,42px);font-weight:900;margin-bottom:24px}.cta-body{font-size:15px;margin-bottom:32px}.cta-form{display:flex;flex-direction:column;gap:16px}.cta-form input,.cta-form select,.cta-form textarea{font-family:var(--font-body);font-weight:300;font-size:14px;padding:12px 16px;background:#1110091a;border:.5px solid rgba(17,16,9,.2);border-radius:0;color:var(--midnight);outline:none;transition:border-color .2s ease}.cta-form input::placeholder,.cta-form textarea::placeholder{color:#11100966}.cta-form input:focus,.cta-form select:focus,.cta-form textarea:focus{border-color:var(--midnight)}.site-footer{padding:64px 0 32px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:48px}.footer-brand .nav-logo{font-size:20px;margin-bottom:16px;display:inline-block}.footer-brand .logo-lockup{margin-bottom:16px}.footer-brand p{font-size:14px;max-width:280px}.footer-brand-icons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.footer-brand-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:#d4d0c8;background:#ffffff14;text-decoration:none;transition:background .2s ease,transform .15s ease,color .2s ease}.footer-brand-icon:hover{background:#ffffff26;transform:scale(1.06);color:var(--parchment)}.footer-brand-icon svg{width:20px;height:20px}.footer-brand-icon--whatsapp{background:#1e4d2b;color:#fff}.footer-brand-icon--whatsapp:hover{background:#25d366;color:#fff}.footer-brand-icon--social:hover{color:#fff;background:#d93b2b59}@media (pointer: coarse){.footer-brand-icon{min-width:44px;min-height:44px}}.footer-col h4,.footer-heading{color:var(--parchment);margin-bottom:16px;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.footer-col a{display:block;font-size:14px;color:var(--warm-stone);margin-bottom:10px;transition:color .2s ease}.footer-col a:hover{color:var(--parchment)}.footer-grid>.footer-col:has(>a[href^="mailto:"]){display:flex;flex-direction:column;align-items:flex-start}.footer-grid>.footer-col:has(>a[href^="mailto:"])>p:last-of-type:not(.footer-heading){margin-top:auto;margin-bottom:0;font-style:italic}.footer-bar{border-top:.5px solid var(--graphite);padding-top:24px;font-size:12px;color:var(--warm-stone)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-family:var(--font-body);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-stone)}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-weight:300;font-size:15px;padding:14px 16px;background:transparent;border:.5px solid var(--graphite);border-radius:0;color:var(--parchment);outline:none;transition:border-color .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--ember)}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select option{background:var(--midnight);color:var(--parchment)}.contact-sidebar h3{font-family:var(--font-body);font-weight:500;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment);margin-bottom:8px}.contact-sidebar p,.contact-sidebar a{font-size:15px;color:var(--warm-stone)}.contact-sidebar a:hover{color:var(--parchment)}.contact-block{margin-bottom:32px}.form-message{padding:14px 18px;font-size:14px;font-weight:400}.form-message-success{background:#28a7451f;color:#34c759;border:.5px solid #34c759}.form-message-error{background:#c832321a;color:#c85050;border:.5px solid #c85050}.filter-tabs{display:flex;gap:24px;margin-bottom:40px}.filter-tab{font-family:var(--font-body);font-weight:400;font-size:14px;color:var(--warm-stone);padding:8px 0;border-bottom:1.5px solid transparent;transition:color .2s ease,border-color .2s ease;cursor:pointer}.filter-tab:hover{color:var(--parchment)}.filter-tab.is-active{color:var(--parchment);border-color:var(--ember)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.portfolio-grid .portfolio-tile.work-tile{aspect-ratio:16 / 10;text-decoration:none;color:inherit}.case-hero{position:relative;min-height:75vh;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;background-size:cover;background-position:center;padding-top:96px;padding-bottom:80px}.case-hero>.container{width:100%;max-width:var(--container-width);margin-left:auto;margin-right:auto;box-sizing:border-box;text-align:left}.case-hero-client-logo{position:absolute;top:96px;right:max(24px,calc((100% - var(--container-width)) / 2 + 24px));height:56px;width:auto;opacity:.85;pointer-events:none}.case-hero-client-logo--invert{filter:brightness(0) invert(1)}.case-hero .label,.case-hero p{color:#fff}.case-meta{display:flex;gap:40px;border-top:.5px solid var(--graphite);padding-top:32px;margin-bottom:48px}.case-meta-item .label{display:block;margin-bottom:4px}.case-meta-item span{font-family:var(--font-body);font-weight:300;font-size:15px}.bg-midnight .case-meta-item span{color:var(--parchment)}.bg-parchment .case-meta-item span{color:var(--graphite)}.case-body{max-width:700px}.case-body p{margin-bottom:24px}.case-back-bar{padding-top:88px;padding-bottom:10px}.case-back-link{font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-stone);text-decoration:none;transition:color .2s ease;display:inline-block}.case-back-link:hover{color:var(--parchment)}.case-back-bar+.case-hero{padding-top:32px}.case-back-bar+.case-hero .case-hero-client-logo{top:24px}.case-gallery{columns:3;column-gap:8px}.case-gallery img,.case-gallery video{width:100%;max-width:none;height:auto;display:block;break-inside:avoid;margin-bottom:8px;object-fit:unset;aspect-ratio:unset}.case-gallery video{background:#111}.gallery-featured{column-span:all;width:100%;aspect-ratio:16 / 7;object-fit:cover;margin-bottom:8px;display:block}.case-gallery--cols-2{columns:2}.case-gallery-subsection{margin-bottom:12px;color:inherit}.bg-midnight .case-gallery-subsection{color:var(--parchment)}.case-gallery-subsection+.case-gallery{margin-top:0}.case-gallery+.case-gallery-subsection{margin-top:40px}.case-gallery-grid .case-gallery-tile--featured{grid-column:1 / -1;aspect-ratio:16 / 7}.case-device-showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:start}.case-phone-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;align-items:flex-start}.case-phone-row .phone-frame{width:200px;flex-shrink:0}@media (max-width: 900px){.case-gallery,.case-gallery--cols-2{columns:2}.case-device-showcase{grid-template-columns:1fr}}@media (max-width: 560px){.case-gallery,.case-gallery--cols-2{columns:1;column-gap:6px}.case-phone-row{gap:12px;justify-content:center}.case-phone-row .phone-frame{width:min(46vw,200px)}}.case-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.case-gallery-grid--cols-2{grid-template-columns:repeat(2,1fr)}.case-gallery-tile{position:relative;overflow:hidden;aspect-ratio:16 / 10}.case-gallery-tile--portrait{aspect-ratio:9 / 16}.case-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.case-gallery-tile:hover img{transform:scale(1.03)}.case-gallery-tile:before{content:"";position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 100%);z-index:1;pointer-events:none}.case-gallery-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ember);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2}.case-gallery-tile:hover:after{opacity:.08}@media (max-width: 900px){.case-gallery-grid,.case-gallery-grid--cols-2{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.case-gallery-grid,.case-gallery-grid--cols-2{grid-template-columns:1fr;gap:6px}}.case-masonry-section{padding:0}.case-masonry{height:100vh;overflow-x:auto;overflow-y:hidden;columns:260px;column-gap:8px;column-fill:auto;padding:8px;background:#0a0a08;cursor:grab;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.case-masonry::-webkit-scrollbar{height:4px}.case-masonry::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.case-masonry:active{cursor:grabbing}.case-masonry-item{break-inside:avoid;margin-bottom:8px;display:block}.case-masonry-item>img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:16 / 10}.case-masonry .phone-frame{width:100%;flex-shrink:unset}.browser-frame{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 4px 24px #00000073}.browser-frame:before{content:"";display:block;height:28px;background:#252523;flex-shrink:0}.browser-frame:after{content:"";position:absolute;top:9px;left:12px;width:10px;height:10px;border-radius:50%;background:#ff5f57;box-shadow:16px 0 #febc2e,32px 0 #28c841;pointer-events:none}.browser-frame img{width:100%;height:auto;display:block;object-fit:contain}.phone-frame{width:240px;flex-shrink:0;border-radius:28px;overflow:hidden;border:2px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #00000080;background:#111;position:relative;transition:transform .3s ease,box-shadow .3s ease}.phone-frame:before{content:"";display:block;height:24px;background:#111}.phone-frame:after{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:60px;height:10px;background:#222;border-radius:5px}.phone-frame img{width:100%;height:auto;display:block;object-fit:contain}.related-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.about-story{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,36px);align-items:start}.about-story p{margin-bottom:20px}.about-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:clamp(40px,6vw,72px);align-items:center}.about-split-image{overflow:hidden;border:.5px solid var(--graphite)}.about-split-image img{width:100%;height:auto;display:block;aspect-ratio:4 / 5;object-fit:cover;object-position:center top}.about-split-content h2{margin-bottom:24px}.about-split-content p{margin-bottom:20px;max-width:60ch}.about-split-content .about-split-cta{margin-top:12px}.about-split--image-right{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)}.bg-parchment .about-split-image{border-color:#3a373038}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.approach-item .approach-num{font-family:var(--font-display);font-weight:900;font-size:48px;color:var(--ember);line-height:1;margin-bottom:16px}.approach-item h3{margin-bottom:12px}.bio-section{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center}.bio-image{aspect-ratio:3/4;overflow:hidden}.bio-image img{width:100%;height:100%;object-fit:cover}.bio-text p{margin-bottom:16px}.clients-bar{display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap}.clients-bar img{height:32px;width:auto;filter:grayscale(100%);opacity:.6;transition:filter .3s ease,opacity .3s ease}.clients-bar img:hover{filter:grayscale(0%);opacity:1}.studio-gallery-section .studio-gallery-header{max-width:52ch;margin-bottom:clamp(32px,5vw,48px)}.studio-gallery-section .section-eyebrow{margin-bottom:12px}.studio-gallery-title{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,4vw,42px);line-height:1.15;color:var(--parchment);margin:0 0 12px}.studio-gallery-lede{margin:0;font-size:17px;color:var(--warm-stone);max-width:48ch}.studio-gallery-grid{list-style:none;margin:0;padding:0;display:grid;gap:clamp(10px,1.5vw,14px);grid-template-columns:repeat(12,1fr);grid-template-rows:minmax(150px,20vw) minmax(150px,20vw) minmax(140px,18vw);grid-template-areas:"lead lead lead lead lead lead q1 q1 q1 q2 q2 q2" "lead lead lead lead lead lead q3 q3 q3 q4 q4 q4" "a a a b b b c c c d d d"}.studio-gallery-item--lead{grid-area:lead}.studio-gallery-item--q1{grid-area:q1}.studio-gallery-item--q2{grid-area:q2}.studio-gallery-item--q3{grid-area:q3}.studio-gallery-item--q4{grid-area:q4}.studio-gallery-item--r1{grid-area:a}.studio-gallery-item--r2{grid-area:b}.studio-gallery-item--r3{grid-area:c}.studio-gallery-item--r4{grid-area:d}.studio-gallery-card{display:block;height:100%;text-decoration:none;color:inherit;outline:none;border:.5px solid rgba(244,239,228,.14);background:#0003;transition:border-color .25s ease,box-shadow .25s ease}.studio-gallery-card:hover{border-color:#d93b2b73;box-shadow:0 12px 40px #00000059}.studio-gallery-card:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.studio-gallery-card figure{margin:0;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.studio-gallery-card img{width:100%;flex:1;min-height:140px;object-fit:cover;object-position:center;display:block;transition:transform .45s ease}.studio-gallery-card:hover img{transform:scale(1.04)}.studio-gallery-card figcaption{flex-shrink:0;padding:11px 14px;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--parchment);background:linear-gradient(to top,#111009f2 40%,#1110098c);border-top:.5px solid rgba(244,239,228,.08)}@media (prefers-reduced-motion: reduce){.studio-gallery-card img{transition:none}.studio-gallery-card:hover img{transform:none}}@media (max-width: 900px){.studio-gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:minmax(180px,42vw);grid-template-areas:"lead lead" "q1 q2" "q3 q4" "a b" "c d"}}@media (max-width: 540px){.studio-gallery-grid{grid-template-columns:1fr;grid-auto-rows:minmax(200px,62vw);grid-template-areas:"lead" "q1" "q2" "q3" "q4" "a" "b" "c" "d"}}.service-screenshot-block{margin-top:40px;overflow:hidden;border:.5px solid rgba(58,55,48,.3)}.service-screenshot-block img{width:100%;height:auto;display:block}.service-hero{min-height:60vh;display:flex;align-items:center;padding-top:72px}.service-hero>.container{width:100%}.service-hero--render-mosaic{position:relative;overflow:hidden}.service-hero-render-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:3px;background:var(--midnight)}.service-hero-render-grid img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.service-hero-render-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,#111009e0,#11100980 42%,#111009b8)}.service-hero--render-mosaic>.container{position:relative;z-index:2}.service-hero-content{max-width:640px}.service-hero .label{color:var(--ember);margin-bottom:16px}.service-hero h1{margin-bottom:20px;font-size:clamp(40px,6vw,72px)}.service-hero p{font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:stretch}.feature-tile{padding:32px;border:.5px solid rgba(58,55,48,.3)}.feature-tile h3{margin-bottom:12px}.feature-tile p{font-size:15px}.process-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.process-step{position:relative}.process-num{font-family:var(--font-display);font-weight:900;font-size:56px;color:var(--ember);line-height:1;margin-bottom:16px}.process-step h3{margin-bottom:8px}.process-step p{font-size:14px}.process-deposit{margin-top:clamp(44px,6vw,64px);padding:clamp(28px,4vw,40px) clamp(28px,4vw,40px);background:var(--midnight);position:relative}.process-deposit-stripe{height:3px;width:min(100%,280px);margin-bottom:24px;background:linear-gradient(90deg,var(--ember) 0%,rgba(217,59,43,.4) 55%,transparent 100%);border-radius:1px}.process-deposit-eyebrow{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin:0 0 8px}.process-deposit-title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3.5vw,30px);line-height:1.15;color:var(--parchment);margin:0 0 12px}.process-deposit-copy{margin:0 0 24px;font-size:16px;color:#f4efe499;max-width:62ch}.process-deposit-copy strong{font-weight:600;color:#f4efe4e6}.process-deposit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.process-deposit-cta{min-height:48px;display:inline-flex;align-items:center}.process-deposit-fineprint{margin:0;font-size:13px;color:#f4efe466;max-width:52ch;line-height:1.5}.web-packages-section{padding-top:0}.web-packages{background:var(--midnight);padding:clamp(32px,5vw,48px) clamp(28px,4vw,40px)}.web-packages-stripe{height:3px;width:min(100%,280px);margin-bottom:24px;background:linear-gradient(90deg,var(--ember) 0%,rgba(217,59,43,.4) 55%,transparent 100%);border-radius:1px}.web-packages-eyebrow{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ember);margin:0 0 8px}.web-packages-title{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3.5vw,30px);line-height:1.15;color:var(--parchment);margin:0 0 10px}.web-packages-lede{font-size:16px;color:#f4efe499;max-width:60ch;margin:0 0 32px}.web-packages-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.web-package-card{border:.5px solid rgba(244,239,228,.12);padding:clamp(20px,3vw,28px);display:flex;flex-direction:column;gap:0}.web-package-card--featured{border-color:#d93b2b66}.web-package-label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#f4efe480;margin:0 0 10px}.web-package-price{font-family:var(--font-display);font-size:clamp(28px,4vw,38px);font-weight:700;color:var(--parchment);line-height:1;margin:0 0 20px}.web-package-price span{font-family:var(--font-body);font-size:13px;font-weight:400;color:#f4efe473;display:block;margin-top:5px}.web-package-list{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px;flex:1}.web-package-list li{font-size:14px;color:#f4efe4a6;padding-left:16px;position:relative}.web-package-list li:before{content:"—";position:absolute;left:0;color:var(--ember);font-size:12px}.web-package-cta{min-height:44px;display:inline-flex;align-items:center;align-self:flex-start}.web-packages-fineprint{margin:0;font-size:13px;color:#f4efe459;max-width:72ch;line-height:1.5}.discovery-cta-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}@media (max-width: 640px){.web-packages-grid{grid-template-columns:1fr}}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{background:var(--graphite);overflow:hidden}.blog-card-image{aspect-ratio:16/9;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.blog-card:hover .blog-card-image img{transform:scale(1.03)}.blog-card-body{padding:24px}.blog-card-body .label{color:var(--ember);margin-bottom:8px;display:block}.blog-card-body h3{color:var(--parchment);margin-bottom:8px;font-size:20px}.blog-card-body p{font-size:14px}.page-hero{padding-top:calc(72px + var(--section-padding));padding-bottom:var(--section-padding)}.page-hero .label{color:var(--ember);margin-bottom:16px}.page-hero h1{margin-bottom:20px}.page-hero p{font-size:17px;max-width:560px}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;transition-delay:var(--reveal-delay, 0ms)}[data-reveal].in-view,.hero [data-reveal],.page-hero [data-reveal]{opacity:1;transform:translateY(0)}.section-eyebrow{margin-bottom:40px;font-size:14px}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--midnight)}.navbar .container{max-width:var(--container-width);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.nav-wrapper{display:flex;align-items:center;justify-content:space-between;height:72px}.nav-wrapper .logo a{text-decoration:none}.nav-wrapper .brand-name{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--parchment);line-height:1;margin:0}.nav-menu{display:flex;align-items:center;gap:28px;list-style:none}.nav-menu a{font-family:var(--font-body);font-weight:400;font-size:14px;color:#fff;transition:color .2s ease;text-decoration:none}.nav-menu a:hover{color:var(--parchment)}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;background:none;border:none;min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-menu-toggle span{display:block;width:24px;height:1.5px;background:var(--parchment);transition:transform .3s ease,opacity .3s ease}.navbar-gradient{display:none}.announcement-bar{background:var(--graphite);padding:8px 0;margin-top:72px}.announcement-bar .container{display:flex;justify-content:center;gap:32px}.announcement-bar-item{font-family:var(--font-body);font-size:13px;color:var(--warm-stone);display:flex;align-items:center;gap:6px;text-decoration:none;transition:color .2s ease}.announcement-bar-item:hover{color:var(--parchment)}.announcement-bar-icon{width:14px;height:14px}.site-header{position:relative;z-index:100}@media (max-width: 768px){.nav-menu{display:none}.mobile-menu-toggle{display:flex}.nav-menu.is-open{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--midnight);z-index:101;justify-content:center;align-items:center;gap:32px;padding:0}.nav-menu.is-open a{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,6vw,40px);color:var(--parchment)}.announcement-bar .container{flex-direction:column;align-items:center;gap:8px}}@media (pointer: coarse){a,button,.btn-primary,.btn-ghost,.btn-dark,.filter-tab,.nav-toggle,.mobile-close,.work-tile,.portfolio-tile{-webkit-tap-highlight-color:transparent}.work-tile:hover img,.portfolio-tile:hover img{transform:none}.work-tile:hover:after,.portfolio-tile:hover:after{opacity:0}}.floating-contact-bar{position:fixed;right:24px;bottom:24px;z-index:90;display:inline-flex;align-items:center;justify-content:flex-end;gap:0;background:#1e1e1ceb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px;border-radius:50px;box-shadow:0 4px 20px #00000059;transition:opacity .3s ease,transform .3s ease,visibility .3s ease}.floating-contact-bar--hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.floating-contact-bar__expandable{display:flex;align-items:center;gap:6px;box-sizing:border-box;overflow:hidden;max-width:0;padding-right:0;transition:max-width .45s cubic-bezier(.34,1.3,.64,1),padding-right .45s cubic-bezier(.34,1.3,.64,1)}.floating-contact-bar.is-open .floating-contact-bar__expandable{max-width:320px;padding-right:6px}.floating-contact-bar__expandable>*{opacity:0;transform:scale(.7) translate(8px);transition:opacity .2s ease,transform .2s ease}.floating-contact-bar.is-open .floating-contact-bar__expandable>*{opacity:1;transform:none}.floating-contact-bar.is-open .floating-contact-bar__expandable>*:nth-child(1){transition-delay:.22s}.floating-contact-bar.is-open .floating-contact-bar__expandable>*:nth-child(2){transition-delay:.18s}.floating-contact-bar.is-open .floating-contact-bar__expandable>*:nth-child(3){transition-delay:.14s}.floating-contact-bar.is-open .floating-contact-bar__expandable>*:nth-child(4){transition-delay:.1s}.floating-contact-bar.is-open .floating-contact-bar__expandable>*:nth-child(5){transition-delay:.06s}.floating-contact-bar__divider{flex-shrink:0;width:1px;height:28px;margin:0 2px;background:#ffffff24;align-self:center}.floating-contact-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;color:#d4d0c8;background:#ffffff14;text-decoration:none;transition:background .2s ease,transform .2s ease}.floating-contact-btn:hover{background:#ffffff26;transform:scale(1.08)}.floating-contact-btn svg{width:22px;height:22px}.floating-contact-btn--toggle{border:none;cursor:pointer;color:#d4d0c8;background:#ffffff1a}.floating-contact-btn--toggle svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.floating-contact-bar.is-open .floating-contact-btn--toggle svg{transform:rotate(45deg)}.floating-contact-btn--toggle:hover{background:#ffffff2e}.floating-contact-btn--whatsapp{background:#1e4d2b;color:#fff;margin-right:6px}.floating-contact-btn--whatsapp:hover{background:#25d366}.floating-contact-btn--social:hover{color:#fff;background:#d93b2b59}@media (max-width: 1024px){.services-cols{grid-template-columns:1fr;gap:40px}.service-col h2{min-height:0}.service-col{padding:0}.service-col:not(:last-child):after{display:none}.service-col:not(:last-child){padding-bottom:40px;border-bottom:.5px solid rgba(154,148,136,.3)}.about-teaser{grid-template-columns:1fr;gap:32px}.about-split{grid-template-columns:1fr;gap:40px;align-items:start}.about-split-image{max-width:420px}.about-split:not(.about-split--image-right) .about-split-image{margin-right:auto}.about-split--image-right .about-split-image{margin-inline:auto}.bio-section{grid-template-columns:1fr;gap:32px}.bio-image{max-width:400px}.cta-section .container{grid-template-columns:1fr;gap:40px}.process-flow{grid-template-columns:1fr 1fr}.approach-grid{grid-template-columns:1fr;gap:32px}}@media (max-width: 768px){.work-grid{grid-template-columns:1fr;grid-template-rows:auto}.work-tile-large{grid-row:auto}.work-tile{aspect-ratio:16/10}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.contact-grid{grid-template-columns:1fr;gap:40px}.portfolio-grid{grid-template-columns:1fr;gap:16px}.related-projects{grid-template-columns:1fr}.case-masonry{columns:150px;padding:6px}.case-meta{flex-direction:column;gap:20px}.stats-bar{flex-wrap:wrap;gap:24px}.filter-tabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{min-height:44px;display:inline-flex;align-items:center}.feature-grid,.process-flow,.blog-grid{grid-template-columns:1fr}.nav-links{display:none}.nav-toggle{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}.desktop-only{display:none}.nav-grid{grid-template-columns:1fr auto;gap:16px}.mobile-overlay{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);transition:opacity .35s ease,visibility .35s ease}.mobile-close{top:env(safe-area-inset-top,24px);right:env(safe-area-inset-right,24px);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.mobile-overlay a{min-height:44px;display:flex;align-items:center}.testimonial-grid{grid-template-columns:1fr;scroll-snap-type:y proximity}.testimonial-card{scroll-snap-align:start}.floating-contact-bar{right:16px;bottom:16px;gap:4px;padding:5px}.floating-contact-btn{width:42px;height:42px}.floating-contact-btn svg{width:20px;height:20px}}@media (max-width: 640px){:root{--section-padding: clamp(48px, 8vw, 80px);--container-padding: clamp(20px, 5vw, 40px)}.hero{min-height:100vh;min-height:100svh}.hero h1{font-size:clamp(36px,10vw,56px)}.hero-content{padding-top:4vh}.hero-body{font-size:15px}.stats-bar{gap:16px;justify-content:flex-start}.stat-number{font-size:22px}.stat-label{font-size:10px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-col a{padding:4px 0;min-height:44px;display:flex;align-items:center}.portfolio-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column;gap:8px}.hero-buttons .btn-ghost,.hero-buttons .btn-primary{width:100%;text-align:center;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-primary,.btn-ghost,.btn-dark{min-height:48px}.cta-form input,.cta-form select,.cta-form textarea,.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:14px 16px;min-height:48px}.cta-form button,.contact-form .btn-primary{min-height:48px;font-size:16px}.case-hero{min-height:50vh;padding-bottom:48px}.case-hero h1{font-size:clamp(32px,8vw,48px)}.case-hero-client-logo{height:40px;top:88px;right:20px}.case-meta-item span{font-size:14px}.page-hero h1{font-size:clamp(32px,9vw,48px)}.page-hero p{font-size:15px}.service-hero h1{font-size:clamp(32px,8vw,48px)}.service-hero p{font-size:15px}.service-hero-render-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,minmax(0,1fr))}.service-hero-render-overlay{background:linear-gradient(to bottom,#111009d1,#111009a6)}.feature-tile{padding:24px}.about-teaser h2{font-size:clamp(28px,7vw,42px)}.cta-headline{font-size:clamp(28px,7vw,36px)}.work-tile-info{bottom:16px;left:16px}.work-tile-name{font-size:20px}.section-eyebrow{margin-bottom:28px}.contact-sidebar{padding-top:8px}.contact-block{margin-bottom:24px}}@media (max-width: 380px){.hero h1{font-size:clamp(30px,9vw,40px)}.stats-bar{flex-direction:column;gap:12px}.stat-item{display:flex;align-items:baseline;gap:8px}.logo-line{font-size:22px}.nav-lockup .logo-line{font-size:18px}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#111009f0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.lightbox.is-open{opacity:1;visibility:visible}.lightbox-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 80px}.lightbox-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;opacity:0;transform:scale(.96);transition:opacity .3s ease .05s,transform .3s ease .05s}.lightbox.is-open .lightbox-img{opacity:1;transform:scale(1)}.lightbox-close{position:absolute;top:16px;right:20px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;color:var(--parchment);background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .2s ease}.lightbox-close:hover{opacity:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:36px;line-height:1;color:var(--parchment);background:#ffffff0f;border:.5px solid rgba(255,255,255,.12);border-radius:50%;cursor:pointer;opacity:.6;transition:opacity .2s ease,background .2s ease}.lightbox-nav:hover{opacity:1;background:#ffffff1f}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-family:var(--font-body);font-size:13px;font-weight:400;letter-spacing:.08em;color:#f4efe48c}@media (max-width: 768px){.lightbox-stage{padding:56px 16px}.lightbox-nav{display:none}.lightbox-close{top:12px;right:12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}
