:root{--paper:#f5f3ee;--paper-2:#ebe8e1;--white:#fffefb;--ink:#15121c;--ink-2:#3a3644;--muted:#6b6676;--line:#dcd7cd;--accent:#5b2be0;--accent-ink:#4721b8;--accent-soft:#ece6fc;--dark:#131118;--dark-2:#1c1923;--dark-line:#2f2b38;--dark-muted:#a29eac;--accent-on-dark:#b39cff;--live:#1fa855;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:"Instrument Serif", Georgia, "Times New Roman", serif;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #15121c0f, 0 24px 48px -28px #15121c52;--ease:cubic-bezier(.2, .7, .2, 1);--header-h:68px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:min(1200px,100% - 40px);margin-inline:auto}.serif{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:var(--radius-sm);padding:10px 14px;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.btn{border-radius:var(--radius-sm);letter-spacing:-.005em;white-space:nowrap;height:46px;transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:.95rem;font-weight:500;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg{flex:none}.btn-sm{height:40px;padding:0 16px;font-size:.9rem}.btn-lg{height:54px;padding:0 26px;font-size:1rem}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-ink)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#2a2534}.btn-ghost{border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.btn-ghost-light{border-color:var(--dark-line);color:var(--paper)}.btn-ghost-light:hover{border-color:var(--paper)}.btn-ghost svg{transition:transform .2s var(--ease)}.btn-ghost:hover svg{transform:translate(3px)}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding-bottom:2px;font-weight:500;transition:border-color .2s;display:inline-flex}.text-link:hover{border-color:var(--ink)}.header{z-index:50;background:#f5f3eef0;border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.header.is-scrolled{border-color:var(--line)}.header-inner{height:var(--header-h);align-items:center;gap:32px;display:flex}.logo{flex:none;align-items:center;display:inline-flex}.logo img{width:auto;height:46px}.nav{color:var(--ink-2);gap:28px;margin-left:auto;font-size:.93rem;display:flex}.nav a{padding:6px 0;transition:color .2s;position:relative}.nav a:hover{color:var(--ink)}.nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .25s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav a:hover:after{transform:scaleX(1)}.menu-toggle{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:none}.mobile-menu{border-top:1px solid var(--line);background:var(--paper);height:calc(100dvh - var(--header-h));overflow-y:auto}.mobile-menu nav{flex-direction:column;padding:16px 0 32px;display:flex}.mobile-menu nav>a:not(.btn){letter-spacing:-.02em;border-bottom:1px solid var(--line);padding:16px 0;font-size:1.35rem;font-weight:500}.mobile-menu .btn{height:54px;margin-top:28px}.hero{padding:clamp(40px,7vw,96px) 0 0}.hero-grid{grid-template-columns:1fr;align-items:center;gap:56px;display:grid}.eyebrow{color:var(--muted);margin-bottom:24px;font-size:.85rem}.hero h1{letter-spacing:-.04em;max-width:13ch;font-size:clamp(2.5rem,5.6vw,4.75rem);font-weight:600;line-height:1.02}.hero h1 .serif{color:var(--accent);font-size:1.06em}.lead{color:var(--ink-2);max-width:52ch;margin-top:28px;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-note{color:var(--muted);margin-top:18px;font-size:.88rem}.hero-visual{aspect-ratio:1.12;position:relative}.hero-shot{position:absolute}.hero-shot--back{opacity:.96;width:74%;top:0;right:0}.hero-shot--front{width:90%;bottom:9%;left:0}.hero-shot .frame{box-shadow:var(--shadow)}.hero-caption{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:inline-flex;position:absolute;bottom:0;left:0}.dot{background:var(--live);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #1fa85529}.live-list{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:clamp(48px,7vw,88px);padding:22px 0;font-size:.93rem;display:flex}.live-list a{color:var(--ink-2);align-items:center;gap:4px;transition:color .2s;display:inline-flex}.live-list a:hover{color:var(--ink)}.live-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-items:center;gap:8px;font-size:.75rem;display:inline-flex}.live-label:before{content:"";background:var(--live);border-radius:50%;width:7px;height:7px}.frame{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.frame-bar{border-bottom:1px solid var(--line);background:var(--white);align-items:center;gap:6px;height:32px;padding:0 12px;display:flex}.frame-bar span{background:var(--paper-2);border-radius:50%;width:9px;height:9px}.frame-bar em{color:var(--muted);background:var(--paper);border-radius:6px;margin:0 auto;padding:2px 12px;font-size:.72rem;font-style:normal;transform:translate(-16px)}.frame img{aspect-ratio:1600/741;object-fit:cover;object-position:top;background:var(--paper-2);width:100%}.section{padding:clamp(80px,10vw,136px) 0}.section--line{border-top:1px solid var(--line)}.section-head{max-width:760px;margin-bottom:clamp(40px,5vw,64px)}.kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin-bottom:20px;font-size:.78rem;display:flex}.kicker span{color:var(--accent);font-variant-numeric:tabular-nums}.kicker span:after{content:"";vertical-align:middle;opacity:.6;background:currentColor;width:28px;height:1px;margin-left:12px;display:inline-block}.section h2{letter-spacing:-.035em;font-size:clamp(2rem,3.9vw,3.3rem);font-weight:600;line-height:1.05}.section h2 .serif{font-size:1.06em}.section-sub{color:var(--ink-2);max-width:58ch;margin-top:20px;font-size:1.1rem}.projects{grid-template-columns:1fr;gap:56px 40px;display:grid}.project-link{border-radius:var(--radius);display:block}.project-link .frame img{transition:transform .6s var(--ease)}.project-link:hover .frame img{transform:scale(1.025)}.project-link:hover .frame{border-color:#c9c3b7}.project-body{padding-top:22px}.project-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project h3{letter-spacing:-.02em;font-size:1.4rem;font-weight:600}.project-kind{color:var(--muted);white-space:nowrap;font-size:.85rem}.project p{color:var(--ink-2);max-width:56ch;margin-top:10px}.project-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags li{border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:.8rem}.services{counter-reset:s;grid-template-columns:1fr;gap:0 56px;display:grid}.service{border-top:1px solid var(--line);grid-template-columns:48px 1fr;column-gap:16px;padding:32px 0;display:grid}.service>:not(.service-num){grid-column:2}.service-num{color:var(--muted);font-variant-numeric:tabular-nums;grid-row:1/span 3;padding-top:6px;font-size:.85rem}.service h3{letter-spacing:-.025em;font-size:1.5rem;font-weight:600}.service p{color:var(--ink-2);max-width:50ch;margin-top:10px}.service .service-fit{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:16px;font-size:.9rem;display:flex}.service-fit span{color:var(--ink);font-weight:500}.section--dark{background:var(--dark);color:var(--paper)}.section--dark .kicker{color:var(--dark-muted)}.section--dark .kicker span,.section--dark .serif{color:var(--accent-on-dark)}.steps{grid-template-columns:1fr;gap:0 32px;display:grid}.step{border-top:1px solid var(--dark-line);padding:28px 0 32px}.step-num{color:var(--accent-on-dark);letter-spacing:.04em;font-size:.8rem}.step h3{letter-spacing:-.02em;margin-top:14px;font-size:1.3rem;font-weight:600}.step p{color:var(--dark-muted);margin-top:10px}.included{background:var(--dark-2);border:1px solid var(--dark-line);border-radius:var(--radius);margin-top:clamp(48px,6vw,80px);padding:clamp(28px,4vw,44px)}.included h3{letter-spacing:-.01em;font-size:1.15rem;font-weight:600}.included ul{grid-template-columns:1fr;gap:14px 32px;margin-top:22px;display:grid}.included li{color:#e6e3ec;align-items:flex-start;gap:12px;display:flex}.included li svg{color:var(--accent-on-dark);flex:none;margin-top:3px}.pricing{grid-template-columns:1fr;align-items:stretch;gap:20px;display:grid}.price-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:32px;display:flex}.price-card--project{background:var(--paper-2);border-color:#0000}.price-card.is-featured{border:1.5px solid var(--ink);box-shadow:var(--shadow)}.price-label{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-weight:500;display:flex}.badge{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:500}.price-value{letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin-top:20px;font-size:3.4rem;font-weight:600;line-height:1}.price-value small{letter-spacing:0;color:var(--muted);margin:0 4px;font-size:1rem;font-weight:500}.price-value small:first-child{vertical-align:1.6em;margin-left:0}.price-value--text{letter-spacing:-.03em;font-size:2.2rem}.price-text{color:var(--ink-2);margin-top:16px}.price-items{border-top:1px solid var(--line);gap:10px;margin:24px 0 0;padding-top:22px;font-size:.95rem;display:grid}.price-items li{align-items:flex-start;gap:10px;display:flex}.price-items svg{color:var(--accent);flex:none;margin-top:4px}.price-card .btn{margin-top:auto}.price-card .price-text+.btn,.price-items+.btn{margin-top:28px}.price-card--project .btn{align-self:flex-start}.pricing-note{color:var(--muted);margin-top:28px;font-size:.95rem}.faq-grid{grid-template-columns:1fr;gap:0 64px;display:grid}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:1.12rem;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{color:var(--muted);transition:transform .25s var(--ease);flex:none}.faq details[open] summary svg{color:var(--ink);transform:rotate(45deg)}.faq details p{color:var(--ink-2);max-width:62ch;padding:0 40px 24px 0}.final{background:var(--dark);color:var(--paper);padding:clamp(88px,11vw,148px) 0}.final h2{letter-spacing:-.04em;max-width:16ch;font-size:clamp(2.2rem,5vw,4.2rem);font-weight:600;line-height:1.03}.final h2 .serif{color:var(--accent-on-dark);font-size:1.06em}.final p{color:var(--dark-muted);max-width:48ch;margin-top:24px;font-size:1.15rem}.final-actions{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.footer{padding:56px 0 28px}.footer-inner{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:32px;padding-bottom:40px;display:grid}.footer-text{color:var(--muted);max-width:36ch;margin-top:14px}.footer-list{color:var(--ink-2);gap:10px;font-size:.95rem;display:grid}.footer-list a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.footer-bottom{color:var(--muted);justify-content:space-between;gap:16px;padding-top:24px;font-size:.85rem;display:flex}.footer-bottom a:hover{color:var(--ink)}.mobile-cta{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:40;transition:transform .35s var(--ease);position:fixed;transform:translateY(140%)}.mobile-cta.is-visible{transform:none}.mobile-cta .btn{width:100%;height:54px;box-shadow:0 12px 32px -12px #15121c80}.js-reveal [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(18px)}.js-reveal [data-reveal].is-visible{opacity:1;transform:none}.hero-copy>*,.hero-visual{animation:rise .9s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.18s}.hero-copy>:nth-child(5){animation-delay:.24s}.hero-visual{animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.js-reveal [data-reveal]{opacity:1;transform:none}}@media (width<=859px){.nav,.header-cta{display:none}.menu-toggle{display:inline-flex}.logo img{height:38px}.hero-visual{aspect-ratio:1.25}.hero-shot--back{width:78%}.hero-shot--front{width:94%;bottom:12%}.frame-bar{height:26px}.frame-bar span{width:7px;height:7px}.footer{padding-bottom:96px}}@media (width>=860px){.mobile-cta{display:none}.projects,.services,.included ul{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr auto;align-items:start}}@media (width>=1024px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:48px}.steps{grid-template-columns:repeat(4,1fr)}.included ul{grid-template-columns:repeat(3,1fr)}.pricing{grid-template-columns:1fr 1fr 1fr}.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.faq-grid .section-head{top:calc(var(--header-h) + 32px);align-self:start;position:sticky}}@media (width>=640px) and (width<=1023px){.steps{grid-template-columns:1fr 1fr}}
