body{margin:0;background:#FAF5F2;color:#3A2530;font-family:'Manrope',system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:#D6456B}a:hover{color:#B2375A}
*{box-sizing:border-box}
h1,h2,h3,.serif{font-family:'Young Serif',Georgia,serif;font-weight:400;margin:0;letter-spacing:-0.015em}
h1{font-size:84px;line-height:0.98}
h2{font-size:52px;line-height:1.05}
h3{font-size:26px;line-height:1.2}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:'DM Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#D6456B;font-weight:500}
.muted{color:#6B5460}
.rule{border:0;border-top:1px solid rgba(58,37,48,0.18);margin:0}
.textlink{font-weight:700;color:#3A2530;text-decoration:none;border-bottom:2px solid #D6456B;padding-bottom:2px}
.textlink:hover{color:#D6456B}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 28px;border-radius:6px;font-family:'Manrope',sans-serif;font-weight:700;font-size:15px;text-decoration:none;border:2px solid #3A2530;cursor:pointer;background:transparent;color:#3A2530;transition:background .15s,color .15s}
.btn:hover{background:#3A2530;color:#FAF5F2}
.btn-fill{background:#D6456B;border-color:#D6456B;color:#FAF5F2}.btn-fill:hover{background:#B2375A;border-color:#B2375A;color:#FAF5F2}
.section{padding:120px 0}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.nav a.navlink{color:#3A2530;text-decoration:none;font-weight:600;font-size:15px}
.nav a.navlink:hover{color:#D6456B}
.pinwall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:start}
.pinwall img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 8px 24px rgba(58,37,48,0.12)}
.pinwall .col{display:flex;flex-direction:column;gap:16px}
.pinwall .col.off{padding-top:56px}
.marquee{display:flex;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:flex;gap:20px;flex:none;padding-right:20px;animation:slide 70s linear infinite}
.marquee.rev .track{animation-direction:reverse;animation-duration:85s}
.marquee:hover .track{animation-play-state:paused}
.marquee .track{align-items:flex-start}
.marquee img{width:auto;height:440px;object-fit:contain;border-radius:10px;box-shadow:0 8px 24px rgba(58,37,48,0.12);flex:none;display:block}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}.marquee{overflow-x:auto}}
.stat{display:flex;flex-direction:column;gap:6px;padding-top:20px;border-top:2px solid #3A2530}
.stat .n{font-family:'Young Serif',serif;font-size:56px;line-height:1}
.stat .l{font-size:14px;color:#6B5460;font-weight:600}
.stat.dark{border-top:0;padding-top:0}
.stat.dark .n{color:#FAF5F2;font-size:60px}
.stat.dark .l{color:#E9C9D2}
.flat{border-radius:8px;padding:36px 32px;display:flex;flex-direction:column;gap:12px;min-height:260px}
.flat .lbl{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;display:inline-block;padding:4px 10px;background:#3A2530;color:#FAF5F2;align-self:flex-start}
.flat ul{margin:8px 0 0;padding-left:18px;font-size:15px}
.flat li{margin-bottom:4px}
.nope{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-top:1px solid rgba(250,245,242,0.18)}
.nope .x{font-family:'Young Serif',serif;font-size:28px;line-height:1;color:#F5B8C4;flex:none;width:32px}
.step{display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;padding:28px 0;border-top:1px solid rgba(58,37,48,0.18)}
.step .w{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:#D6456B;padding-top:6px}
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:36px 28px}
.tm{display:flex;flex-direction:column;align-items:center;text-align:center;width:200px}
.tm-ph{width:170px;height:170px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;overflow:hidden}
.tm-ph span{font-family:'Young Serif',serif;font-size:64px;line-height:1;color:#3A2530;opacity:0.9}
.tm-ph small{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:#3A2530;opacity:0.6}
.tm-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1024px){.tm{width:160px}.tm-ph{width:140px;height:140px}}
@media (max-width:640px){.team-grid{gap:24px 12px}.tm{width:140px}.tm-ph{width:120px;height:120px}.tm-ph span{font-size:44px}}
.quote{display:flex;flex-direction:column;gap:22px;padding:36px;border-radius:8px}
.quote .q{font-family:'Young Serif',serif;font-size:24px;line-height:1.35}
.who{display:flex;gap:14px;align-items:center}
.who .face{width:52px;height:52px;border-radius:50%;background:#FAF5F2;border:2px dashed rgba(58,37,48,0.3);display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.08em;text-transform:uppercase;text-align:center;line-height:1.2;color:#6B5460;flex:none}
.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;background:#F6D77A;color:#3A2530;font-weight:500}
.case{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;padding:32px 0;border-top:1px solid rgba(58,37,48,0.18)}
.case .big{font-family:'Young Serif',serif;font-size:44px;line-height:1;color:#D6456B}
.cs{display:flex;flex-direction:column;border:1px solid rgba(58,37,48,0.14);border-radius:12px;overflow:hidden;background:#fff}
.win{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,0.25)}
.win img{width:100%;height:auto;display:block}
.win-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#F3ECE8;border-bottom:1px solid rgba(58,37,48,0.12)}
.dots{display:inline-flex;gap:5px}
.dots i{width:9px;height:9px;border-radius:50%;display:inline-block}
.dots i:nth-child(1){background:#D6456B}.dots i:nth-child(2){background:#F5B8C4}.dots i:nth-child(3){background:#F6D77A}
.win-t{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:0.06em;color:#6B5460;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs img{width:100%;height:auto;display:block;border-bottom:1px solid rgba(58,37,48,0.14)}
.cs-body{display:flex;flex-direction:column;gap:10px;padding:24px 26px 28px}
.cs-n{font-family:'Young Serif',serif;font-size:40px;line-height:1;color:#3A2530}
.cs-n span{font-family:'Manrope',sans-serif;font-size:15px;color:#6B5460;font-weight:600}
.faq details{border-top:1px solid rgba(58,37,48,0.18);padding:24px 0}
.faq details:last-child{border-bottom:1px solid rgba(58,37,48,0.18)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Young Serif',serif;font-size:23px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .plus{font-family:'Manrope',sans-serif;font-size:28px;line-height:1;color:#D6456B;flex:none;transition:transform .2s}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq details p{margin-top:12px;max-width:680px;color:#6B5460}
label.fl{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px}
.input{min-height:52px;border:0;border-bottom:2px solid rgba(58,37,48,0.3);border-radius:0;padding:12px 0;font-family:'Manrope',sans-serif;font-size:16px;color:#3A2530;background:transparent;width:100%}
.input:focus{outline:none;border-bottom-color:#D6456B}
textarea.input{min-height:100px;resize:vertical}
.footer a{color:#F5B8C4;text-decoration:none;font-size:15px}.footer a:hover{color:#fff}
@media (max-width:1024px){
.feat{padding:36px 28px !important}
.feat .serif{font-size:72px !important}
.g4.wrap{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
h1{font-size:64px}h2{font-size:42px}
.section{padding:88px 0}
.two{grid-template-columns:1fr;gap:36px}
.pinwall{grid-template-columns:repeat(3,minmax(0,1fr))}
.pinwall .col.hide-md{display:none}
.nav-links{display:none !important}
.g3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.g4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:640px){
.marquee img{height:300px}
.g2r{grid-template-columns:1fr !important}
h1{font-size:46px}h2{font-size:34px}
.wrap{padding:0 20px}
.section{padding:72px 0}
.pinwall{grid-template-columns:repeat(2,minmax(0,1fr))}
.pinwall .col.hide-sm{display:none}
.pinwall .col.off{padding-top:32px}
.g3,.g4{grid-template-columns:1fr !important}
.step{grid-template-columns:1fr;gap:8px}
.case{grid-template-columns:1fr}
.stat .n{font-size:44px}
.form-2{grid-template-columns:1fr !important}
.hero-photo{display:none}
}
html{scroll-behavior:smooth}

/* subtle motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d2{transition-delay:.12s}
.g3>.reveal:nth-child(2),.g2r>.reveal:nth-child(2),.team-grid>.reveal:nth-child(2){transition-delay:.08s}
.g3>.reveal:nth-child(3),.g2r>.reveal:nth-child(3),.team-grid>.reveal:nth-child(3){transition-delay:.16s}
.g2r>.reveal:nth-child(4),.team-grid>.reveal:nth-child(4){transition-delay:.24s}
.team-grid>.reveal:nth-child(5){transition-delay:.08s}.team-grid>.reveal:nth-child(6){transition-delay:.16s}.team-grid>.reveal:nth-child(7){transition-delay:.24s}.team-grid>.reveal:nth-child(8){transition-delay:.32s}
.step.reveal:nth-child(2){transition-delay:.06s}.step.reveal:nth-child(3){transition-delay:.12s}.step.reveal:nth-child(4){transition-delay:.18s}.step.reveal:nth-child(5){transition-delay:.24s}
.nope.reveal:nth-child(2){transition-delay:.06s}.nope.reveal:nth-child(3){transition-delay:.12s}.nope.reveal:nth-child(4){transition-delay:.18s}
.hero-in{opacity:0;animation:heroIn .8s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cs,.flat,.quote,.win{transition:transform .35s ease,box-shadow .35s ease,opacity .7s cubic-bezier(.22,.61,.36,1)}
.cs:hover,.flat:hover,.quote:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(58,37,48,0.10)}
.tm-ph{transition:transform .35s ease}
.tm:hover .tm-ph{transform:scale(1.04)}
.textlink{transition:color .2s,border-color .2s}
.marquee img{transition:transform .35s ease}
.marquee img:hover{transform:translateY(-6px)}
@media (prefers-reduced-motion:reduce){
.reveal{opacity:1;transform:none;transition:none}
.hero-in{opacity:1;animation:none}
.cs:hover,.flat:hover,.quote:hover,.tm:hover .tm-ph,.marquee img:hover{transform:none}
}

/* mobile fixes: stats strip and featured case study */
.stat .n{white-space:nowrap}
@media (max-width:1024px){
.stat.dark .n{font-size:46px}
.feat{grid-template-columns:minmax(0,1fr) !important;gap:28px !important}
.feat>div{min-width:0}
}
@media (max-width:640px){
.g4.wrap{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px 20px !important}
.g4.wrap .stat:last-child{grid-column:1 / -1}
.stat.dark .n{font-size:40px}
.stat .l{font-size:13px}
.feat{padding:28px 22px !important}
.feat .serif{font-size:64px !important}
.feat h3{font-size:22px}
}
.win-t{min-width:0;flex:1}
.win-bar{min-width:0}
