:root{--ink:#111;--paper:#ffffff;--soft:#f0f0ec;--line:#dcdcd6;--muted:#777;--green:#b8ff5a;--green2:#438e00}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.folio-nav{height:66px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(17px,5vw,70px);background:rgba(250,250,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.folio-logo{display:flex;align-items:center;gap:10px;font-weight:850;font-size:14px}.folio-logo i{width:29px;height:29px;display:grid;place-items:center;background:#111;color:var(--green);border-radius:50%;font-style:normal}.folio-nav nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:800}.hire{background:var(--green);padding:10px 15px;border-radius:100px}.folio-hero{min-height:76vh;padding:clamp(75px,11vw,155px) clamp(20px,7vw,110px) 70px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:14px;letter-spacing:.16em;font-weight:900;color:#777}.folio-hero h1{font-size:clamp(68px,12vw,175px);line-height:.78;letter-spacing:-.05em;margin:25px 0 40px;max-width:1300px}.folio-hero h1 span{color:#aaa}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.hero-bottom p{font-size:clamp(16px,1.7vw,22px);line-height:1.55;color:#5f5f5a;max-width:650px}.hero-count{display:flex;justify-content:flex-end;align-items:end;gap:12px}.hero-count b{font-size:65px;line-height:.8;letter-spacing:-.05em}.hero-count span{font-size:14px;color:#888}.folio-controls{position:sticky;top:66px;z-index:30;background:rgba(250,250,248,.94);backdrop-filter:blur(14px);padding:15px clamp(20px,7vw,110px);border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.filters{display:flex;gap:5px;overflow:auto}.filters button{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:100px;padding:8px 11px;font-size:14px;font-weight:850;cursor:pointer}.filters button.active{background:#111;color:#fff}.view-note{font-size:14px;color:#888}.project-grid{padding:55px clamp(20px,7vw,110px) 150px;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,28px)}.project-card{grid-column:span 6;display:block;margin-bottom:45px}.project-card:nth-child(5n+1){grid-column:span 7}.project-card:nth-child(5n+2){grid-column:span 5}.project-card:nth-child(5n+5){grid-column:3/span 8}.project-image{aspect-ratio:4/3;overflow:hidden;background:#e9e9e5;border-radius:14px;position:relative}.project-card:nth-child(5n+1) .project-image{aspect-ratio:5/4}.project-card:nth-child(5n+5) .project-image{aspect-ratio:16/10}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .4s}.project-image:after{content:"OPEN STORY ↗";position:absolute;right:12px;bottom:12px;background:var(--green);padding:8px 10px;border-radius:100px;font-size:14px;font-weight:900;transform:translateY(12px);opacity:0;transition:.25s}.project-card:hover img{transform:scale(1.025)}.project-card:hover .project-image:after{opacity:1;transform:none}.project-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 3px}.project-meta h2{font-size:clamp(21px,2.5vw,36px);letter-spacing:-.045em;margin:2px 0}.project-meta span,.project-meta small{font-size:14px;letter-spacing:.1em;color:#888;font-weight:800}.project-meta small{text-align:right;padding-top:7px}.empty{grid-column:1/-1;padding:80px;text-align:center;color:#888}.folio-footer{background:#111;color:#fff;padding:100px clamp(20px,7vw,110px)}.folio-footer h2{font-size:clamp(50px,8vw,110px);line-height:.9;letter-spacing:-.05em;margin:20px 0}.folio-footer p{color:#999}.folio-footer a{display:inline-flex;background:var(--green);color:#111;padding:14px 20px;border-radius:100px;font-size:14px;font-weight:900;margin-top:15px}.reveal{opacity:0;transform:translateY(20px);transition:.65s}.reveal.visible{opacity:1;transform:none}
/* Project story */.case-hero{padding:75px clamp(20px,7vw,110px) 55px}.case-hero-top{display:flex;justify-content:space-between;gap:30px}.case-hero h1{font-size:clamp(65px,11vw,160px);line-height:.82;letter-spacing:-.05em;margin:28px 0 45px;max-width:1300px}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.case-intro p{color:#666;font-size:18px;line-height:1.6}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.case-facts div{padding:16px;border-right:1px solid var(--line);display:grid}.case-facts span{font-size:14px;letter-spacing:.13em;color:#999;font-weight:900}.case-facts b{font-size:14px;margin-top:5px}.cover{margin:0 clamp(12px,3vw,45px);height:min(78vh,850px);background:#eee;overflow:hidden;border-radius:16px}.cover img{width:100%;height:100%;object-fit:cover}.story-section{padding:clamp(80px,10vw,150px) clamp(20px,7vw,110px);display:grid;grid-template-columns:80px 1fr 1fr;gap:6vw;border-bottom:1px solid var(--line)}.story-num{font:900 14px monospace;color:#999}.story-section h2{font-size:clamp(40px,5vw,75px);line-height:.95;letter-spacing:-.055em;margin:0}.story-copy{max-width:650px}.story-copy p{font-size:17px;line-height:1.7;color:#62625d}.story-note{border-left:3px solid var(--green);padding:10px 18px;margin-top:30px;font-size:14px;color:#777}.gallery{padding:25px clamp(12px,3vw,45px) 120px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery figure{margin:0;background:#eee;border-radius:12px;overflow:hidden}.gallery figure:nth-child(4n+1){grid-column:1/-1}.gallery img{display:block;width:100%;height:auto;min-height:300px;object-fit:cover}.gallery-more{text-align:center;grid-column:1/-1;padding:30px}.gallery-more button{border:1px solid var(--line);background:#fff;border-radius:100px;padding:12px 18px;font-size:14px;font-weight:850;cursor:pointer}.next-case{padding:120px clamp(20px,7vw,110px);background:#111;color:#fff}.next-case span{color:#777;font-size:14px}.next-case h2{font-size:clamp(55px,9vw,125px);letter-spacing:-.05em;margin:25px 0}.next-case a{color:var(--green);font-weight:900}.concept-label{background:#111;color:#fff;padding:6px 9px;border-radius:100px;font-size:14px}.case-disclosure{padding:17px;background:var(--soft);border-radius:12px;font-size:14px;color:#666;margin-top:25px}
@media(max-width:700px){.folio-nav nav a:not(.hire){display:none}.folio-hero{min-height:auto;padding-top:85px}.folio-hero h1{font-size:21vw}.hero-bottom{grid-template-columns:1fr}.hero-count{justify-content:flex-start}.folio-controls{top:66px;display:block}.view-note{display:none}.project-grid{display:block;padding-top:25px}.project-card,.project-card:nth-child(n){margin-bottom:27px}.project-image,.project-card:nth-child(n) .project-image{aspect-ratio:4/3}.project-meta h2{font-size:25px}.case-hero{padding-top:50px}.case-hero h1{font-size:19vw}.case-intro{grid-template-columns:1fr}.case-facts{grid-template-columns:1fr 1fr}.case-facts div:last-child{grid-column:1/-1}.cover{height:55vh}.story-section{grid-template-columns:30px 1fr;gap:20px}.story-section h2,.story-copy{grid-column:2}.gallery{grid-template-columns:1fr}.gallery figure:nth-child(n){grid-column:auto}.gallery img{min-height:0}.next-case{padding-block:85px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Readable action scale — matched to the landing-page exchange pills */
.folio-nav{height:72px}.folio-logo{font-size:14px}.folio-nav nav{gap:14px;font-size:14px}.folio-nav nav>a:not(.hire){padding:11px 13px;border-radius:100px}.folio-nav nav>a:not(.hire):hover{background:#ededE8}.folio-nav .hire{padding:13px 18px;font-size:14px}.folio-controls{top:72px;padding-block:17px}.filters{gap:8px}.filters button{padding:12px 17px;font-size:14px;letter-spacing:.02em;min-height:42px}.view-note{font-size:14px}.project-image:after{padding:11px 14px;font-size:14px}.project-meta span,.project-meta small{font-size:14px;line-height:1.55}.folio-footer a{padding:16px 23px;font-size:14px}.concept-label{padding:9px 13px;font-size:14px}.gallery-more button{padding:14px 20px;font-size:14px;min-height:46px}.next-case a{display:inline-flex;padding:12px 0;font-size:14px}.case-facts span{font-size:14px}.case-facts b{font-size:14px}.case-disclosure{font-size:14px;line-height:1.6}
@media(max-width:700px){.folio-nav{height:66px}.folio-logo{font-size:14px}.folio-nav .hire{padding:11px 14px;font-size:14px}.folio-controls{top:66px;padding-block:12px}.filters button{padding:11px 14px;font-size:14px;min-height:40px}.project-image:after{opacity:1;transform:none;padding:8px 10px;font-size:14px}.project-meta span,.project-meta small{font-size:14px}.concept-label{padding:7px 10px;font-size:14px}.gallery-more button{width:100%;font-size:14px}}
.case-conversion{padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px);text-align:center;background:var(--soft)}.case-conversion h2{font-size:clamp(48px,7vw,100px);line-height:.9;letter-spacing:-.05em;max-width:1000px;margin:20px auto}.case-conversion>p:not(.eyebrow){max-width:720px;margin:0 auto;color:#62625d;font-size:17px;line-height:1.7}.case-conversion>div{display:flex;justify-content:center;align-items:center;gap:22px;margin:30px 0 15px}.case-conversion a{font-size:14px;font-weight:900}.case-conversion .case-primary{background:var(--green);padding:15px 20px;border-radius:100px}.case-conversion small{color:#888;font-size:14px}@media(max-width:700px){.case-conversion>div{display:grid}.case-conversion .case-primary{padding:14px 18px}.case-conversion>p:not(.eyebrow){font-size:15px}}
.category-break{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;padding:80px 2px 20px;border-bottom:1px solid var(--line);margin-top:15px}.category-break.first{padding-top:10px;margin-top:0}.category-break span{font-size:14px;letter-spacing:.14em;color:#999;font-weight:900}.category-break h2{font-size:clamp(38px,5vw,72px);line-height:.9;letter-spacing:-.055em;margin:10px 0 0;text-transform:capitalize}.category-break>b{font-size:14px;color:#888}.filters button{transition:background .2s,color .2s,border-color .2s}.filters button.active{box-shadow:0 0 0 1px #111}.project-grid>.category-break+ .project-card{margin-top:10px}@media(max-width:700px){.category-break{padding-top:55px;margin-bottom:18px}.category-break.first{padding-top:10px}.category-break h2{font-size:42px}.category-break>b{font-size:14px}.project-grid>.category-break+ .project-card{margin-top:0}}

/* Desktop portfolio action readability */
@media(min-width:701px){.folio-nav .hire,.filters button,.gallery-more button,.folio-footer a,.case-conversion a,.next-case a{font-size:14px;font-weight:600}}

/* Desktop portfolio supporting-copy hierarchy and readability */
@media(min-width:701px){
  .project-meta span,.project-meta small,.view-note,.hero-count span,.case-facts span,.next-case span,.category-break span,.category-break>b{font-size:14px;line-height:1.5}
  .case-facts b{font-size:15px;line-height:1.45}
  .story-note,.case-disclosure,.folio-footer p,.case-conversion small{font-size:15px;line-height:1.6}
}

/* One consistent desktop CTA label scale */
@media(min-width:701px){
  .folio-nav .hire,.filters button,.gallery-more button,.folio-footer a,
  .case-conversion a,.next-case a,.project-image:after{font-size:14px;font-weight:600}
}

/* Mobile containment and conventional touch behavior */
@media(max-width:700px){
  .folio-hero h1{font-size:19vw;overflow-wrap:anywhere}
  .folio-controls{min-width:0;overflow:hidden}
  .filters{width:calc(100vw - 40px);max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:2px}
  .filters button{min-height:44px}
}
@media(max-width:700px){.filters{min-width:0;contain:inline-size}}
@media(max-width:700px){.filters{display:flex;flex-wrap:wrap;width:100%;max-width:100%;overflow:visible;contain:none}.filters button{flex:0 0 auto}}
@media(max-width:700px){.category-break{flex-wrap:wrap;align-items:flex-start;gap:8px}.category-break>b{width:100%;text-align:left}}
@media(max-width:700px){.folio-nav{padding-inline:12px}.folio-nav nav{gap:8px}}
@media(max-width:360px){.folio-logo span{display:none}}
.legal-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px clamp(20px,6vw,80px);border-top:1px solid #ddd;font-size:14px}.legal-footer>a{font-weight:650}.copyright{font-weight:400;color:#777}@media(max-width:600px){.legal-footer{align-items:flex-start;flex-direction:column}}
@media(min-width:701px){.project-grid{grid-template-columns:repeat(3,1fr)}.project-card,.project-card:nth-child(n){grid-column:auto!important;margin-bottom:28px}.project-card .project-image,.project-card:nth-child(n) .project-image{aspect-ratio:4/3}.project-meta{display:block;margin-top:14px}.project-meta small{display:block;margin-top:6px;text-align:left!important}.project-meta span{font-size:13px}.project-meta h2{font-size:22px;margin:6px 0 0;letter-spacing:-.02em}.project-meta small{font-size:13px;text-align:right}}

.rec{max-width:1100px;margin:40px auto;padding:0 clamp(16px,5vw,40px)}
.rec-head{display:flex;justify-content:space-between;align-items:center}
.rec-done{background:#B8FF5A;color:#111;font-weight:800;font-size:14px;padding:6px 14px;border-radius:999px}
.rec-note{color:#555;font-size:15px;margin:6px 0 18px}
.rec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.rec-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.rec-card h3{margin:0 0 10px;font-size:18px}
.rec-card p{margin:0;font-size:16px;line-height:1.5}
.rec-steps,.rec-feed{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rec-steps li{display:flex;flex-direction:column;font-size:16px}.rec-steps span,.rec-feed span{font-size:14px;color:#6b6b6b}
.rec-feed li{font-size:16px;display:flex;flex-direction:column}
.rec-score dl{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0;font-size:16px}.rec-score dd{margin:0;font-weight:800}
@media(max-width:700px){.rec-grid{grid-template-columns:1fr}}
/* Lime story CTA must not inherit light dark-theme card text. */
.project-image::after{color:#111}
