@font-face{font-family:Archivo;src:url('assets/Archivo-800.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
:root{--white:#fff;--ground:#f3f2f2;--ink:#201e1d;--red:#ec3013;--deep-red:#ae1800;--muted:#605c5b;--line:#d9d6d5;--sans:Archivo,Arial,sans-serif;--body:Arial,sans-serif;--motion-ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}.skip-link{position:fixed;z-index:10;left:1rem;top:-4rem;background:var(--ink);color:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,5rem);border-bottom:1px solid var(--line);background:#fff}.wordmark img,footer img{display:block;width:180px;height:auto}.site-header nav{display:flex;align-items:center;gap:clamp(1.3rem,2.5vw,3rem);font-size:.875rem;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:not(.nav-cta):hover,.text-link:hover{color:var(--deep-red)}.nav-cta{background:var(--deep-red);color:#fff;padding:.73rem 1rem}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1600px;margin:0 auto}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4.5rem,10vw,10.5rem) clamp(1.25rem,6vw,7rem)}.eyebrow,.section-label p{font-size:.75rem;line-height:1.25;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0 0 1.4rem}.hero h1,.contact h2{font-size:clamp(3.4rem,6.7vw,7.65rem);line-height:.88;letter-spacing:-.07em;text-transform:uppercase;font-weight:800;margin:0}.hero h1{font-size:clamp(2.4rem,5.2vw,5.95rem)}.hero h1 em,.contact h2 em{font-style:normal;color:var(--red)}.hero-intro{max-width:35rem;font-family:var(--body);font-size:1.08rem;line-height:1.5;margin:2.4rem 0}.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.85rem 1.15rem;text-decoration:none;font-size:.86rem;font-weight:600;touch-action:manipulation}.button-primary{background:var(--deep-red);color:#fff}.button-primary:hover,.nav-cta:hover{background:var(--ink)}.text-link{font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.text-link span{font-size:1.25em}.hero-photo{margin:0;align-self:stretch;min-height:650px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end}.hero-photo img{display:block;width:100%;height:min(80vh,900px);min-height:650px;object-fit:contain;object-position:center bottom}.hero-photo figcaption{padding:.8rem 1.25rem 1.25rem;text-transform:uppercase;letter-spacing:.07em;font-size:.7rem;font-weight:600}
.section{display:grid;grid-template-columns:clamp(11rem,22vw,20rem) minmax(0,1fr);padding:clamp(4.5rem,9vw,10rem) clamp(1.25rem,7vw,9rem);gap:2rem}.section-label p{position:sticky;top:1.4rem;margin:0}.section-content h2{font-size:clamp(2.6rem,5.6vw,6.7rem);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:0 0 clamp(2rem,4vw,3.5rem);max-width:14ch}.section-lede,.intro-copy p,.offer-fit,.offer-card dd,.scope-note,.about-copy p,.process li span,.faq p,.contact>p{font-family:var(--body);line-height:1.55;margin:0;max-width:42rem}.intro{background:var(--ground)}.intro-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.8fr);gap:2rem}.intro-copy h2{margin-bottom:0}.intro-copy p+p{margin-top:1.3rem}
.services{background:var(--white)}.section-lede{margin:-.4rem 0 2.4rem}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink)}.offer-card{background:#fff;padding:clamp(1.35rem,3vw,2.3rem);min-height:100%;display:flex;flex-direction:column}.offer-card-featured{background:var(--ground)}.offer-top{display:grid;gap:1rem;padding-bottom:2.5rem;border-bottom:1px solid var(--ink)}.offer-kicker{font-size:.7rem;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0}.price{font-size:clamp(1.65rem,2.8vw,2.55rem);line-height:.9;letter-spacing:-.06em;margin:0;text-align:left;white-space:nowrap}.price span{display:block;font-family:var(--body);font-size:.72rem;line-height:1.3;letter-spacing:0;text-transform:uppercase;margin-top:.45rem}.offer-card h3{font-size:1.25rem;letter-spacing:-.035em;text-transform:uppercase;margin:1.45rem 0 .75rem}.offer-fit{min-height:4.8em;margin-bottom:1.5rem}.offer-card dl{margin:auto 0 0;border-top:1px solid var(--line);padding-top:1.1rem}.offer-card dl>div+div{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.offer-card dt{font-size:.71rem;line-height:1.2;text-transform:uppercase;letter-spacing:.075em;font-weight:600;margin:0 0 .45rem}.offer-card dd{font-size:.94rem;margin:0}.scope-note{color:var(--muted);font-size:.9rem;margin-top:1.6rem}.services-cta{margin-top:1.6rem}
.additional-services{display:grid;grid-template-columns:minmax(12rem,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(3rem,7vw,6.5rem);padding-top:1.25rem;border-top:4px solid var(--deep-red)}.additional-services-intro h3{font-size:clamp(1.6rem,3vw,2.7rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase;margin:1.15rem 0}.additional-services-intro>p:last-child,.additional-services-list span{font-family:var(--body);line-height:1.5;margin:0}.additional-services-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(1.25rem,3vw,3rem)}.additional-services-list li{display:grid;gap:.45rem;padding:1rem 0;border-bottom:1px solid var(--ink)}.additional-services-list strong{font-size:.88rem;line-height:1.15;text-transform:uppercase;letter-spacing:-.02em}.additional-services-list span{font-size:.88rem}
.platforms-supported{display:grid;grid-template-columns:minmax(12rem,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(3rem,6vw,5rem);padding-top:1.25rem;border-top:1px solid var(--ink)}.platforms-supported-intro h3{font-size:clamp(1.35rem,2.5vw,2.15rem);line-height:1;letter-spacing:-.045em;text-transform:uppercase;margin:1.15rem 0}.platforms-supported-intro>p:last-child,.platforms-supported-list span{font-family:var(--body);line-height:1.5;margin:0}.platforms-supported-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(1.25rem,3vw,3rem)}.platforms-supported-list li{display:grid;gap:.45rem;padding:1rem 0;border-bottom:1px solid var(--ink)}.platforms-supported-list strong{font-size:.88rem;line-height:1.15;text-transform:uppercase;letter-spacing:-.02em}.platforms-supported-list span{font-size:.88rem}
.work{background:var(--ground);grid-template-columns:clamp(11rem,22vw,20rem) minmax(0,1fr)}.work .section-content{grid-column:2}.work-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.work-item{text-decoration:none}.work-item img{width:100%;height:auto;display:block;transition:transform 700ms var(--motion-ease),filter 500ms ease;transform-origin:center bottom}.work-item>span{display:grid;gap:.3rem;padding-top:.9rem}.work-item strong{font-size:1rem;text-transform:uppercase;letter-spacing:-.02em}.work-item>span>span{font-family:var(--body);font-size:.88rem}.work-item b{display:inline-block;color:var(--red);font-size:1rem;transition:transform 400ms var(--motion-ease)}
.about{background:#fff}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.about-copy h2{margin-bottom:0}.about-copy p+p{margin-top:1.3rem}.process{background:var(--ground)}.process ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink);counter-reset:steps}.process li{counter-increment:steps;display:grid;grid-template-columns:3rem minmax(12rem,.85fr) 1.6fr;gap:1rem;align-items:baseline;border-bottom:1px solid var(--ink);padding:1.1rem 0}.process li::before{content:'0' counter(steps);color:var(--deep-red);font-size:.75rem;font-weight:600}.process li strong{font-size:1rem;text-transform:uppercase;letter-spacing:-.02em}.faq{background:#fff}.faq-list{border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--ink);padding:1.1rem 0}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-size:1rem;text-transform:uppercase;letter-spacing:-.02em}.faq summary::after{content:'+';color:var(--deep-red);font-size:1.5rem;line-height:1}.faq details[open] summary::after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq details p{padding:1rem 2rem .15rem 0}.contact{background:var(--ink);color:#fff;padding:clamp(4.5rem,10vw,10rem) clamp(1.25rem,14vw,16rem)}.contact .eyebrow{color:#fff}.contact h2{max-width:11ch;margin:0 0 2rem}.contact>p:not(.eyebrow){max-width:38rem;margin-bottom:2.3rem}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--deep-red);color:#fff}.email:hover{color:#fff;text-decoration-thickness:2px}.email{display:block;font-size:.9rem;font-weight:600;margin-top:1.1rem;color:#fff}footer{display:flex;align-items:center;gap:2rem;justify-content:space-between;padding:1.5rem clamp(1.25rem,4vw,5rem);font-size:.75rem}footer img{width:145px}footer p{margin:0}
/* Motion keeps the final composition intact and all content visible by default. */
.hero-line{display:block;overflow:clip;padding-block:.1em;margin-block:-.1em}.hero-line>span{display:block}.signal-word{position:relative;display:inline-block}.signal-wipe{position:absolute;inset:0 -.025em;background:var(--red);transform:scaleX(0);pointer-events:none}.hero-photo img{transform-origin:center bottom}.button,.nav-cta{transition:background-color 240ms ease,color 240ms ease,transform 400ms var(--motion-ease)}.text-link span{display:inline-block;transition:transform 400ms var(--motion-ease)}.menu-toggle span:not(.visually-hidden){transition:transform 300ms var(--motion-ease)}.menu-open .menu-toggle span:nth-child(2){transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
@media (hover:hover) and (pointer:fine){.button:hover,.nav-cta:hover{transform:translateY(-3px)}.text-link:hover span{transform:translate(3px,3px)}.work-item:hover img{transform:translateY(-6px);filter:brightness(.97)}.work-item:hover b{transform:translate(3px,-3px)}}.button:active,.nav-cta:active{transform:translateY(0)}
@media (min-width:761px) and (max-width:1100px){.intro-copy{grid-template-columns:1fr}}
@media(max-width:760px){.site-header{height:72px;position:relative;padding:0 1.25rem}.wordmark img{width:158px}.menu-toggle{display:flex;width:44px;height:44px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:6px;padding:8px}.menu-toggle span:not(.visually-hidden){display:block;width:100%;height:2px;background:var(--ink)}.site-header nav{display:none;position:absolute;z-index:3;left:0;right:0;top:71px;background:#fff;border-bottom:1px solid var(--line);padding:1.25rem;align-items:stretch;gap:0;flex-direction:column}.menu-open .site-header nav{display:flex}.site-header nav a{padding:1rem 0;border-bottom:1px solid var(--line)}.site-header nav .nav-cta{border:0;padding:1rem;background:var(--deep-red);color:#fff;text-align:center;margin-top:1rem}.hero{grid-template-columns:1fr}.hero-copy{padding:4.1rem 1.25rem 2.4rem}.hero h1{font-size:clamp(2.4rem,12vw,4.7rem)}.hero-intro{font-size:1rem;margin:1.8rem 0 2.1rem}.hero-photo{min-height:0}.hero-photo img{height:auto;min-height:0;max-height:none;object-fit:contain}.hero-photo figcaption{padding:1rem 1.25rem 1.4rem}.section{grid-template-columns:1fr;padding:4rem 1.25rem;gap:1.6rem}.section-label p{position:static}.section-content h2{font-size:clamp(2.65rem,13vw,4rem);margin-bottom:2.2rem}.intro-copy,.work-grid,.about-copy,.offer-grid,.additional-services,.platforms-supported{grid-template-columns:1fr}.intro-copy h2{margin-bottom:0}.offer-card{padding:1.5rem}.offer-fit{min-height:0}.additional-services-list,.platforms-supported-list{grid-template-columns:1fr}.work .section-content,.work-grid{grid-column:auto}.work-grid{gap:2.3rem}.process li{grid-template-columns:2.4rem 1fr;gap:.4rem 1rem}.process li span{grid-column:2}.faq summary{font-size:.94rem}.contact{padding:4.5rem 1.25rem}.contact h2{font-size:clamp(3.1rem,13vw,4.5rem)}footer{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1.8rem 1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.nav-cta,.text-link span,.work-item b,.work-item img,.menu-toggle span:not(.visually-hidden){transition:none}.button:hover,.nav-cta:hover,.text-link:hover span,.work-item:hover img,.work-item:hover b{transform:none}}

/* Verified client testimonial and a secondary review invitation. */
.client-review{grid-column:2;margin:1rem 0 0;padding:clamp(1.5rem,4vw,3rem);background:var(--white);border-left:4px solid var(--deep-red)}.review-rating{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1.2rem;font-family:var(--body);font-size:.85rem}.review-rating>span:first-child{color:var(--deep-red);font-size:1.1rem;letter-spacing:.12em}.client-review blockquote{margin:0 0 1.5rem;max-width:34ch;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.25;letter-spacing:-.035em}.client-review blockquote p{margin:0}.client-review figcaption{display:grid;gap:.15rem;margin-bottom:1.2rem;font-family:var(--body);font-size:.9rem}.client-review figcaption strong{font-family:var(--sans)}footer{flex-wrap:wrap}.footer-review{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;text-underline-offset:4px}.footer-review:hover{color:var(--deep-red)}
@media(max-width:760px){.client-review{grid-column:auto;margin-top:0}}

/* Give headings distinct word spaces and the founders introduction room to breathe. */
.section-content h2{letter-spacing:-.025em;word-spacing:.06em;line-height:1.02}
#intro-title>span{display:block}
.hero-intro p{margin:0}.hero-intro p+p{margin-top:1rem}.hero-intro .hero-price-note{font-size:.9rem;color:var(--muted);padding-top:1rem;border-top:1px solid var(--line)}
.about-copy{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
@media(min-width:761px) and (max-width:1100px){.about-copy{grid-template-columns:1fr}}
@media(max-width:760px){.about-copy{grid-template-columns:1fr}.hero-copy{padding-top:3.2rem}}

/* Keep user-enlarged and user-spaced text inside its own content area. */
.hero-copy,.section-content,.intro-copy>*,.about-copy>*,.offer-card,.work-item,.process li>*{min-width:0}
h1,h2,h3,p,summary,dt,dd,figcaption,.button,.text-link,.email{overflow-wrap:anywhere}
.intro-copy,.about-copy{grid-template-columns:minmax(0,1fr)}
.hero-line{overflow:visible}
.signal-word{max-width:100%}
.price{white-space:normal}
.skip-link{top:0;transform:translateY(-150%)}.skip-link:focus{top:1rem;transform:none}

/* Clean hero: a square portrait frame keeps both faces above the section edge. */
.hero{position:relative;isolation:isolate;display:block;max-width:2000px;min-height:min(52vw,1040px);overflow:hidden;background:var(--white)}
.hero-copy{position:relative;z-index:3;width:61%;padding:clamp(4rem,5.9vw,7rem) 0 clamp(4rem,4.3vw,5rem) 4.1%;justify-content:flex-start}
.hero .eyebrow{font-size:clamp(.75rem,1.08vw,1.25rem);letter-spacing:.09em;margin-bottom:clamp(1.6rem,2.3vw,2.7rem)}
.hero h1{font-size:clamp(3rem,5.85vw,7.3rem);line-height:.94;letter-spacing:-.058em;text-transform:none;color:#111}
.hero h1 .hero-line{padding:0;margin:0}
.hero h1 .hero-line>span{white-space:normal}
.hero-intro{max-width:46ch;font-size:clamp(1.05rem,1.51vw,1.8rem);line-height:1.45;margin:clamp(1.5rem,1.6vw,1.9rem) 0 clamp(1.8rem,2.2vw,2.6rem)}
.hero .action-row{gap:1.2rem}
.hero .button,.hero .text-link{min-height:60px;padding:1rem 1.6rem;font-size:clamp(.85rem,1.08vw,1.15rem);text-decoration:none}
.hero .text-link{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--ink);background:rgba(255,255,255,.45)}
.hero-photo{position:absolute;z-index:2;top:auto;right:0;bottom:0;width:47%;height:auto;aspect-ratio:1;min-height:0;background:transparent;display:block;overflow:hidden;pointer-events:none}
.hero-photo img{width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center top;display:block}

.hero-photo figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

@media(min-width:2001px){.hero-copy{padding-left:5rem}.hero h1{font-size:7.3rem}}
@media(min-width:761px) and (max-width:1100px){.hero-copy{width:64%;padding-top:4rem;padding-bottom:4rem}.hero h1{font-size:5.9vw}.hero-intro{max-width:40ch;font-size:1.05rem}.hero .button,.hero .text-link{min-height:52px;padding:.8rem 1rem;font-size:.85rem}.hero .action-row{gap:.65rem}.hero-photo{top:auto;width:47%}}
@media(max-width:760px){.hero{padding-bottom:0;min-height:0}.hero-copy{width:100%;padding:3rem 1.25rem 1.7rem}.hero .eyebrow{font-size:.65rem;letter-spacing:.07em;margin-bottom:1.7rem}.hero h1{font-size:clamp(2.1rem,8.6vw,4rem);line-height:1;letter-spacing:-.055em}.hero-intro{max-width:45ch;font-size:1.05rem;line-height:1.5;margin:1.5rem 0 1.7rem}.hero .action-row{gap:.8rem}.hero .button,.hero .text-link{min-height:50px;padding:.75rem .8rem;font-size:.75rem}.hero .text-link{border-width:1px}.hero-photo{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:auto;max-height:none;margin-top:1rem;overflow:hidden}.hero-photo img{width:100%}}
.site-header{height:auto;min-height:86px;gap:1rem;flex-wrap:wrap;padding-block:1rem}

.site-header nav{flex-wrap:wrap}
@media(max-width:760px){.site-header{min-height:72px;padding-block:.75rem;flex-wrap:nowrap}.site-header nav{top:100%}}

/* WOMO presents the projects; the linked websites retain their own identities. */
.work-grid{grid-column:1/-1;gap:clamp(1.5rem,3vw,3rem);align-items:stretch}
.work-item{display:flex;flex-direction:column;min-width:0;border-top:2px solid var(--ink)}
.project-preview{padding:clamp(1.2rem,3vw,3rem);background:#eae9e9;overflow:hidden}
.project-browser{border:1px solid #bab6b6;background:var(--white)}
.project-browser-bar{display:flex;align-items:center;gap:.65rem;min-height:36px;padding:.6rem .8rem;border-bottom:1px solid #bab6b6;font-family:var(--body);font-size:clamp(.6rem,.85vw,.8rem);line-height:1.2;color:var(--muted)}
.project-browser-bar>span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.browser-mark{display:block;width:8px;height:8px;border:1px solid currentColor;flex:none}
.work-item .project-preview img{display:block;width:100%;height:auto;aspect-ratio:987/890;object-fit:cover;object-position:center top;filter:grayscale(1);transform:none;transition:none}
.project-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:1.5rem 0 0;border-top:1px solid var(--line)}
.project-type{font-size:.7rem;line-height:1.4;letter-spacing:.075em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem}
.project-details h3{font-size:clamp(1.7rem,3.15vw,3.6rem);line-height:1.03;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 1rem}
.project-description{font-family:var(--body);font-size:.96rem;line-height:1.5;max-width:39ch;margin:0 0 1.3rem}
.project-link{display:inline-flex;align-items:center;gap:1.4rem;margin-top:auto;min-height:44px;font-size:.82rem;color:var(--deep-red);text-decoration:underline;text-underline-offset:4px}
.project-link>span[aria-hidden]{font-size:1.3rem;text-decoration:none}
.work-item:focus-visible{outline-offset:8px}
@media(hover:hover) and (pointer:fine){.work-item:hover .project-preview img{filter:grayscale(1);transform:none}.work-item:hover .project-link{color:var(--ink)}}
@media(max-width:760px){.work-grid{gap:2.75rem}.project-preview{padding:1.25rem}.project-details h3{font-size:clamp(1.7rem,7vw,2.5rem)}.project-browser-bar{font-size:.62rem}}
