
:root{--ink:#131313;--off:#F2F1EE;--line:#DEDAD2;--rust:#B3703F;--ochre:#C9A876}
*{box-sizing:border-box;margin:0}body{font-family:'Josefin Sans',sans-serif;background:var(--off);color:var(--ink);font-size:17px;line-height:1.5}
h1,h2,h3{font-family:'Archivo Black';font-weight:400;line-height:1.02}.mono{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
nav{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px 48px;color:#fff}
nav b{font-weight:400}nav span{margin-left:28px;font-size:14px}.btn{display:inline-block;padding:13px 22px;border:1px solid currentColor;font-size:14px}.btn.f{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.w{background:#fff;color:var(--ink);border-color:#fff}
.slot{position:relative;overflow:hidden;background:linear-gradient(135deg,#2a2a2a,#454545);color:#fff}
.slot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tag{position:absolute;left:14px;top:14px;z-index:4;background:var(--ochre);color:var(--ink);padding:4px 8px;font-family:'Space Mono';font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.slot .lab{position:absolute;left:14px;bottom:12px;z-index:3;font-family:'Space Mono';font-size:10px;opacity:.75;max-width:80%}
.shade:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.6));z-index:1}
.over{position:absolute;z-index:3}
section{position:relative}
.hero{height:100vh;min-height:720px}.hero .over{left:48px;right:48px;bottom:96px;color:#fff}.hero h1{font-size:clamp(32px,3.7vw,58px);max-width:820px}.hero .over>p.mono{max-width:none;margin:0 0 16px;font-size:13px}
.hero p{max-width:560px;margin:22px 0 28px;font-size:20px}
.reel{position:absolute;right:48px;bottom:96px;z-index:3;color:#fff;display:flex;align-items:center;gap:14px}.reel i{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--ink);font-style:normal}
.logos{background:var(--ink);color:#fff;display:flex;gap:56px;padding:22px 48px;overflow:hidden;white-space:nowrap;font-family:'Archivo Black';font-size:22px;opacity:.9}.logos span{opacity:.7}
.stats{display:grid;grid-template-columns:repeat(3,1fr)}.stats .slot{height:440px}.stats .over{left:32px;right:32px;bottom:30px}.stats b{font-family:'Archivo Black';font-weight:400;font-size:84px;display:block;line-height:1}.stats p{max-width:300px}
.wrap{padding:96px 48px}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:36px}.head h2{font-size:56px;max-width:760px}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:16px}
.bento .slot{border-radius:6px}.bento .over{left:22px;right:22px;bottom:20px}.bento h3{font-size:28px}.b1{grid-column:span 8;grid-row:span 2}.b2{grid-column:span 4;grid-row:span 2}.b3{grid-column:span 4}.b4{grid-column:span 4}.b5{grid-column:span 4}.b6{grid-column:span 12;grid-row:span 1}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.svc .slot{height:620px}.svc .over{left:32px;right:32px;bottom:32px}.svc h3{font-size:40px;margin:8px 0 10px}.svc p{max-width:340px}
.strip{display:flex;gap:16px;overflow:hidden;padding:0 0 96px}.strip .slot{flex:0 0 360px;height:460px;border-radius:6px}.strip .slot:nth-child(even){margin-top:48px}
.proc{background:var(--ink);color:#fff;padding:96px 48px}.proc .row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.proc .slot{height:300px;background:#1d1d1d;border:1px solid #333}.proc h3{font-size:24px;margin:16px 0 6px}
.quote{height:640px}.quote .over{left:48px;right:48px;top:50%;transform:translateY(-50%)}.quote blockquote{font-family:'Archivo Black';font-size:44px;line-height:1.1;max-width:1000px}
.about{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}.about .slot{height:620px;border-radius:6px}
.cta{height:620px}.cta .over{left:48px;bottom:64px;color:#fff}.cta h2{font-size:84px;max-width:900px;margin-bottom:24px}
.note{position:fixed;right:16px;bottom:16px;z-index:50;background:#fff;border:1px solid var(--line);padding:10px 14px;font-size:12px;max-width:260px}
@media(max-width:900px){.stats,.svc,.about,.proc .row{grid-template-columns:1fr}.bento{grid-template-columns:1fr}.bento .slot{grid-column:auto!important;grid-row:auto!important;height:300px}.hero h1{font-size:34px}}
.foot{background:#131313;color:#F2F1EE;padding:64px 48px 0}.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;max-width:1300px;margin:0 auto}.foot h4{font-family:'Archivo Black';font-weight:400;font-size:28px;margin:0 0 10px}.foot p.d{color:#bdbab3;max-width:320px}.foot h6{font-family:'Space Mono';font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#C9A876;margin:6px 0 14px}.foot a{display:block;margin:0 0 12px;font-size:18px;color:#F2F1EE}.foot .c a{color:#C9A876}.foot .bar{max-width:1300px;margin:48px auto 0;border-top:1px solid #333;padding:22px 0;display:flex;justify-content:space-between;color:#a9a69f;font-size:14px}@media(max-width:900px){.foot .cols{grid-template-columns:1fr}}

/* Fixed proportions: tiles keep their shape at any width (aspect-ratio instead of fixed heights; bento/content capped on wide screens) */
.hero{height:min(100vh,max(640px,56.25vw));min-height:640px}
.wrap,.proc{padding-left:max(48px,calc((100vw - 1344px)/2));padding-right:max(48px,calc((100vw - 1344px)/2))}
.stats .slot{height:auto;aspect-ratio:11/10}
.bento{container-type:inline-size;grid-auto-rows:19.35cqw}
.svc .slot{height:auto;aspect-ratio:12/15.5}
.proc .slot{height:auto;aspect-ratio:13/12}
.quote{height:auto;aspect-ratio:2.25;min-height:480px}
.about .slot{height:auto;aspect-ratio:7/8}
.cta{height:auto;aspect-ratio:2.3;min-height:520px}
@media(max-width:900px){
.stats .slot,.svc .slot{aspect-ratio:16/10}.about .slot{aspect-ratio:16/10}
.bento{container-type:normal;grid-auto-rows:auto}.bento .slot{height:auto!important;aspect-ratio:16/10}
.proc .slot{aspect-ratio:16/10}.quote{aspect-ratio:auto;min-height:560px}.cta{aspect-ratio:auto;min-height:520px}
}
@media(max-width:560px){.stats .slot,.svc .slot,.about .slot{aspect-ratio:4/5}.bento .slot{aspect-ratio:4/3}.proc .slot{aspect-ratio:4/3}}
/* review mode: internal notes hidden (asset-code tags, preview note, labels) */
.tag,.note,.slot .lab{display:none!important}
/* media sits in the upper area of the card; text has clear space below */
.svc .slot video{inset:auto;top:0;left:0;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent);mask-image:linear-gradient(to bottom,#000 78%,transparent)}
.svc .slot{background:#101114!important}
.svc .slot:nth-child(2){background:#2e2e2e!important}
.bento .slot video[src*="H07"],.bento .slot video[src*="H08"]{inset:auto;top:4%;left:50%;transform:translateX(-50%);height:76%;width:auto;aspect-ratio:3/4;object-fit:cover;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);mask-composite:intersect}
.bento .b3{background:#141a28}.bento .b4{background:#0e0e0e}
.svc .slot img{position:absolute;inset:auto;top:0;left:0;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:left center;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent);mask-image:linear-gradient(to bottom,#000 78%,transparent)}
.bento .b3,.bento .b4,.bento .b5{grid-row:span 2}
.bento .slot video[src*="H07"],.bento .slot video[src*="H08"]{top:3%;height:74%}
@media(max-width:900px){.bento .b3,.bento .b4{aspect-ratio:4/5!important}}
/* archive strip: centred within the page margins, never touching the screen edge */
.strip{justify-content:center;overflow:visible;padding:0 max(48px,calc((100vw - 1344px)/2)) 96px}
.strip .slot{flex:1 1 0;min-width:0;height:auto;aspect-ratio:4/5.4}
@media(max-width:900px){.strip{justify-content:flex-start;overflow-x:auto;padding:0 24px 72px;scroll-padding:0 24px}.strip .slot{flex:0 0 68vw;aspect-ratio:4/5.4}.strip::after{content:"";flex:0 0 8px}}
/* quote: top-left, clear of the people in the photo */
.quote .over{top:max(56px,7%);bottom:auto;transform:none;left:max(48px,calc((100vw - 1344px)/2));right:48px}

/* stat row: shared bottom gradient so text sits on a clean base on all three cards */
.stats .slot.shade:after{background:linear-gradient(180deg,rgba(11,11,13,0) 22%,rgba(11,11,13,.38) 55%,rgba(11,11,13,.6) 85%)}

/* LOAM card: portrait phone mock-ups built for this placement */
.bento .b3 .phones{position:absolute;left:0;right:0;top:0;height:70%;-webkit-mask-image:linear-gradient(to bottom,#000 82%,transparent);mask-image:linear-gradient(to bottom,#000 82%,transparent)}
.phones .ph{position:absolute;top:7%;height:84%;width:auto;aspect-ratio:828/1792;border-radius:clamp(14px,2.2cqw,26px);border:5px solid #0a0a0c;outline:1px solid #34394a;box-shadow:0 24px 50px rgba(0,0,0,.55);object-fit:cover}
.phones .p1{left:8%;top:14%;height:78%;opacity:.9}
.phones .p3{left:50%;transform:translateX(-50%);top:3%;height:84%;display:none}
.phones .p2{right:10%;top:5%;height:88%}

/* services: graphic card shows packaging; digital card is plain black with the app loop fully inside the space above the text */
.svc .slot:nth-child(1) img{object-position:50% 50%;-webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent);mask-image:linear-gradient(to bottom,#000 86%,transparent)}
.svc .slot:nth-child(3){background:#121212!important}
.svc .slot:nth-child(3):after{display:none}
.svc .slot:nth-child(3) video{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 0;-webkit-mask-image:none;mask-image:none}

/* LOAM card: single phone scrolling the whole LOAM homepage, fills the card */
.bento .b3{background:#121212!important}
.bento .b3:after{display:none}
.bento .b3 video{position:absolute;inset:0;top:0;left:0;transform:none;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 0;-webkit-mask-image:none;mask-image:none}

/* ---- live page additions ---- */
.cover{position:absolute;inset:0;z-index:4}
a.btn{text-decoration:none;color:inherit}a.btn.w{color:var(--ink)}a.btn.f{color:#fff}
nav .logo{font-family:'Archivo Black';font-size:18px;color:#fff;text-decoration:none}
nav div a{margin-left:28px;font-size:14px;color:#fff;text-decoration:none}
nav div a.btn{padding:13px 22px;margin-left:28px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;position:relative}
.nav-toggle i{position:absolute;left:10px;right:10px;height:2px;background:#fff}.nav-toggle i:first-child{top:17px}.nav-toggle i:last-child{top:25px}
.foot a{text-decoration:none;color:inherit}
@media(max-width:760px){
  nav{padding:14px 20px;flex-wrap:wrap}
  .nav-toggle{display:block}
  nav #home-menu{display:none;flex-basis:100%;flex-direction:column;align-items:flex-start;gap:0;background:rgba(19,19,19,.92);margin:10px -20px 0;padding:8px 20px 18px}
  nav.open #home-menu{display:flex}
  nav div a,nav div a.btn{margin-left:0;padding:12px 0;font-size:16px}
  nav div a.btn{margin-top:8px;padding:13px 22px;align-self:flex-start}
}
a.slot,.slot a{color:inherit}

.foot .bar a{display:inline;font-size:inherit;margin:0;color:inherit}
@media(max-width:700px){
  html,body{overflow-x:hidden}
  .hero{min-height:740px}
  .hero .over{left:20px!important;right:20px!important;bottom:36px!important;top:auto!important}
  .hero h1{font-size:30px!important}
  .hero .over>p.mono{font-size:11px!important;letter-spacing:.1em}
  .logos{flex-wrap:wrap!important;justify-content:center!important;gap:20px 28px!important;padding:24px 20px!important}
  .wrap{padding-left:20px!important;padding-right:20px!important}
  h2{font-size:clamp(28px,8.4vw,40px)!important}
  .head{flex-wrap:wrap;gap:20px}
  .stats{grid-template-columns:repeat(3,1fr)!important}
  .stats .slot{aspect-ratio:3/3.9!important}
  .stats .over{left:9px!important;right:7px!important;bottom:11px!important}
  .stats b{font-size:clamp(20px,6vw,26px)!important;letter-spacing:-.01em}
  .stats p{font-size:11px!important;line-height:1.28!important;margin:5px 0 0!important;max-width:none!important}
  .stats .slot:nth-child(2)>img{left:6%!important;top:7%!important;width:88%!important}
  .bento h3{font-size:24px}
  .svc .slot{aspect-ratio:4/5.4!important}
  .svc h3{font-size:30px!important}
  .svc .slot:nth-child(3) video{height:60%!important;object-fit:contain!important}
  .proc{padding:64px 20px}
  .quote{aspect-ratio:auto!important;min-height:0!important;padding:72px 20px 56px}
  .quote .over{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important}
  .quote blockquote{font-size:24px!important;line-height:1.2!important}
  .quote>img{position:absolute!important}
  .about{gap:28px}
  .cta{aspect-ratio:auto!important;min-height:560px!important}
  .cta .over{left:20px!important;right:20px!important;bottom:40px!important}
  .cta h2{font-size:34px!important}
  body{font-size:15px;line-height:1.45}
  .hero{min-height:620px}
  .hero h1{font-size:26px!important}
  .hero p{font-size:16px!important;margin:14px 0 18px!important}
  .hero .over{bottom:28px!important}
  .btn{padding:10px 16px!important;font-size:13px!important}
  .logos{gap:12px 22px!important;padding:16px 20px!important}
  .wrap{padding-top:40px!important;padding-bottom:40px!important}
  .head{margin-bottom:18px!important;gap:12px!important}
  h2{font-size:clamp(24px,7vw,30px)!important}
  .bento{gap:10px!important}
  .bento .slot{aspect-ratio:16/11!important}
  .bento .b3,.bento .b4{aspect-ratio:4/4.4!important}
  .bento{grid-template-columns:1fr 1fr!important}
  .bento .b1,.bento .b2,.bento .b5,.bento .b6{grid-column:1/-1!important}
  .bento .b3,.bento .b4{grid-column:auto!important;aspect-ratio:3/4!important}
  .bento .b3 .over,.bento .b4 .over{left:10px!important;right:8px!important;bottom:10px!important}
  .bento .b3 h3,.bento .b4 h3{font-size:14px!important;line-height:1.1!important}
  .bento .b3 .mono,.bento .b4 .mono{font-size:9px!important}
  .bento .over{left:14px!important;right:14px!important;bottom:14px!important}
  .bento h3{font-size:18px!important}
  .svc .slot{aspect-ratio:1/1.08!important}
  .svc .over{left:16px!important;right:16px!important;bottom:18px!important}
  .svc h3{font-size:22px!important;margin:4px 0 6px!important}
  .svc p{font-size:14px!important;line-height:1.35!important}
  .proc{padding:36px 20px!important}
  .proc .row{grid-template-columns:1fr 1fr!important;gap:12px 10px!important;margin-top:20px!important}
  .proc .slot{aspect-ratio:1/1!important}
  .proc h3{font-size:15px!important;margin:8px 0 3px!important}
  .proc p{font-size:12px!important;line-height:1.35!important}
  .quote{padding:40px 20px 32px!important}
  .quote blockquote{font-size:19px!important}
  .about{display:grid!important;grid-template-columns:112px 1fr!important;column-gap:14px!important;row-gap:0!important;align-items:start!important}
  .about>div:last-child{display:contents!important}
  .about .slot{grid-column:1;grid-row:1/span 3;width:112px!important;height:100%!important;min-height:140px;max-height:170px;aspect-ratio:auto!important;border-radius:12px!important;margin:0}
  .about .slot img{object-position:50% 30%!important}
  .about .mono{grid-column:2;grid-row:1;font-size:10px!important;align-self:end}
  .about h2{grid-column:2;grid-row:2;font-size:20px!important;margin:2px 0 6px!important}
  .about>div:last-child>p:nth-of-type(2){grid-column:2;grid-row:3;font-size:13px!important;line-height:1.4!important;margin:0 0 12px!important}
  .about p[style*="flex"]{grid-column:1/-1;gap:6px!important;margin:6px 0 14px!important}
  .about p[style*="flex"] span{font-size:11px!important;padding:5px 8px!important}
  .about .btn{grid-column:1/-1;justify-self:start}
  .cta{min-height:380px!important}
  .cta h2{font-size:28px!important;margin-bottom:14px!important}
  .cta .over{bottom:28px!important}
  .foot a{font-size:14px!important;margin:0 0 8px!important}
  .foot .bar a{font-size:inherit!important;margin:0!important}
  .foot h4{font-size:22px!important}
  .foot p.d{font-size:13px!important}
  .foot h6{margin:0 0 8px!important}
  .foot .bar{font-size:12px!important;margin-top:28px!important;padding:16px 0!important}
  .foot{padding:36px 20px 0}.foot .cols{grid-template-columns:1fr 1fr!important;gap:28px}
}
