
@font-face{font-family:"Clash Display";src:url("../fonts/clash-display-600.woff2") format("woff2");font-weight:600;font-display:swap;}
@font-face{font-family:"Clash Display";src:url("../fonts/clash-display-700.woff2") format("woff2");font-weight:700;font-display:swap;}
@font-face{font-family:"Inter";src:url("../fonts/inter-400.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"Inter";src:url("../fonts/inter-500.woff2") format("woff2");font-weight:500;font-display:swap;}
@font-face{font-family:"Inter";src:url("../fonts/inter-600.woff2") format("woff2");font-weight:600;font-display:swap;}
@font-face{font-family:"JetBrains Mono";src:url("../fonts/jetbrains-mono-400.woff2") format("woff2");font-weight:400;font-display:swap;}

:root{
  --teal:#03A6A6; --teal-deep:#036E6E; --yellow:#F9D423;
  --ink:#0E1413; --paper:#F2F3F0; --grey:#6A6F6D; --white:#FFFFFF;
  --line-d:rgba(255,255,255,.14); --line-l:rgba(14,20,19,.12);
  --lean:-13deg;
  --cut:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);
  --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px; --s-16:64px; --s-24:96px;
  --sect:clamp(88px,10vw,144px);
  --nav-h:72px;
  --disp:"Clash Display","Aeonik","Helvetica Neue",system-ui,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;-webkit-font-smoothing:antialiased;}
img,svg{display:block;max-width:100%;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}
::selection{background:var(--yellow);color:var(--ink);}
.wrap{width:min(1160px,100% - clamp(40px,8vw,96px));margin-inline:auto;}
section{scroll-margin-top:calc(var(--nav-h) + 8px);}

.eck-display-xl{font-family:var(--disp);font-weight:700;font-size:clamp(44px,5.9vw,76px);line-height:.98;letter-spacing:-.035em;text-wrap:balance;}
.eck-display-l{font-family:var(--disp);font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.02;letter-spacing:-.02em;text-wrap:balance;}
.eck-lead{font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.9vw,18.5px);line-height:1.6;}
.eck-body{font-size:16.5px;line-height:1.6;color:var(--grey);}
.eck-eyebrow{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--teal-deep);}
.eck-meta{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-deep);}

.eck-lean{display:inline-block;transform:skewX(var(--lean));color:var(--yellow);}
.eck-lean>span{display:inline-block;}
.eck-bars{display:inline-flex;flex-direction:column;gap:4px;}
.eck-bars i{display:block;height:6px;background:var(--yellow);transform:skewX(var(--lean));}
.eck-bars i:nth-child(1){width:20px;}
.eck-bars i:nth-child(2){width:30px;}
.eck-bars i:nth-child(3){width:40px;}
.eck-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);display:inline-block;flex:none;}
.eck-dot--off{background:#b3541e;}
.eck-dot--build{background:var(--yellow);}

.eck-btn{position:relative;display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:16px;
  padding:15px 26px;border:none;cursor:pointer;text-decoration:none;white-space:nowrap;
  transform:skewX(var(--lean));transition:transform .18s ease,background .18s ease,color .18s ease;}
.eck-btn>*{transform:skewX(calc(-1 * var(--lean)));}
.eck-btn--primary{background:var(--yellow);color:var(--ink);}
.eck-btn--primary:hover{background:var(--white);color:var(--ink);transform:skewX(var(--lean)) translateX(6px);}
.eck-btn--ghost{background:transparent;border:1.5px solid currentColor;color:var(--paper);}
.eck-btn--ghost:hover{background:var(--paper);color:var(--ink);transform:skewX(var(--lean)) translateX(6px);}
.eck-btn--ghost.on-light{color:var(--ink);}
.eck-btn--ghost.on-light:hover{background:var(--ink);color:var(--paper);}
.eck-btn svg{width:17px;height:17px;}

.js [data-reveal]{opacity:0;transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.js [data-reveal].in{opacity:1;transform:none;}
.js [data-reveal="2"]{transition-delay:.12s;}
.js [data-reveal="3"]{transition-delay:.24s;}

.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);
  background:rgba(14,20,19,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-d);color:var(--white);}
.nav-inner{height:100%;display:flex;align-items:center;gap:var(--s-6);}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;}
.nav-brand svg{height:36px;width:auto;}
.nav-brand .eck-name{font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--white);}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,34px);}
.nav-links a{font-size:14.5px;font-weight:500;color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s ease;}
.nav-links a:hover{color:var(--yellow);}
.nav-links a[aria-current]{color:var(--yellow);}
.nav .eck-btn{font-size:15px;padding:12px 22px;margin-left:clamp(12px,2vw,28px);}
@media (max-width:860px){.nav-links{display:none;}}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:70;pointer-events:none;}
.progress i{display:block;height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:0 50%;}

.head{position:relative;background:var(--ink);color:var(--white);overflow:hidden;
  padding:calc(var(--nav-h) + clamp(64px,9vw,110px)) 0 clamp(96px,11vw,150px);
  clip-path:polygon(0 0,100% 0,100% calc(100% - clamp(32px,5vw,72px)),0 100%);}
.head--slim{padding:calc(var(--nav-h) + clamp(48px,6vw,80px)) 0 clamp(72px,8vw,110px);}
.head-glow{position:absolute;border-radius:50%;pointer-events:none;will-change:transform;}
.head-glow.g1{width:70vw;height:70vw;max-width:820px;max-height:820px;left:-16vw;top:-14vw;
  background:radial-gradient(circle,rgba(3,166,166,.38) 0%,rgba(3,166,166,.12) 42%,transparent 68%);
  animation:drift-a 36s ease-in-out infinite alternate;}
.head-glow.g2{width:44vw;height:44vw;max-width:520px;max-height:520px;right:-8vw;bottom:-16vw;
  background:radial-gradient(circle,rgba(249,212,35,.12) 0%,rgba(249,212,35,.04) 45%,transparent 70%);
  animation:drift-b 30s ease-in-out infinite alternate;}
@keyframes drift-a{from{transform:translate(0,0) scale(1);}to{transform:translate(8vw,5vw) scale(1.1);}}
@keyframes drift-b{from{transform:translate(0,0);}to{transform:translate(-6vw,-4vw) scale(1.12);}}
.head-inner{position:relative;z-index:1;max-width:820px;}
.head .head-count{display:block;margin-bottom:var(--s-4);color:rgba(255,255,255,.5);}
.head h1{margin-bottom:var(--s-6);}
.head .eck-lead{color:rgba(255,255,255,.72);max-width:58ch;margin-bottom:var(--s-8);}
.head .eck-lead strong{color:var(--white);font-weight:600;}
.head-legend{display:flex;flex-wrap:wrap;gap:clamp(16px,3vw,32px);align-items:center;}
.head-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.55);}
.head-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.55);}

.contact{padding:0 0 var(--sect);}
.cta-panel{background:var(--white);clip-path:var(--cut);padding:clamp(32px,5vw,56px);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center;}
@media (max-width:860px){.cta-panel{grid-template-columns:1fr;}}
.cta-panel .sect-head{margin-bottom:0;max-width:none;}
.cta-panel .sect-head .eck-eyebrow{display:block;margin-bottom:var(--s-4);}
.cta-panel .sect-head .eck-display-l{margin-bottom:var(--s-4);}
.cta-panel .sect-head .eck-body{margin-top:var(--s-4);max-width:52ch;}
.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;}
.cta-actions .eck-btn{margin-left:8px;}

.footer{background:var(--ink);color:var(--white);padding:var(--s-12) 0;}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-6);}
.footer-brand{display:flex;align-items:center;gap:12px;margin-right:auto;}
.footer-brand svg{height:30px;width:auto;}
.footer-brand span{font-family:var(--disp);font-weight:600;font-size:17px;}
.footer .eck-meta{color:rgba(255,255,255,.4);}
.footer .footer-link{text-decoration:none;transition:color .15s ease;}
.footer .footer-link:hover{color:var(--yellow);}

.latest{padding:var(--sect) 0 0;}
.featured{background:var(--white);clip-path:var(--cut);padding:clamp(28px,4.5vw,52px);
  display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4.5vw,64px);align-items:center;
  text-decoration:none;transition:transform .25s ease;}
.featured:hover{transform:translateY(-6px);}
@media (max-width:860px){.featured{grid-template-columns:1fr;}}
.featured-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);}
.featured-meta .status{margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-deep);}
.featured h2{margin-bottom:var(--s-4);}
.featured .one-liner{color:var(--grey);font-size:16px;line-height:1.6;max-width:56ch;margin-bottom:var(--s-6);}
.featured .read{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-deep);}
.featured-visual{display:grid;gap:var(--s-6);}
.featured-stat{border-top:3px solid var(--yellow);padding-top:var(--s-4);}
.featured-stat .num{font-family:var(--disp);font-weight:700;font-size:clamp(52px,5.5vw,80px);line-height:1;letter-spacing:-.02em;}
.featured-stat .lbl{font-size:14px;color:var(--grey);margin-top:6px;max-width:26ch;}

.thumb{background:var(--paper);border:1px solid var(--line-l);padding:8px;aspect-ratio:16/10;overflow:hidden;
  display:flex;align-items:center;justify-content:center;flex:none;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb.portrait img{object-fit:contain;}
.thumb span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--grey);}

.gallery{padding:var(--sect) 0 0;}
.gallery .sect-head{max-width:640px;margin-bottom:clamp(40px,5vw,64px);}
.gallery .sect-head .eck-eyebrow{display:block;margin-bottom:var(--s-4);}
.gallery .sect-head .eck-display-l{margin-bottom:var(--s-4);}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);}
@media (max-width:1000px){.card-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.card-grid{grid-template-columns:1fr;}}
.card{background:var(--white);clip-path:var(--cut);padding:var(--s-6) var(--s-6) var(--s-8);
  display:flex;flex-direction:column;gap:var(--s-4);text-decoration:none;transition:transform .25s ease;}
.card:hover{transform:translateY(-6px);}
.card-meta{display:flex;align-items:center;gap:10px;}
.card-meta .num{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-deep);}
.card-meta .status{margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-deep);}
.card-meta .status.off{color:#b3541e;}
.card .thumb{margin:calc(-1 * var(--s-2)) 0 var(--s-2);}
.card h3{font-family:var(--disp);font-weight:600;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;}
.card p{color:var(--grey);font-size:14.5px;line-height:1.55;flex:1;}
.card .read{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-deep);}

.rule{padding:var(--sect) 0;}
.rule-band{background:var(--teal);color:var(--ink);clip-path:var(--cut);
  padding:clamp(28px,4.5vw,48px);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-8);}
.rule-band p{font-family:var(--disp);font-weight:600;font-size:clamp(20px,2.6vw,28px);
  letter-spacing:-.01em;line-height:1.25;max-width:34ch;margin-right:auto;}
.rule-band .eck-bars i{background:var(--ink);}

.entry{padding:var(--sect) 0;}
.entry-panel{background:var(--white);clip-path:var(--cut);padding:clamp(28px,4.5vw,52px);}
.entry-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4.5vw,64px);align-items:start;}
@media (max-width:860px){.entry-grid{grid-template-columns:1fr;}}
.entry-blocks{display:grid;gap:var(--s-6);}
.entry-block h3{font-family:var(--mono);font-size:12.5px;font-weight:400;text-transform:uppercase;
  letter-spacing:.06em;color:var(--teal-deep);margin-bottom:6px;}
.entry-block p{color:#3d4341;font-size:15.5px;line-height:1.6;max-width:62ch;}
.entry-block--finding{border-left:3px solid var(--yellow);padding-left:18px;}
.entry-block--finding p{color:var(--ink);font-family:var(--disp);font-weight:500;font-size:18px;line-height:1.45;letter-spacing:-.01em;}
.entry-side{display:grid;gap:var(--s-6);}
.entry-stat{border-top:3px solid var(--yellow);padding-top:var(--s-4);}
.entry-stat .num{font-family:var(--disp);font-weight:700;font-size:clamp(44px,4.5vw,64px);line-height:1;letter-spacing:-.02em;}
.entry-stat .lbl{font-size:14px;color:var(--grey);margin-top:6px;max-width:24ch;}
.entry-runson{border-top:1px solid var(--line-l);padding-top:var(--s-4);}
.entry-runson h3{font-family:var(--mono);font-size:12.5px;font-weight:400;text-transform:uppercase;
  letter-spacing:.06em;color:var(--teal-deep);margin-bottom:10px;}
.entry-runson ul{list-style:none;display:grid;gap:6px;}
.entry-runson li{font-family:var(--mono);font-size:13px;color:#3d4341;display:flex;justify-content:space-between;gap:12px;}
.entry-runson li span:last-child{color:var(--grey);}
.entry-client{border-top:1px solid var(--line-l);padding-top:var(--s-4);}
.entry-client h3{font-family:var(--mono);font-size:12.5px;font-weight:400;text-transform:uppercase;
  letter-spacing:.06em;color:var(--teal-deep);margin-bottom:10px;}
.entry-client ul{list-style:none;display:grid;gap:6px;}
.entry-client li{font-family:var(--mono);font-size:13px;color:#3d4341;display:flex;justify-content:space-between;gap:12px;}
.entry-client li span:last-child{color:var(--grey);text-align:right;}
.entry-client a{color:var(--teal-deep);text-decoration:underline;text-underline-offset:3px;transition:color .15s ease;}
.entry-client a:hover{color:var(--ink);}
.entry-link{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--teal-deep);text-decoration:none;border-top:1px solid var(--line-l);padding-top:var(--s-4);
  display:block;transition:color .15s ease;}
.entry-link:hover{color:var(--ink);}

.screens{margin-top:clamp(32px,4.5vw,56px);border-top:1px solid var(--line-l);padding-top:clamp(24px,3vw,40px);}
.screens>h3{font-family:var(--mono);font-size:12.5px;font-weight:400;text-transform:uppercase;
  letter-spacing:.06em;color:var(--teal-deep);margin-bottom:var(--s-6);}
.screens-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);}
@media (max-width:720px){.screens-grid{grid-template-columns:1fr;}}
.screens-grid figure.wide{grid-column:1 / -1;}
.screens-grid .shot{background:var(--paper);border:1px solid var(--line-l);padding:10px;aspect-ratio:16/10;overflow:hidden;
  display:flex;align-items:center;justify-content:center;}
.screens-grid .shot img{width:100%;height:100%;object-fit:cover;}
.screens-grid .shot.portrait img{object-fit:contain;}
.screens-grid .shot span{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--grey);}
.screens-grid figcaption{font-family:var(--mono);font-size:12.5px;color:var(--grey);margin-top:10px;line-height:1.5;}

.pager{padding:0 0 var(--sect);}
.pager-row{display:flex;flex-wrap:wrap;gap:var(--s-4);justify-content:space-between;
  border-top:1px solid var(--line-l);padding-top:var(--s-6);}
.pager-row a{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--teal-deep);text-decoration:none;transition:color .15s ease;}
.pager-row a:hover{color:var(--ink);}
