:root{--indigo: #2b4684;--indigo-deep: #1e3568;--blush: #f4efe4;--ink: #f4efe4;--muted: rgba(244, 239, 228, .72);--line: rgba(244, 239, 228, .22);--hero-text: #f4efe4;--serif: "Instrument Serif", "Iowan Old Style", Palatino, serif;--sans: "Source Sans 3", "Segoe UI", sans-serif;--logo: "Nunito", "Segoe UI", sans-serif;--header: 4.5rem;--gutter: clamp(1.25rem, 4vw, 3.5rem);--max: 72rem;color:var(--ink);background:var(--indigo);font-family:var(--sans);font-size:18px;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}img{max-width:100%}html{scroll-behavior:smooth;overflow-x:clip;touch-action:manipulation}@media(pointer:coarse),(hover:none){html{scroll-behavior:auto;overflow-anchor:none}}@media(min-width:761px){html{scroll-padding-top:var(--header)}}body{margin:0;background:var(--indigo)}#root{min-height:100vh;background:transparent}h1,h2,h3,p{margin:0}h1,h2,.entry-def{text-rendering:optimizeLegibility}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--blush);color:var(--indigo)}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header);padding:0 var(--gutter);color:var(--hero-text);background:var(--indigo);border-bottom:1px solid transparent}.site-header.on-hero{color:var(--hero-text);background:var(--indigo);border-bottom-color:transparent}.wordmark{display:inline-flex;align-items:center;gap:.45rem;color:inherit;font-family:var(--logo);font-size:1.45rem;font-weight:600;letter-spacing:.02em;line-height:1;text-decoration:none}.wordmark-logo{display:block;height:1.85rem;width:auto;fill:currentColor}.wordmark-mark{width:1.35rem;height:1.35rem;color:inherit}.wordmark:hover{color:#fff}.frame{width:min(var(--max),calc(100% - var(--gutter) * 2));max-width:100%;margin:0 auto}html.js .reveal:not(.is-in){opacity:0;transform:translateY(2rem)}html.js .reveal.reveal-across:not(.is-in){transform:translate(-3rem)}.reveal.is-in{opacity:1;transform:none;animation:reveal-rise .95s cubic-bezier(.22,1,.36,1) both}.reveal.reveal-across.is-in{animation-name:reveal-across}.consulting.reveal.reveal-across.is-in{animation-duration:1.25s}.reveal.is-in.reveal-settled{animation:none;opacity:1;transform:none}@keyframes reveal-rise{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-across{0%{opacity:0;transform:translate(-3rem)}to{opacity:1;transform:translate(0)}}.hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh;min-height:var(--lvh, 100svh);margin-top:calc(var(--header) * -1);padding:calc(var(--header) + 2.5rem) var(--gutter) clamp(3rem,4.5vw,4.25rem);overflow:hidden;color:var(--hero-text);background:transparent}.hero-copy{position:relative;z-index:1;width:min(44rem,100%)}@media(min-width:761px){.hero-copy{width:min(44rem,calc(100% - min(22rem,36vw) - 2.25rem))}}.kicker{margin-bottom:1rem;color:#f4efe4b8;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.entry{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;margin:0 0 .7rem}.entry-word{font-family:var(--serif);font-size:clamp(1.55rem,2.6vw,2.15rem);font-weight:400;letter-spacing:-.03em;line-height:1;color:#fff}.entry-pron{color:#f4efe4b8;font-family:var(--serif);font-size:clamp(.95rem,1.5vw,1.15rem);font-style:italic;letter-spacing:.01em;line-height:1}.entry-def{font-family:var(--serif);font-size:clamp(2.45rem,7vw,5.4rem);font-weight:400;letter-spacing:-.03em;line-height:.95;color:var(--hero-text)}.entry-colon{margin-right:.35rem}.entry-def em{font-style:italic;color:#fff}h2{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}#apps-title,#consulting-title,#gtm-title,#contact-title{font-family:Host Grotesk,sans-serif;font-weight:500}#apps-title{text-align:center}.showcase-lockup{display:inline-flex;align-items:baseline;justify-content:center}.showcase-eye{display:block;flex:none;height:.9em;width:auto;margin-left:-.02em;margin-right:-.045em;overflow:visible;transform:translateY(.198em)}.shelf .section-deck{margin-top:.35rem;margin-inline:auto;text-align:center}.shelf .app-grid{margin-top:1.65rem}.deck{max-width:36rem;margin-top:1.35rem;color:#f4efe4c7;font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.85rem}.button{display:inline-flex;align-items:center;min-height:2.9rem;padding:.55rem 1.15rem;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none}.button-primary{background:var(--blush);color:var(--indigo)}.button-primary:hover{background:#fbf6ee}.button-quiet{border:1px solid rgba(244,239,228,.35);color:var(--hero-text)}.button-quiet:hover{border-color:var(--hero-text)}.hero-mark{position:absolute;z-index:0;right:max(1rem,calc(50vw - 46rem));bottom:1.25rem;width:min(22rem,36vw);height:auto;color:var(--hero-text);pointer-events:none;overflow:visible;shape-rendering:auto}@media(min-width:1280px){.hero{--hero-scale: min(100vw / 1280px, var(--svh, 100svh) / 720px);padding-bottom:calc(3.2rem * var(--hero-scale))}.hero-copy{width:min(calc(44rem * var(--hero-scale)),calc(100% - (22rem + 2.25rem) * var(--hero-scale)))}.hero .entry{gap:calc(.15rem * var(--hero-scale)) calc(.55rem * var(--hero-scale));margin-bottom:calc(.7rem * var(--hero-scale))}.hero .entry-word{font-size:calc(1.849rem * var(--hero-scale))}.hero .entry-pron{font-size:calc(1.067rem * var(--hero-scale))}.hero .entry-def{font-size:calc(4.978rem * var(--hero-scale))}.hero .deck{max-width:calc(36rem * var(--hero-scale));margin-top:calc(1.35rem * var(--hero-scale));font-size:calc(1.15rem * var(--hero-scale))}.hero .hero-actions{gap:calc(.75rem * var(--hero-scale));margin-top:calc(1.85rem * var(--hero-scale))}.hero .button{min-height:calc(2.9rem * var(--hero-scale));padding:calc(.55rem * var(--hero-scale)) calc(1.15rem * var(--hero-scale));font-size:calc(1rem * var(--hero-scale))}.hero-mark{right:calc(1rem * var(--hero-scale));bottom:calc(1.25rem * var(--hero-scale));width:calc(22rem * var(--hero-scale))}}.wordmark-logo,.wordmark-mark{shape-rendering:geometricPrecision}.shelf,.consulting,.partnerships,.contact{scroll-margin-top:calc(var(--header) - 1px)}h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1}.section-lead,.section-deck,.shelf-empty p,.app-card p{color:var(--muted)}.section-lead,.section-deck{max-width:38rem;margin-top:1rem;font-size:1.12rem}.shelf,.consulting,.partnerships{padding:clamp(1.75rem,3vw,2.5rem) 0 0}.shelf{padding-top:clamp(3.5rem,calc(var(--svh, 100svh) * .1),6.75rem)}.consulting{padding-top:clamp(3.25rem,5.5vw,4.75rem);padding-bottom:clamp(1rem,2.25vw,2rem)}.partnerships{padding-bottom:clamp(3rem,5.5vw,5rem)}.consulting-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(13rem,.85fr);gap:clamp(1.5rem,4vw,3.25rem);align-items:center}.consult-mark{display:block;width:min(100%,34rem);height:auto;justify-self:end;overflow:visible}.consult-mark .consult-frame{fill:none;stroke:#fff;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}.consult-mark .consult-wave,.consult-mark .consult-exit-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 3;stroke-dashoffset:1.04}.consult-mark .consult-wave{stroke-width:13}.consult-mark .consult-wave-navy{stroke:#152854}.consult-mark .consult-wave-grey{stroke:#868d98}.consult-mark .consult-wave-blue{stroke:#71aee1}.consult-mark .consult-exit-line{stroke:#fff;stroke-width:14}.consulting.is-in .consult-wave{animation:consult-draw 1.2s cubic-bezier(.4,0,.2,1) .36s forwards}.consulting.is-in .consult-exit-line{animation:consult-draw .95s cubic-bezier(.4,0,.2,1) 1.56s forwards}@keyframes consult-draw{to{stroke-dashoffset:0}}.contact{padding:clamp(1.75rem,3vw,2.5rem) 0 clamp(4rem,8vw,6rem)}.eyebrow{margin-bottom:.85rem;color:var(--blush);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.shelf-empty{margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--line)}.shelf-empty-title{margin-bottom:.35rem;font-weight:600}.app-grid{--panel: 18.6rem;--summary: 4.5rem;list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:1fr;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.5rem;align-items:stretch}.app-grid>li{display:flex;min-width:0;max-width:100%}.app-card{position:relative;flex:1;width:100%;min-width:0;max-width:100%;margin:0;display:flex;flex-direction:column;gap:.75rem;padding:1.05rem 1.15rem;border-radius:1.45rem;background:transparent}.app-card:before,.app-card:after{content:"";position:absolute;border-radius:inherit;pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.app-card:before{inset:-2px;padding:4px;background:linear-gradient(180deg,#ffffffb8,#dce2ec29 48%,#ffffff47);filter:blur(2.5px)}@media(pointer:coarse){.app-card:before{filter:none}}.app-card:after{inset:0;padding:1px;background:linear-gradient(165deg,#fffffff5,#ffffff6b 16%,#ced4de24 46%,#ffffff1a 68%,#eceff480)}.app-status{color:var(--blush);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.app-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:400}.app-card h3:has(.app-mark),.app-card h3:has(.app-lockup),.app-card:has(.app-figure) h3{display:flex;align-items:center;height:2.35rem;margin-bottom:0;line-height:1}.app-card:has(.app-figure) h3{font-family:Host Grotesk,sans-serif;font-size:1.7rem;font-weight:500;letter-spacing:-.03em}.app-card h3:has(.app-lockup){font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.03em}.app-mark{display:block;width:auto;height:2.35rem;filter:brightness(0) invert(1)}.app-lockup{display:inline-flex;align-items:center;height:2.35rem;gap:.5rem;color:#fff;font-size:1.5rem}.app-lockup img{display:block;width:1.9rem;height:1.9rem;object-fit:contain;filter:brightness(0) invert(1)}.app-card:has(.app-snippet)>p,.app-card:has(.app-figure)>p{min-height:var(--summary);max-height:var(--summary);line-height:1.5;overflow:hidden}.app-card a,.app-pending{margin-top:auto}.app-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.7rem}.app-card .app-actions a{margin-top:0}.app-card .app-actions a:not(.app-site){line-height:0}.app-actions img{display:block;height:2.5rem;width:auto}.app-site{display:inline-flex;align-items:center;min-height:2.5rem;padding:.35rem .95rem;border-radius:999px;background:var(--blush);color:var(--indigo);font-size:.95rem;font-weight:600;line-height:1;text-decoration:none}.app-site:hover{background:#fff}.app-figure{display:flex;align-items:center;justify-content:center;height:var(--panel);min-height:var(--panel);max-height:var(--panel);margin-top:calc(var(--summary) + .75rem);min-width:0}.app-card:has(>p) .app-figure{margin-top:0}.app-figure img,.app-figure svg{display:block;width:min(72%,11.25rem);height:auto;transform:translate(-8%)}.app-card .app-snippet{display:flex;flex-direction:column;flex:1 1 auto;height:var(--panel);min-height:var(--panel);max-height:var(--panel);margin-top:0;min-width:0;max-width:100%;padding:1.05rem 1.05rem .95rem;border-radius:1.15rem;background:#07524c;color:#fff;font-family:Inter,system-ui,sans-serif;overflow:hidden}.app-card .app-snippet a{margin-top:0}.app-snippet-row{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.7rem .9rem;width:100%;height:100%;min-width:0;min-height:0;margin-inline:auto}.app-snippet-copy{display:flex;flex:1 1 0px;flex-direction:column;justify-content:center;gap:.7rem;min-width:0;max-width:38rem;overflow-wrap:break-word}.app-snippet-main{display:flex;flex-direction:column;gap:.45rem;color:inherit;text-decoration:none}.app-snippet-kicker{color:#c9f6ec;font-family:Courier Prime,Courier New,monospace;font-size:.74rem;font-weight:400;line-height:1.35}.app-snippet-title{font-family:Inter,system-ui,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:-.03em;line-height:1.12}.app-snippet-title em{display:block;margin-top:.35rem;color:#a8ebda;font-family:Courier Prime,Courier New,monospace;font-size:.62em;font-style:normal;font-weight:700;letter-spacing:0;line-height:1.25}.app-snippet-stores{display:flex;flex-flow:row wrap;align-items:center;gap:.55rem .7rem;width:100%}.app-snippet-stores a{display:block;flex:0 0 auto;width:min(7.15rem,100%);line-height:0}.app-snippet-stores img{display:block;width:100%;height:auto;max-width:none}.app-card .app-snippet-link{align-self:flex-start;display:inline-flex;align-items:center;min-height:2.2rem;padding:.4rem .95rem;border-radius:999px;background:#e7fff6;color:#07524c;font-family:Inter,system-ui,sans-serif;font-size:.88rem;font-weight:700;letter-spacing:-.015em;line-height:1;text-decoration:none}.app-snippet-link:hover{background:#fff}.app-card .app-snippet.app-snippet-hero{align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.35rem 1.15rem 1.2rem;text-align:center;background:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(255,255,255,.07),transparent 62%),#0c0e14}.app-snippet-hero img{display:block;width:4.15rem;height:auto}.app-card .app-snippet-hero-line{margin:0;color:#fff;font-family:Inter,system-ui,sans-serif;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:700;letter-spacing:-.045em;line-height:.98}.app-snippet-hero .app-snippet-link{align-self:center;margin-top:.35rem;background:#f4efe4;color:#12141a}.app-snippet-hero .app-snippet-link:hover{background:#fff}.app-snippet-phone{position:relative;flex:0 0 auto;align-self:center;width:min(6.35rem,32%);max-width:32%;height:auto;aspect-ratio:9 / 19.5;max-height:calc(100% - 1.15rem);min-width:0;overflow:hidden}.app-snippet-phone-unit{position:absolute;inset:0;overflow:hidden;border:.2rem solid rgba(255,255,255,.94);border-radius:1.2rem;background:#f3faf8;box-shadow:0 .55rem 1.25rem #01181547}.app-snippet-phone img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top}.app-card .app-snippet,.app-card .app-snippet.app-snippet-hero{background-color:var(--indigo);background-image:none;color:var(--blush);transition:background-color .18s ease,color .18s ease}.app-card .app-snippet .app-snippet-kicker,.app-card .app-snippet .app-snippet-title em{color:var(--muted);transition:color .18s ease}.app-card .app-snippet .app-snippet-link,.app-card .app-snippet.app-snippet-hero .app-snippet-link{background:var(--blush);color:var(--indigo);transition:background-color .18s ease,color .18s ease}.app-card .app-snippet.app-snippet-hero img{filter:grayscale(1);transition:filter .18s ease}.app-card:hover .app-snippet,.app-card:focus-within .app-snippet{background-color:#07524c;color:#fff}.app-card:hover .app-snippet.app-snippet-hero,.app-card:focus-within .app-snippet.app-snippet-hero{background-color:#0c0e14;background-image:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(255,255,255,.07),transparent 62%);color:#fff}.app-card:hover .app-snippet .app-snippet-kicker,.app-card:focus-within .app-snippet .app-snippet-kicker{color:#c9f6ec}.app-card:hover .app-snippet .app-snippet-title em,.app-card:focus-within .app-snippet .app-snippet-title em{color:#a8ebda}.app-card:hover .app-snippet .app-snippet-link,.app-card:focus-within .app-snippet .app-snippet-link{background:#e7fff6;color:#07524c}.app-card:hover .app-snippet.app-snippet-hero .app-snippet-link,.app-card:focus-within .app-snippet.app-snippet-hero .app-snippet-link{background:#f4efe4;color:#12141a}.app-card:hover .app-snippet .app-snippet-link:hover,.app-card:focus-within .app-snippet .app-snippet-link:hover,.app-card:hover .app-snippet.app-snippet-hero .app-snippet-link:hover,.app-card:focus-within .app-snippet.app-snippet-hero .app-snippet-link:hover{background:#fff}.app-card:hover .app-snippet.app-snippet-hero img,.app-card:focus-within .app-snippet.app-snippet-hero img{filter:none}.app-pending{color:var(--muted)}.folio-grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.folio-card{display:flex;flex-direction:column;gap:.7rem;min-height:16rem;margin:0;padding:1.2rem 0 .4rem;border-top:1px solid var(--line);background:transparent}.folio-card h3{display:flex;flex-direction:column;gap:.25rem;font-family:var(--serif);font-size:1.7rem;font-weight:400;letter-spacing:-.02em}.folio-card h3 span{color:var(--blush);font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.12em}.folio-card p:last-child{color:var(--muted)}.about-grid,.contact-grid{display:grid;grid-template-columns:minmax(16rem,.85fr) minmax(18rem,1.15fr);gap:1.5rem 4rem;align-items:start}.contact-lines{margin:1rem 0 0;padding:0;list-style:none;max-width:38rem}.contact-lines li{padding-left:1.25rem;color:var(--muted);font-size:1.12rem}.contact-lines li+li{margin-top:.35rem}.contact-mail{display:inline-block;margin-top:1.35rem;font-weight:700;color:var(--blush);text-underline-offset:.18em}.contact-mail:hover{color:#fff}.contact-form{display:grid;gap:1rem}.field{display:grid;gap:.3rem}.field span{color:var(--blush);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.field input,.field textarea{width:100%;padding:.7rem 0;border:none;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit}.field textarea{min-height:7.5rem;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--blush)}.button-solid{justify-self:start;margin-top:.4rem;border:none;background:var(--blush);color:var(--indigo);font:inherit;font-weight:600;cursor:pointer}.button-solid:hover{background:#fff}.form-note{max-width:28rem;color:var(--muted);font-size:.98rem}.site-footer{border-top:1px solid var(--line);padding:1.35rem var(--gutter) 1.8rem;background:transparent}.footer-bar{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center}.footer-bar p{color:var(--muted);font-size:.98rem}.footer-nav{width:min(var(--max),100%);margin:1.1rem auto 0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}.footer-nav a{color:var(--muted);font-size:.95rem;font-weight:600;text-decoration:none}.footer-nav a:hover{color:#fff}.copyright{justify-self:end}:focus-visible{outline:2px solid var(--blush);outline-offset:3px}.hero :focus-visible,.site-header.on-hero :focus-visible{outline-color:var(--blush)}@media(max-width:1080px){.hero-mark{right:.75rem;width:min(14rem,32vw)}}@media(min-width:761px)and (max-width:1080px)and (orientation:portrait){.hero{--tablet-fit: min(1.7, 100vw / 390px, var(--svh, 100svh) / 700px);--screen-rest: var(--screen-gap, calc(100lvh - 100svh) );height:var(--lvh, 100lvh);min-height:var(--lvh, 100lvh);max-height:var(--lvh, 100lvh);padding-top:calc(var(--header) + 1.75rem * var(--tablet-fit));padding-bottom:calc(17.5rem * var(--tablet-fit) + var(--screen-rest))}.hero-copy{position:static;width:min(100%,calc(34rem * var(--tablet-fit)))}.hero .entry{gap:calc(.15rem * var(--tablet-fit)) calc(.55rem * var(--tablet-fit));margin-bottom:calc(.7rem * var(--tablet-fit))}.hero .entry-word{font-size:calc(1.55rem * var(--tablet-fit))}.hero .entry-pron{font-size:calc(.95rem * var(--tablet-fit))}.hero .entry-def{font-size:calc(2.45rem * var(--tablet-fit))}.hero .deck{max-width:calc(28rem * var(--tablet-fit));margin-top:calc(1.35rem * var(--tablet-fit));font-size:calc(1.15rem * var(--tablet-fit))}.hero-actions{position:absolute;z-index:1;left:var(--gutter);bottom:calc(1.7rem * var(--tablet-fit) + var(--screen-rest));flex-direction:column;align-items:flex-start;gap:calc(.6rem * var(--tablet-fit));margin-top:0}.hero .button{min-height:calc(2.6rem * var(--tablet-fit));padding:calc(.45rem * var(--tablet-fit)) calc(1.1rem * var(--tablet-fit));font-size:calc(1rem * var(--tablet-fit));white-space:nowrap}.hero-mark{right:calc(1rem * var(--tablet-fit));bottom:calc(1.15rem * var(--tablet-fit) + var(--screen-rest));width:calc(11rem * var(--tablet-fit))}.shelf .app-grid{--summary: 6rem;display:flex;flex-wrap:nowrap;align-items:stretch;gap:1rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x proximity;scrollbar-width:none}.shelf .app-grid::-webkit-scrollbar{display:none}.shelf .app-grid>li{flex:0 0 calc((100% - 1rem)/2);width:calc((100% - 1rem)/2);max-width:none;scroll-snap-align:start}html.js .shelf .app-grid .reveal:not(.is-in){transform:none}html.js .shelf .app-grid .reveal.is-in{animation-name:none}.partnerships{padding-top:3.4rem}}@media(min-width:1220px)and (max-height:780px){.shelf{padding-top:2.25rem}#apps-title{font-size:2.5rem}.shelf .section-deck{margin-top:.55rem;font-size:1rem}.shelf .app-grid{--panel: 15rem;--summary: 4.5rem;gap:1.1rem;margin-top:.85rem}}@media(min-width:1360px)and (max-width:1600px)and (min-height:820px)and (max-height:980px){.shelf{padding-top:3.25rem}#apps-title{font-size:3.5rem}.shelf .section-deck{margin-top:.85rem;font-size:1.28rem}.shelf .app-grid{--panel: 21rem;--summary: 5rem;gap:1.75rem;margin-top:1.5rem}.consulting{padding-top:4.25rem;padding-bottom:3rem}#consulting-title{font-size:3.6rem}.consulting .section-lead{font-size:1.35rem}.consulting .consult-mark{width:min(100%,42rem)}.consulting-grid{gap:2.75rem}}@media(max-width:1310px)and (min-width:1220px){.app-grid{--panel: 19.6rem}}@media(max-width:420px){.app-grid{--panel: 21rem}.app-snippet-phone{width:min(4.5rem,27%);max-width:27%}.app-card .app-snippet{padding-inline:1rem}}@media(max-width:814px){.app-grid{--summary: 3rem}}@media(max-width:559px){.app-grid{--summary: 4.5rem}}@media(max-width:394px){.app-grid{--summary: 6rem}}@media(max-width:339px){.app-grid{--summary: 7.5rem}}@media(max-width:760px){.folio-grid,.about-grid,.contact-grid,.consulting-grid,.footer-bar{grid-template-columns:1fr}.folio-card{min-height:0}.shelf .app-grid{--summary: 3.8rem;display:flex;flex-wrap:nowrap;align-items:stretch;gap:.85rem;margin-top:1.35rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x proximity;scrollbar-width:none;padding-block:.35rem}.shelf .app-grid::-webkit-scrollbar{display:none}.shelf .app-grid>li{flex:0 0 min(20.5rem,84%);width:min(20.5rem,84%);max-width:none;scroll-snap-align:start}html.js .shelf .app-grid .reveal:not(.is-in){transform:none}html.js .shelf .app-grid .reveal.is-in{animation-name:none}.shelf .app-card{gap:.6rem;padding:.95rem 1.05rem .9rem}.shelf .app-card>p{font-size:.9rem;line-height:1.4}.shelf .app-figure{margin-top:calc(var(--summary) + .6rem)}.shelf .app-card:has(>p) .app-figure{margin-top:0}.shelf .app-card .app-snippet,.shelf .app-figure{height:auto;min-height:0;max-height:none;flex:1 1 auto}.shelf .app-card .app-snippet{padding:.75rem .85rem}.shelf .app-snippet-row{align-items:center;gap:.55rem}.shelf .app-snippet:not(.app-snippet-hero){padding:1.15rem 1.05rem 1.1rem}.shelf .app-snippet-copy{gap:.65rem}.shelf .app-snippet-main{gap:.45rem}.shelf .app-snippet-kicker{font-size:.9rem;line-height:1.3}.shelf .app-snippet-title{font-size:1.14rem;line-height:1.12}.shelf .app-snippet-title em{margin-top:.28rem}.shelf .app-snippet-stores{flex-flow:row nowrap;justify-content:center;align-items:center;gap:.45rem}.shelf .app-snippet-stores a{flex:1 1 0;width:auto;min-width:0;max-width:7.15rem}.shelf .app-card .app-snippet-link{min-height:1.85rem;padding:.28rem .72rem;font-size:.76rem}.shelf .app-snippet:not(.app-snippet-hero) .app-snippet-link{align-self:center;min-height:2.1rem;padding:.36rem 1rem;font-size:.88rem}.shelf .app-snippet-phone{display:none}.shelf .app-card .app-snippet.app-snippet-hero{justify-content:space-between;gap:.65rem;padding:1.05rem}.shelf .app-snippet-hero img{width:3.6rem}.shelf .app-card .app-snippet-hero-line{font-size:1.28rem;line-height:1.02}.hero{--phone-fit: min(1, 100vw / 390px, var(--svh, 100svh) / 46rem);--screen-rest: var(--screen-gap, calc(100lvh - 100svh) );height:var(--lvh, 100lvh);min-height:var(--lvh, 100lvh);max-height:var(--lvh, 100lvh);padding-top:calc(var(--header) + 1.6rem * var(--phone-fit));padding-bottom:calc(17.4rem * var(--phone-fit) + var(--screen-rest))}.hero .entry{gap:calc(.15rem * var(--phone-fit)) calc(.55rem * var(--phone-fit));margin-bottom:calc(.9rem * var(--phone-fit))}.hero .entry-word{font-size:calc(1.72rem * var(--phone-fit))}.hero .entry-pron{font-size:calc(1.05rem * var(--phone-fit))}.hero .entry-def{font-size:calc(2.75rem * var(--phone-fit))}.hero .deck{margin-top:calc(1.55rem * var(--phone-fit));font-size:calc(1.28rem * var(--phone-fit))}.hero-copy{position:static}.hero-actions{position:absolute;z-index:1;left:var(--gutter);bottom:calc(1.5rem * var(--phone-fit) + var(--screen-rest));flex-direction:column;align-items:flex-start;gap:calc(.55rem * var(--phone-fit));margin-top:0}.hero-actions .button{min-height:calc(2.5rem * var(--phone-fit));padding:calc(.42rem * var(--phone-fit)) calc(1.05rem * var(--phone-fit));font-size:calc(.92rem * var(--phone-fit));white-space:nowrap}.hero-mark{right:calc(.85rem * var(--phone-fit));bottom:calc(.9rem * var(--phone-fit) + var(--screen-rest));width:min(calc(10.75rem * var(--phone-fit)),calc(100vw - var(--gutter) - 11.15rem * var(--phone-fit)))}.consult-mark{justify-self:center;width:min(100%,22rem)}.copyright{justify-self:start}}@media(max-width:426px){.shelf .app-grid{--summary: 5.05rem}}@media(max-width:353px){.shelf .app-grid{--summary: 6.35rem}}@media(max-width:323px){.shelf .app-grid{--summary: 7.6rem}}@media(max-width:760px){.shelf{--shelf-fit: min(1, (var(--svh, 100svh) - var(--header) - .75rem) / 38rem);padding-top:calc(clamp(2.15rem,calc(var(--svh, 100svh) * .065),5rem) * var(--shelf-fit))}.shelf .app-grid{--summary: calc(3.8rem * var(--shelf-fit))}#apps-title{font-size:calc(2.2rem * var(--shelf-fit))}.shelf .section-deck{margin-top:calc(.35rem * var(--shelf-fit));font-size:calc(1.12rem * var(--shelf-fit))}.shelf .app-grid{margin-top:calc(1.35rem * var(--shelf-fit));gap:calc(.85rem * var(--shelf-fit))}.shelf .app-card{gap:calc(.6rem * var(--shelf-fit));padding:calc(.95rem * var(--shelf-fit)) calc(1.05rem * var(--shelf-fit)) calc(.9rem * var(--shelf-fit))}.shelf .app-card h3,.shelf .app-lockup{font-size:calc(1.5rem * var(--shelf-fit))}.shelf .app-card h3:has(.app-mark),.shelf .app-card h3:has(.app-lockup),.shelf .app-card:has(.app-figure) h3{height:calc(2.35rem * var(--shelf-fit))}.shelf .app-card>p{font-size:calc(.9rem * var(--shelf-fit))}.shelf .app-mark,.shelf .app-lockup{height:calc(2.35rem * var(--shelf-fit))}.shelf .app-lockup img{width:calc(1.9rem * var(--shelf-fit));height:calc(1.9rem * var(--shelf-fit))}.shelf .app-figure svg,.shelf .app-figure img{width:min(calc(72% * var(--shelf-fit)),calc(11.25rem * var(--shelf-fit)))}.shelf .app-snippet-kicker{font-size:calc(.9rem * var(--shelf-fit))}.shelf .app-snippet-title{font-size:calc(1.14rem * var(--shelf-fit))}.shelf .app-card .app-snippet-link{min-height:calc(1.85rem * var(--shelf-fit));font-size:calc(.76rem * var(--shelf-fit))}.shelf .app-snippet:not(.app-snippet-hero) .app-snippet-link{min-height:calc(2.1rem * var(--shelf-fit));font-size:calc(.88rem * var(--shelf-fit))}.shelf .app-snippet-hero img{width:calc(3.6rem * var(--shelf-fit))}.shelf .app-card .app-snippet-hero-line{font-size:calc(1.28rem * var(--shelf-fit))}.consulting{--consult-fit: min(1, (var(--svh, 100svh) - var(--header) - .5rem) / 40rem);padding-top:calc(3.25rem * var(--consult-fit));padding-bottom:calc(1rem * var(--consult-fit))}.consulting-grid{gap:calc(1.5rem * var(--consult-fit))}.consulting .eyebrow{margin-bottom:calc(.85rem * var(--consult-fit));font-size:calc(.88rem * var(--consult-fit))}#consulting-title{font-size:calc(2.5rem * var(--consult-fit))}.consulting .section-lead{margin-top:calc(1.05rem * var(--consult-fit));font-size:calc(1.22rem * var(--consult-fit));line-height:1.32}.consulting .consult-mark{width:min(100%,calc(22rem * var(--consult-fit)))}.partnerships{--gtm-fit: min(1, (var(--svh, 100svh) - var(--header) - .5rem) / 32rem);padding-top:calc(1.75rem * var(--gtm-fit));padding-bottom:calc(3rem * var(--gtm-fit))}.partnerships .eyebrow{margin-bottom:calc(.85rem * var(--gtm-fit));font-size:calc(.78rem * var(--gtm-fit))}#gtm-title{font-size:calc(2.2rem * var(--gtm-fit))}.partnerships .section-lead{margin-top:calc(1rem * var(--gtm-fit));font-size:calc(1.12rem * var(--gtm-fit))}.shelf,.consulting,.partnerships{min-height:calc(var(--svh, 100svh) - var(--header) + 1.75rem)}}@media(max-width:426px){.shelf .app-grid{--summary: calc(5.05rem * var(--shelf-fit, 1))}}@media(max-width:353px){.shelf .app-grid{--summary: calc(6.35rem * var(--shelf-fit, 1))}}@media(max-width:323px){.shelf .app-grid{--summary: calc(7.6rem * var(--shelf-fit, 1))}}@media(max-width:760px)and ((pointer:coarse)or (hover:none)){.app-card:hover .app-snippet,.app-card:focus-within .app-snippet,.app-card:hover .app-snippet.app-snippet-hero,.app-card:focus-within .app-snippet.app-snippet-hero{background-color:var(--indigo);background-image:none;color:var(--blush)}.app-card:hover .app-snippet .app-snippet-kicker,.app-card:focus-within .app-snippet .app-snippet-kicker,.app-card:hover .app-snippet .app-snippet-title em,.app-card:focus-within .app-snippet .app-snippet-title em{color:var(--muted)}.app-card:hover .app-snippet .app-snippet-link,.app-card:focus-within .app-snippet .app-snippet-link,.app-card:hover .app-snippet.app-snippet-hero .app-snippet-link,.app-card:focus-within .app-snippet.app-snippet-hero .app-snippet-link{background:var(--blush);color:var(--indigo)}.app-card:hover .app-snippet.app-snippet-hero img,.app-card:focus-within .app-snippet.app-snippet-hero img{filter:grayscale(1)}.app-card.is-held .app-snippet{background-color:#07524c;color:#fff}.app-card.is-held .app-snippet.app-snippet-hero{background-color:#0c0e14;background-image:radial-gradient(ellipse 70% 55% at 50% 0%,rgba(255,255,255,.07),transparent 62%);color:#fff}.app-card.is-held .app-snippet .app-snippet-kicker{color:#c9f6ec}.app-card.is-held .app-snippet .app-snippet-title em{color:#a8ebda}.app-card.is-held .app-snippet .app-snippet-link{background:#e7fff6;color:#07524c}.app-card.is-held .app-snippet.app-snippet-hero .app-snippet-link{background:#f4efe4;color:#12141a}.app-card.is-held .app-snippet.app-snippet-hero img{filter:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal:not(.is-in),.reveal,.reveal.is-in,.reveal.is-in.reveal-settled,.reveal.reveal-across,.reveal.reveal-across.is-in{opacity:1;transform:none;animation:none}.app-card .app-snippet,.app-card .app-snippet .app-snippet-kicker,.app-card .app-snippet .app-snippet-title em,.app-card .app-snippet .app-snippet-link,.app-card .app-snippet.app-snippet-hero img{transition:none}.consult-mark .consult-wave,.consult-mark .consult-exit-line,.consulting.is-in .consult-wave,.consulting.is-in .consult-exit-line{stroke-dashoffset:0;animation:none}}
