/* Madler Social v35. Palette from the Madler logo. One family (Archivo): wide and heavy for headings and numbers,
   normal width for reading. Sentence case, everything centred, no labels, dots or pills. */
:root{
  --ink:#13213d; --ink-2:#2c3e66; --white:#ffffff; --paper:#f2f6fb; --grey-bg:#e3ebf5;
  --orange:#f28c28; --orange-dk:#c4620f; --gold:#ffb020;
  --text:#13213d; --text-2:#4b5875; --on-ink:#ffffff; --on-ink-2:#b7c2d8;
  --line:#d3deeb; --line-ink:rgba(255,255,255,.2); --line-photo:rgba(255,255,255,.3);
  --r:8px;
  --font:"Archivo",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:18px/1.6 var(--font);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0}
ul,ol,dl{margin:0}
::selection{background:var(--orange);color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:880px}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:var(--ink);padding:8px 12px;z-index:200}
.skip:focus{left:12px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* type */
h1,h2,h3,h4{font-family:var(--font);margin:0;text-wrap:balance}
h1,h2,.mega{font-weight:800;letter-spacing:-.025em;line-height:1.06}
h1,.mega{font-size:clamp(34px,5.6vw,74px)}
h2{font-size:clamp(28px,3.8vw,48px)}
h3,.h3{font-size:clamp(21px,2vw,25px);line-height:1.2;font-weight:800;letter-spacing:-.02em}
h4{font-size:19px;line-height:1.2;font-weight:800;letter-spacing:-.01em}
.lead{font-size:clamp(19px,1.6vw,22px);line-height:1.55;max-width:58ch;text-wrap:balance}
p,li{text-wrap:pretty}
.muted{color:var(--text-2)}
.nowrap{white-space:nowrap}

/* sections */
section{padding-block:44px}
@media (max-width:700px){section{padding-block:32px}}
.light{background:var(--grey-bg)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .muted,.dark .lead{color:var(--on-ink-2)}
.head{display:grid;gap:10px;justify-items:center;text-align:center;max-width:820px;margin:0 auto 26px}
.head h2{max-width:22ch}
.after{margin-top:22px;text-align:center}
.center-row{display:flex;justify-content:center;margin-top:26px}
.gap-top{margin-top:36px}
.source{text-align:center;color:var(--text-2);font-size:16px;margin-top:20px}
section.after-tight{padding-top:20px}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:120;background:var(--ink)}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:var(--ink);color:var(--on-ink)}
.top .wrap{display:flex;align-items:center;gap:28px;min-height:74px}
.brand{font-weight:800;font-size:24px;line-height:1;letter-spacing:-.03em;margin-right:auto;display:flex;align-items:center;gap:.25em;white-space:nowrap}
.brand span{color:var(--orange)}
.brand .mark{width:38px;height:38px;border-radius:50%;margin-right:.3em;flex:none}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:17px;font-weight:600;color:var(--on-ink-2);padding-block:6px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--on-ink)}
.menu-btn{display:none;font:650 17px var(--font);background:none;border:1px solid var(--line-ink);color:var(--on-ink);padding:10px 16px;border-radius:var(--r);cursor:pointer}
.top.over{position:fixed;left:0;right:0;background:transparent;transition:background .25s}
.top.over.solid{background:var(--ink)}
@media (max-width:980px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{font-size:21px;padding-block:14px;border-bottom:1px solid var(--line-ink);color:var(--on-ink);text-align:center}
  .top .btn{display:none}
}
@media (max-width:420px){.brand{font-size:21px}.brand .mark{width:34px;height:34px}}

/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;font:750 17px/1 var(--font);padding:18px 28px;border-radius:var(--r);border:2px solid var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-amber{background:var(--orange);color:var(--ink)}
.btn-amber:hover{background:var(--ink);color:var(--on-ink)}
.hero .btn-amber,.dark .btn-amber,.top .btn-amber{border-color:var(--white)}
.hero .btn-amber:hover,.dark .btn-amber:hover,.top .btn-amber:hover{background:var(--white);color:var(--ink)}
.hero .btn-amber{padding:20px 34px;font-size:18px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.top .btn{padding:13px 20px;font-size:16px}
.btn-ghost{background:transparent;border-color:currentColor}
.btn-ghost:hover{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.ulink{font-weight:700;color:var(--orange-dk);border-bottom:2px solid currentColor;padding-bottom:2px}
.ulink:hover{color:var(--text)}
.dark .ulink,.hero .ulink{color:var(--orange)}
.dark .ulink:hover,.hero .ulink:hover{color:var(--on-ink)}
.links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px}

/* home hero: full-bleed photo, header over it */
.hero{position:relative;color:var(--on-ink);background:var(--ink);overflow:hidden;padding-block:0!important;min-height:min(780px,88svh)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,33,61,.9) 0%,rgba(19,33,61,.72) 40%,rgba(19,33,61,.35) 60%,rgba(19,33,61,0) 74%)}
.hero .wrap{position:relative;z-index:2;display:grid;gap:22px;justify-items:center;text-align:center;padding-block:clamp(36px,5vw,64px) 40px}
.top.over~main .hero .wrap{padding-top:calc(74px + clamp(36px,5vw,64px))}
.hero h1{max-width:22ch;font-size:clamp(38px,5.6vw,76px);text-shadow:0 2px 18px rgba(8,14,30,.45)}
.hero .lead{color:#fff;font-weight:500;text-shadow:0 1px 12px rgba(8,14,30,.7)}
@media (max-width:760px){.hero{min-height:calc(100svh - 74px)}.hero>img{height:130%;bottom:auto;object-position:center top}.hero h1{font-size:34px}}

/* photo heroes on inner pages, with a ruled stat row */
.hero.rh{min-height:0}
.hero.rh>img{height:100%;object-position:center 55%}
.hero.rh::after{background:linear-gradient(180deg,rgba(19,33,61,.9) 0%,rgba(19,33,61,.8) 50%,rgba(19,33,61,.72) 100%)}
.hero.rh .wrap{gap:20px;padding-block:clamp(40px,5.5vw,72px) clamp(34px,4.5vw,52px)}
.hero.rh h1{font-size:clamp(34px,4.8vw,64px);max-width:20ch}
.hero.rh .lead{max-width:56ch}
.hero.sh>img{object-position:center 60%}
.hero>img[src*="huacachina-wide"]{object-position:center 70%}
.hstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:1080px;margin-top:6px;border-top:1px solid var(--line-photo);border-bottom:1px solid var(--line-photo)}
.hstats.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:920px}
.hstats>*{display:grid;gap:6px;align-content:center;justify-items:center;text-align:center;padding:20px 14px;color:#fff;min-width:0}
.hstats>*+*{border-left:1px solid var(--line-photo)}
.hstats b{font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(28px,3vw,42px);color:var(--orange);white-space:nowrap}
.hstats span{font-size:16px;line-height:1.4;color:#e8eef7;text-wrap:balance;max-width:24ch}
.hstats a:hover b{color:var(--gold)}
@media (max-width:760px){
  .hstats,.hstats.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hstats>*{padding:16px 10px}
  .hstats>*+*{border-left:0}
  .hstats>:nth-child(even){border-left:1px solid var(--line-photo)}
  .hstats>:nth-child(n+3){border-top:1px solid var(--line-photo)}
  .hstats>:last-child:nth-child(odd){grid-column:1/-1}
}
.jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.jump a{font-weight:650;color:#fff;border-bottom:2px solid rgba(255,255,255,.45);padding-bottom:3px}
.jump a:hover{border-color:var(--orange)}
.hero.rh h1.svc-h1{max-width:none;font-size:min(clamp(34px,4.8vw,64px),calc((100vw - 44px) / 15.6))}
.svc-h1 .l1,.svc-h1 .l2{display:block;white-space:nowrap}
@media (max-width:600px){.hero.rh h1.svc-h1{font-size:calc((100vw - 44px) / 13.4)}}

/* inner page hero without a photo */
.page-hero .wrap{display:grid;gap:18px;justify-items:center;text-align:center;padding-block:clamp(28px,4vw,52px) 12px}
.page-hero h1,.page-hero .mega{max-width:20ch}
.page-hero .lead{color:var(--text-2)}
.page-hero.tight .wrap{padding-block:32px 4px;gap:10px}
@media (max-width:700px){.page-hero.tight .wrap{padding-top:22px}.page-hero .wrap{padding-top:24px}}
.page-hero.tight .mega{font-size:clamp(32px,4.2vw,54px);max-width:none}
.toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px}
.toc a{font-weight:650;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:3px}
.toc a:hover{border-color:var(--orange)}

/* home: numbers */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center}
.stats>*{display:grid;gap:10px;justify-items:center;align-content:start;padding:8px 18px;min-width:0}
.stats>*+*{border-left:1px solid var(--line)}
.stats b{font-weight:800;letter-spacing:-.03em;line-height:1;font-size:clamp(36px,4.2vw,62px);white-space:nowrap}
.stats span{font-size:17px;color:var(--text-2);max-width:22ch;text-wrap:balance}
.stats a:hover b{color:var(--orange-dk)}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.stats>:nth-child(3){border-left:0}.stats>*{padding:6px 10px}}
@media (max-width:420px){.stats b{font-size:32px}}
@media (max-width:359px){.stats b{font-size:27px}}

/* home: photo strip */
.strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding-inline:6px}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;min-width:0}
@media (max-width:760px){.strip{grid-template-columns:repeat(3,minmax(0,1fr))}.strip img:nth-child(n+4){display:none}}

/* home: brands I've grown */
.built{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto}
.built>a{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:14px;justify-items:center;text-align:center;padding:24px 20px;background:var(--white);border:1px solid var(--line);border-radius:12px;color:var(--ink);transition:border-color .2s,transform .2s}
.built>a:hover{border-color:var(--orange);transform:translateY(-2px)}
.built img{width:92px;height:92px;border-radius:50%;object-fit:cover}
.built .n{gap:10px 24px}
.built .n b{font-size:clamp(24px,2.4vw,30px)}
.built .d{color:var(--text-2);max-width:30ch;text-wrap:balance}
@media (max-width:900px){.built{grid-template-columns:1fr;max-width:560px}}

/* number groups inside cards and bands */
.n{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px}
.n p{display:grid;gap:4px;align-content:start;text-align:center}
.n b{font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(30px,3.2vw,44px);white-space:nowrap}
.n span{color:var(--text-2);font-size:16px}
.dark .n span{color:var(--on-ink-2)}

/* home: brands I've worked with */
.brands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1140px;margin:0 auto}
.brands>div{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:14px;justify-items:center;align-items:start;text-align:center;min-width:0}
.brands>div>:first-child{align-self:center}
.brands img{height:96px;width:200px;object-fit:contain;max-width:100%}
.brands .more{display:grid;place-items:center;height:96px;font-weight:800;font-size:60px;line-height:1;letter-spacing:-.03em;color:var(--orange-dk)}
.brands p{color:var(--text-2);max-width:32ch;text-wrap:balance}
.brands .ulink{align-self:end}
@media (max-width:900px){.brands{grid-template-columns:1fr;gap:34px}.brands>div{grid-row:auto;grid-template-rows:none;row-gap:10px}.brands img{height:72px}.brands .more{height:72px;font-size:52px}}

/* home: what I can do */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 36px}
.svc a{display:grid;gap:14px;align-content:start;justify-items:center;text-align:center;min-width:0}
.svc img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r)}
.svc h3{transition:color .2s}
.svc a:hover h3{color:var(--orange-dk)}
.svc p{color:var(--text-2);max-width:46ch;text-wrap:balance}
@media (max-width:760px){.svc{grid-template-columns:1fr;gap:36px}}

/* home: founder band */
.founder{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);max-width:1080px}
.founder img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 30%;border-radius:12px}
.founder .txt{display:grid;gap:18px;justify-items:center;text-align:center}
.founder p{max-width:58ch;text-wrap:balance}
.founder h2{font-size:clamp(28px,3.2vw,42px)}
@media (max-width:860px){.founder{grid-template-columns:1fr;max-width:640px}}

/* home: LinkedIn posts */
.li-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto}
.li-posts a{display:grid;grid-template-rows:auto 1fr auto;gap:12px;justify-items:center;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:24px 22px;color:var(--ink);transition:border-color .2s,transform .2s}
.li-posts a:hover{border-color:var(--orange);transform:translateY(-2px)}
.li-posts .when{font-size:16px;font-weight:650;color:var(--text-2)}
.li-posts p{font-size:17px;line-height:1.55}
@media (max-width:900px){.li-posts{grid-template-columns:1fr;max-width:560px}}

/* CTA band */
.cta{text-align:center}
.cta .wrap{display:grid;gap:18px;justify-items:center}
.cta h2{max-width:22ch}
.reach{list-style:none;margin:6px auto 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:720px}
.reach a{display:grid;gap:4px;justify-items:center;text-align:center;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--text);min-width:0}
.reach a:hover{border-color:var(--orange)}
.reach b{font-weight:800}
.reach span{color:var(--text-2);white-space:nowrap}
@media (max-width:560px){.reach{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--ink);color:var(--on-ink);padding-block:48px 28px;text-align:center}
.foot .cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:36px}
.foot .cols>div{display:grid;gap:12px;justify-items:center;align-content:start}
.foot .brand{margin:0}
.foot .brand .mark{width:44px;height:44px}
.foot p{color:var(--on-ink-2);max-width:40ch;text-wrap:balance}
.foot ul{list-style:none;padding:0;display:grid;gap:10px}
.foot li{white-space:nowrap}
.foot ul a{color:var(--on-ink-2)}
.foot ul a:hover{color:var(--on-ink)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:36px;padding-top:20px;border-top:1px solid var(--line-ink);color:var(--on-ink-2);font-size:16px}
.foot-bottom a{color:var(--on-ink-2);text-decoration:underline;text-underline-offset:3px}
.foot-bottom a:hover{color:var(--on-ink)}
@media (max-width:960px){.foot .cols{grid-template-columns:1fr 1fr}.foot .cols>div:first-child{grid-column:1/-1}}
@media (max-width:560px){.foot .cols{grid-template-columns:1fr;gap:30px}}

/* numbers row on inner pages */
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;max-width:1080px;margin-inline:auto}
.nums.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.nums.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
.nums>*{display:grid;gap:8px;justify-items:center;align-content:start;padding:4px 16px;min-width:0;color:inherit}
.nums>*+*{border-left:1px solid var(--line)}
.nums b{font-weight:800;letter-spacing:-.03em;line-height:1;font-size:clamp(36px,4vw,56px)}
.nums span{font-size:17px;color:var(--text-2);max-width:24ch;text-wrap:balance}
.nums a:hover b{color:var(--orange-dk)}
@media (max-width:900px){.nums.four{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.nums.four>:nth-child(3){border-left:0}}
@media (max-width:700px){.nums:not(.four){grid-template-columns:1fr}.nums:not(.four)>*+*{border-left:0;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.nums.four>*{padding-inline:8px}}

/* about */
.page-hero .about-top{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:48px;max-width:1080px}
.about-top>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.about-top .txt{display:grid;gap:18px;justify-items:center}
.about-top h1{max-width:none}
@media (max-width:760px){.page-hero .about-top{grid-template-columns:1fr;gap:22px}.about-top>img{max-width:280px;aspect-ratio:1}}
.values{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;max-width:960px;margin:0 auto;border-top:1px solid var(--line)}
.values>div{display:grid;gap:8px;justify-items:center;align-content:start;text-align:center;padding-block:20px;border-bottom:1px solid var(--line)}
.values p{color:var(--text-2);max-width:40ch;text-wrap:balance}
@media (max-width:700px){.values{grid-template-columns:1fr}}

/* about: swipe timeline */
.tl-sec{overflow:hidden}
.tl-wrap{position:relative;max-width:1180px;margin:0 auto}
.tl-track{list-style:none;margin:0;padding:4px 4px 16px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,290px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}
.tl-card{scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr;align-content:start}
.tl-top{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,var(--ink),var(--ink-2));overflow:hidden;border-radius:12px}
.tl-top img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.tl-top img.contain{object-fit:contain;background:#000;padding:18px 18px 62px}
.tl-top.pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,rgba(8,14,30,0),rgba(8,14,30,.78))}
.tl-mark{position:relative;z-index:1;font-weight:800;letter-spacing:-.03em;line-height:1;font-size:clamp(42px,4vw,50px);color:var(--orange)}
.tl-top.pic .tl-mark{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#fff;font-size:clamp(34px,3.2vw,42px);text-shadow:0 2px 14px rgba(0,0,0,.55)}
.tl-txt{display:grid;gap:8px;align-content:start;justify-items:center;text-align:center;padding:16px 8px 0}
.tl-txt h3{font-size:21px}
.tl-txt p{color:var(--text-2);text-wrap:balance}
.tl-btn{position:absolute;top:30%;z-index:2;width:48px;height:48px;border-radius:50%;border:0;background:var(--orange);color:var(--ink);font:800 22px/1 var(--font);cursor:pointer;box-shadow:0 6px 18px rgba(19,33,61,.25)}
.tl-btn.prev{left:-6px}.tl-btn.next{right:-6px}
.tl-btn:disabled{opacity:0;pointer-events:none}
@media (max-width:700px){.tl-track{grid-auto-columns:80%}.tl-btn{display:none}}

/* logo tiles, 7 across, always centred */
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:1120px;margin:0 auto}
.logos .t{flex:0 0 calc((100% - 84px)/7);display:grid;place-items:center;height:104px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--white);overflow:hidden}
.logos .t.dk{background:#000;border-color:#000;padding:6px}
.logos .t img{width:auto;height:auto;max-width:100%;max-height:72px;object-fit:contain}
.logos .t.dk img{max-height:92px}
.logos .t img[src$=".svg"]{width:100%;height:36px;max-height:36px}
@media (max-width:1000px){.logos .t{flex-basis:calc((100% - 42px)/4)}}
@media (max-width:600px){.logos{gap:10px}.logos .t{flex-basis:calc((100% - 20px)/3);height:88px;padding:10px}.logos .t img[src$=".svg"]{height:28px}}

/* services blocks */
.svc2{background:var(--white);scroll-margin-top:74px}
.svc2.flip{background:var(--paper)}
.svc2-head{display:grid;gap:10px;justify-items:center;text-align:center;margin:0 auto 26px;max-width:800px}
.svc2-head .who{font-size:clamp(19px,1.6vw,21px);color:var(--text-2);text-wrap:balance}
.svc2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;max-width:1080px;margin:0 auto;align-items:stretch}
.svc2.flip .svc2-pic{order:2}
.svc2-pic{position:relative;border-radius:12px;overflow:hidden;background:#000;min-height:400px}
.svc2-pic img,.svc2-pic video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc2-pic img[src*="great-wall"]{object-position:center 70%}
.svc2-pic img[src*="nt-closer"]{object-position:center 45%}
.svc2-pic img[src*="uyuni"]{object-position:center 60%}
.hero>img[src*="max-llama-wide"]{object-position:center 35%}
.svc2-card{display:grid;gap:18px;align-content:center;justify-items:center;text-align:center;padding:32px 30px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.svc2.flip .svc2-card{background:var(--white)}
.svc2-card>p{color:var(--text-2);max-width:46ch;text-wrap:balance}
.ticks{list-style:none;margin:0;padding:0;width:100%;max-width:460px;border-top:1px solid var(--line)}
.ticks li{padding:11px 4px;border-bottom:1px solid var(--line);font-weight:550;color:var(--ink);text-wrap:balance}
.proof{display:grid;gap:4px;justify-items:center;text-align:center;color:inherit}
.proof b{font-weight:800;letter-spacing:-.025em;line-height:1;font-size:clamp(38px,4vw,54px);color:var(--ink);white-space:nowrap}
.proof b.word{font-size:min(clamp(24px,2.4vw,32px),calc((100vw - 78px) / 12.6));line-height:1.1}
@media (max-width:359px){.proof b{font-size:32px}}
.proof span{color:var(--text-2)}
a.proof:hover b{color:var(--orange-dk)}
@media (max-width:860px){.svc2-grid{grid-template-columns:1fr;max-width:600px}.svc2.flip .svc2-pic{order:0}.svc2-pic{min-height:0;aspect-ratio:4/3}.svc2-card{padding:26px 18px}}
.work{max-width:1080px;margin:28px auto 0;display:grid;gap:14px}
.work h3{text-align:center}
.work-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.work-row a{display:grid;gap:10px;justify-items:center;align-content:start;text-align:center;font-weight:650;color:var(--ink);min-width:0}
.work-row img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:10px;transition:transform .2s}
.work-row a:hover img{transform:translateY(-3px)}
@media (max-width:600px){.work-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}.work-row a{scroll-snap-align:center}}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.steps li{display:grid;gap:10px;justify-items:center;align-content:start;text-align:center}
.steps b{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);border-radius:var(--r);font-weight:800;font-size:20px;line-height:1}
.steps p{color:var(--text-2);max-width:34ch;text-wrap:balance}
.steps.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1120px;margin:0 auto}
.steps.four p{max-width:26ch}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1000px;margin:0 auto}
@media (max-width:760px){.steps.three{grid-template-columns:1fr;row-gap:24px}}
@media (max-width:900px){.steps.four{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:520px){.steps.four{grid-template-columns:1fr}}

/* plain Q and A, answers always open */
.qa{display:grid;border-top:1px solid var(--line);max-width:880px;margin:0 auto}
.qa>div{display:grid;gap:8px;justify-items:center;text-align:center;padding-block:18px;border-bottom:1px solid var(--line)}
.qa h3{font-size:clamp(20px,1.8vw,23px)}
.qa p{color:var(--text-2);max-width:66ch}
.faq-groups{display:grid;gap:32px;max-width:880px;margin:0 auto}
.faq-group{padding:0;scroll-margin-top:96px}
.faq-group h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px;text-align:center}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center;max-width:1120px}
.contact-side{display:grid;gap:24px;justify-items:center;text-align:center}
.me{display:grid;gap:10px;justify-items:center;text-align:center}
.me img{width:200px;height:200px;border-radius:16px;object-fit:cover}
@media (max-width:900px){.me img{width:120px;height:120px;border-radius:50%}}
.me p{display:grid;gap:2px}
.me span{color:var(--text-2)}
.direct{width:100%;border-top:1px solid var(--line)}
.direct>div{display:grid;gap:4px;justify-items:center;text-align:center;padding-block:16px;border-bottom:1px solid var(--line)}
.direct .k{color:var(--text-2);font-size:16px}
.direct .v{font-weight:800;font-size:clamp(20px,2vw,23px);line-height:1.3;color:var(--ink);overflow-wrap:anywhere;user-select:all}
.direct a.v:hover{color:var(--orange-dk)}
.copy{font:650 16px var(--font);background:var(--white);border:1px solid var(--line);color:var(--text);border-radius:var(--r);padding:8px 14px;margin-top:6px;cursor:pointer}
.copy:hover{border-color:var(--ink)}
.form{display:grid;gap:20px;min-width:0}
.form.card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:clamp(22px,3vw,34px)}
.form>h2{text-align:center}
.field{display:grid;gap:8px;min-width:0}
.field label,.field legend{font-weight:700;font-size:17px;text-align:center}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{width:100%;padding:0;margin-bottom:8px}
.form input,.form select,.form textarea{font:inherit;font-size:17px;width:100%;padding:15px 16px;border:1px solid #c5d1e0;border-radius:var(--r);background:var(--white);color:var(--text)}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);outline:none}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opts label:first-child{grid-column:1/-1}
@media (max-width:560px){.opts{grid-template-columns:1fr}}
.opts label{font-weight:500;font-size:17px;border:1px solid #c5d1e0;border-radius:var(--r);padding:12px 14px;cursor:pointer;display:flex;gap:10px;align-items:center;justify-content:center;text-align:center}
.opts input{width:auto;accent-color:var(--orange);margin:0}
.opts label:has(input:checked){border-color:var(--ink)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:560px){.pair{grid-template-columns:1fr}}
.hp{position:absolute;left:-5000px}
.sent{text-align:center;border-top:3px solid var(--orange);padding-top:12px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:32px;max-width:640px}}

/* results */
.featured{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;max-width:1080px}
.featured>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.featured .txt{display:grid;gap:20px;justify-items:center;text-align:center}
.featured h2{font-size:clamp(28px,3vw,40px)}
.featured .n b{font-size:clamp(30px,2.8vw,38px)}
@media (max-width:860px){.featured{grid-template-columns:1fr;gap:26px;max-width:600px}.featured>img{aspect-ratio:4/3}}
.casegrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 auto}
.casegrid>a{grid-column:span 2;display:grid;grid-template-rows:auto 1fr;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:var(--ink);transition:border-color .2s,transform .2s}
.casegrid>a:nth-child(-n+2){grid-column:span 3}
.casegrid>a:hover{border-color:var(--orange);transform:translateY(-2px)}
.casegrid>a>img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 30%;background:#000}
.casegrid>a:nth-child(-n+2)>img{aspect-ratio:16/9}
.casegrid img.contain{object-fit:contain;padding:22px}
.casegrid img.low{object-position:center bottom}
.casegrid img.ptop{object-position:center top}
.c-in{display:grid;grid-template-rows:auto 1fr auto;gap:14px;justify-items:center;text-align:center;padding:22px 20px 24px}
.c-in .n{gap:10px 24px}
.c-in .n b{font-size:clamp(24px,2.2vw,30px)}
@media (max-width:900px){.casegrid{grid-template-columns:1fr 1fr}.casegrid>a,.casegrid>a:nth-child(-n+2){grid-column:span 1}.casegrid>a:nth-child(-n+2)>img{aspect-ratio:4/3}.casegrid>a:last-child{grid-column:1/-1}.casegrid>a:last-child>img{aspect-ratio:16/9}}
@media (max-width:600px){.casegrid{grid-template-columns:1fr}.casegrid>a:last-child{grid-column:auto}.casegrid>a:last-child>img{aspect-ratio:4/3}}
.mw{display:grid;gap:16px;max-width:1120px;margin:0 auto}
.mw-row{display:grid;gap:16px;width:100%;max-width:1120px;margin:0 auto}
.mw-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mw-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mw-card{display:grid;gap:12px;align-content:start;justify-items:center;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px 22px 24px;scroll-margin-top:90px;min-width:0}
.mw-row.three .mw-card{align-content:center}
.mw-card p{color:var(--text-2);text-wrap:balance}
.mw-pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;margin-bottom:4px}
.mw-pics img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:6px}
@media (max-width:900px){.mw-row.three{grid-template-columns:1fr}}
@media (max-width:700px){.mw-row.two{grid-template-columns:1fr}}

/* case pages */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1120px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts>div{display:grid;gap:4px;align-content:start;justify-items:center;text-align:center;padding:14px;min-width:0}
.facts>div+div{border-left:1px solid var(--line)}
.facts dt{font-size:16px;font-weight:700;color:var(--text-2)}
.facts dd{margin:0;font-weight:600}
.facts dd a{color:var(--orange-dk);border-bottom:2px solid currentColor}
@media (max-width:860px){.facts{grid-template-columns:1fr 1fr;border-bottom:0}.facts>div{border-bottom:1px solid var(--line)}.facts>div+div{border-left:0}.facts>div:nth-child(even){border-left:1px solid var(--line)}.facts>div:last-child:nth-child(odd){grid-column:1/-1}}
.tldr{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px 26px;display:grid;gap:12px;justify-items:center;text-align:center}
.tldr ul{list-style:none;padding:0;display:grid;gap:8px;color:var(--text-2)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;max-width:1080px}
@media (max-width:860px){.two-col{grid-template-columns:1fr;gap:26px;max-width:640px}}
.prose{display:grid;gap:16px;justify-items:center;text-align:center;min-width:0}
.prose p,.prose li{color:var(--text-2)}
.prose ul{list-style:none;padding:0;display:grid;gap:8px}
.two-col .prose h2,.wrap.prose h2{font-size:clamp(26px,2.8vw,36px)}
.two-col .prose h2+p{margin-top:-4px}
.framed{width:100%;max-width:440px;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.framed-video{width:100%;max-width:440px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#000}
.framed-video video{width:100%;height:100%;object-fit:cover}
.logo-sm{width:96px;height:96px;border-radius:50%}
.logo-md{width:200px;height:auto}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:1180px;margin:0 auto}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
@media (max-width:860px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.center-block{display:grid;gap:14px;justify-items:center;text-align:center;max-width:760px;margin:0 auto}
.center-block p{color:var(--text-2);max-width:58ch;text-wrap:balance}

/* videos */
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto}
.reels.four{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
.reel{display:grid;gap:12px;justify-items:center;align-content:start;min-width:0}
.reel iframe{width:100%;max-width:400px;height:680px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.reel-ph{width:100%;max-width:340px;aspect-ratio:4/5;display:grid;place-content:center;justify-items:center;gap:14px;padding:24px;border-radius:12px;background:linear-gradient(160deg,var(--ink),var(--ink-2));text-align:center}
.reel-ph img{width:64px;height:64px;border-radius:50%}
.reel-ph p{max-width:18ch;color:var(--on-ink-2)}
@media (max-width:900px){
  .reels,.reels.four{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
  .reel{scroll-snap-align:center}
  .reel iframe{height:640px}
}
.casegrid img.mid{object-position:center 52%}
.tldr.wide{max-width:1180px;margin:0 auto}
@media (min-width:861px){.tldr.wide ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.nowrap-d{white-space:nowrap}h1.mega.h1-long{font-size:clamp(40px,3.9vw,58px)}}
.two-col>.tldr{align-self:center}
.framed,.framed-video{max-width:500px}
@media (min-width:861px){.reels.four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1180px}}
.prose .nums.two{width:100%;margin-top:6px}
.page-hero h1:has(.nowrap-d){max-width:none}
.mw-pics.one{display:block;width:100%}
.mw-pics.one img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.mw-pics.one img.ptop{object-position:center 62%}
.tl-top img.tl-shot{object-fit:cover;object-position:left top;background:#fff}
/* phone: swipe rows (Max, 5 Nov) */
@media (max-width:700px){
  .built,.brands,.li-posts,.casegrid,.mw{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:14px;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;align-items:stretch}
  .built>*,.brands>*,.li-posts>*,.casegrid>*,.mw-card{scroll-snap-align:center;min-width:0}
  .mw-row,.mw-row.two,.mw-row.three{display:contents}
  .casegrid>a,.casegrid>a:nth-child(-n+2),.casegrid>a:last-child{grid-column:auto}
  .casegrid>a>img,.casegrid>a:nth-child(-n+2)>img,.casegrid>a:last-child>img{aspect-ratio:4/3}
  .brands>div{grid-row:auto;grid-template-rows:auto auto 1fr auto;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px 18px}
  section.light .brands>div{background:var(--white)}
  .svc{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .svc p{font-size:15px}
  .svc h3{font-size:18px}
}
.foot .fl{display:none}
@media (max-width:560px){
  .foot .cols{grid-template-columns:1fr 1fr;gap:28px 12px}
  .foot .cols>div:first-child{grid-column:1/-1}
  .foot li{white-space:normal;text-wrap:balance}
  .foot .fl{display:inline}.foot .fv{display:none}
  .foot-bottom{flex-wrap:nowrap;gap:14px;font-size:14px;white-space:nowrap}
}
@media (max-width:380px){.foot-bottom{flex-wrap:wrap;row-gap:8px}.foot-bottom>span:first-child{flex-basis:100%;text-align:center}}
@media (max-width:600px){.logos .t.dk{padding:8px}.logos .t.dk img{max-height:100%;max-width:100%}}
.logos .t img[src*="ninjatab"]{height:100%;width:auto;max-height:100%}.logos .t:has(img[src*="ninjatab"]){padding:10px}
.logos .t{flex-basis:calc((100% - 112px)/9)}
.logos .t img[src*="statmate"],.logos .t img[src*="kma"]{max-height:80px}
@media (max-width:1000px){.logos .t{flex-basis:calc((100% - 28px)/3)}}
@media (max-width:600px){.logos .t{flex-basis:calc((100% - 20px)/3)}}
.hero h1.h2l{max-width:none}
.hero h1.h2l span{display:block;white-space:nowrap}
.hero .est{color:#fff;font-weight:600;font-size:18px;text-shadow:0 1px 12px rgba(8,14,30,.7);margin-top:-6px}
@media (max-width:760px){.hero h1.h2l{font-size:min(34px,calc((100vw - 36px) / 11.6))}}
.hero .est{font-weight:500;font-size:clamp(19px,1.6vw,22px);text-shadow:0 1px 3px rgba(0,0,0,.85),0 1px 12px rgba(8,14,30,.8)}
