/* ML Control 3.5 structured content system */
.mlw-button{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:13px 20px;border-radius:12px;background:#1877f2;color:#fff!important;text-decoration:none;font-weight:800;letter-spacing:.01em;transition:.2s ease}.mlw-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.mlw-hero{padding-top:clamp(70px,9vw,140px)!important}.mlw-hero .editorial-title{max-width:900px}.mlw-heading{padding-bottom:30px!important}.mlw-rich{font-size:1.05rem;line-height:1.85}.mlw-rich h2,.mlw-rich h3{margin-top:1.8em}.mlw-image figure{margin:0}.mlw-image img{width:100%;height:auto;border-radius:24px;display:block}.mlw-image figcaption{text-align:center;opacity:.55;margin-top:10px}.mlw-full{width:min(120%,1200px);margin-left:50%!important;transform:translateX(-50%)}
.mlw-image-text{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}.mlw-image-text.image-right .mlw-feature-image{order:2}.mlw-feature-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.mlw-feature-copy h2{font-size:clamp(2rem,4vw,4.2rem);line-height:1.05;margin:16px 0 24px}.mlw-feature-copy{font-size:1.02rem;line-height:1.8}
.mlw-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mlw-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.mlw-gallery img:nth-child(3n+1){grid-column:span 2;aspect-ratio:16/8}
.mlw-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mlw-cards article{border:1px solid rgba(120,140,180,.18);border-radius:20px;padding:26px;background:rgba(255,255,255,.025)}.mlw-cards h3{font-size:1.2rem}.mlw-cards p{opacity:.65;line-height:1.65}.mlw-cards a{color:#70a8ff;text-decoration:none;font-weight:700}
.mlw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(150,160,190,.16);border:1px solid rgba(150,160,190,.16);border-radius:22px;overflow:hidden}.mlw-stats>div{background:#090e1a;padding:34px;text-align:center}.mlw-stats strong{display:block;font-size:clamp(2.4rem,5vw,5rem);line-height:1;color:#fff}.mlw-stats span{display:block;margin-top:12px;opacity:.55}
.mlw-quote{margin:0;padding:clamp(30px,6vw,80px);border-left:4px solid #1877f2;background:linear-gradient(135deg,rgba(24,119,242,.12),rgba(255,255,255,.02));border-radius:0 24px 24px 0;font-size:clamp(1.8rem,4vw,4rem);line-height:1.2;font-weight:800}.mlw-quote cite{display:block;margin-top:24px;font-size:.85rem;font-style:normal;text-transform:uppercase;letter-spacing:.15em;opacity:.55}
.mlw-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:clamp(30px,5vw,60px);border-radius:26px;background:linear-gradient(135deg,rgba(24,119,242,.18),rgba(97,51,211,.16));border:1px solid rgba(80,130,255,.25)}.mlw-cta h2{font-size:clamp(2rem,4vw,3.5rem)}.mlw-cta p{opacity:.65;margin:0}.mlw-cta .mlw-button{margin:0;flex:none}
.mlw-timeline{position:relative}.mlw-timeline:before{content:"";position:absolute;left:100px;top:0;bottom:0;width:1px;background:rgba(120,150,200,.22)}.mlw-timeline article{display:grid;grid-template-columns:80px 1fr;gap:50px;padding:0 0 42px}.mlw-timeline time{font-weight:900;color:#428cff}.mlw-timeline article>div{position:relative}.mlw-timeline article>div:before{content:"";position:absolute;left:-56px;top:8px;width:12px;height:12px;border-radius:50%;background:#428cff;box-shadow:0 0 0 6px rgba(66,140,255,.12)}.mlw-timeline p{opacity:.62;line-height:1.7}
.mlw-accordion details{border-top:1px solid rgba(140,150,180,.18);padding:20px 0}.mlw-accordion details:last-child{border-bottom:1px solid rgba(140,150,180,.18)}.mlw-accordion summary{cursor:pointer;font-weight:800;font-size:1.15rem}.mlw-accordion p{opacity:.65;margin:16px 0 0;line-height:1.7}.mlw-code{padding:24px;border-radius:18px;background:#050912;border:1px solid rgba(100,120,170,.2);color:#d7e4ff;overflow:auto}.mlw-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:22px;background:#000}.mlw-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.mlw-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mlw-logos>div{min-height:110px;display:grid;place-items:center;border:1px solid rgba(140,150,180,.16);border-radius:16px;background:rgba(255,255,255,.02)}.mlw-logos img{max-width:70%;max-height:50px;filter:grayscale(1);opacity:.7}.mlw-divider{height:1px;background:rgba(140,150,180,.18);margin:20px 0 60px}
.ml-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.ml-project-card button{appearance:none;border:0;background:none;color:inherit;text-align:left;padding:0;width:100%;cursor:pointer}.ml-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:24px;display:block;margin-bottom:20px;transition:.3s}.ml-project-card:hover img{transform:translateY(-5px);box-shadow:0 22px 60px rgba(0,0,0,.28)}.ml-project-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#428cff;font-weight:800}.ml-project-card h3{font-size:1.65rem;margin:10px 0}.ml-project-card p{opacity:.58;line-height:1.65}
.ml-resume-hero{padding-top:clamp(70px,9vw,140px)!important}.ml-resume-section{display:grid;grid-template-columns:190px minmax(0,1fr);gap:50px}.ml-resume-list{display:grid;gap:20px}.ml-resume-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;padding:28px;border:1px solid rgba(130,150,190,.16);border-radius:22px;background:rgba(255,255,255,.02)}.ml-resume-date{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#428cff;font-weight:800}.ml-resume-item h3{font-size:1.55rem;margin:0}.ml-resume-org{opacity:.55;margin:5px 0 18px}.ml-resume-summary{line-height:1.75;opacity:.78}.ml-resume-item ul{padding-left:18px;opacity:.66;line-height:1.7}.ml-resume-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.ml-resume-tags span{padding:7px 10px;border-radius:999px;background:rgba(66,140,255,.1);color:#8bb9ff;font-size:.75rem;font-weight:700}
@media(max-width:900px){.mlw-image-text,.ml-resume-section{grid-template-columns:1fr}.mlw-image-text.image-right .mlw-feature-image{order:0}.mlw-cards{grid-template-columns:1fr}.mlw-stats{grid-template-columns:1fr}.mlw-gallery,.ml-project-grid{grid-template-columns:1fr}.mlw-gallery img:nth-child(3n+1){grid-column:auto;aspect-ratio:4/3}.mlw-cta{align-items:flex-start;flex-direction:column}.mlw-logos{grid-template-columns:repeat(2,1fr)}.ml-resume-item{grid-template-columns:1fr}.ml-resume-section{gap:20px}.mlw-full{width:100%;margin-left:0!important;transform:none}}

/* ML Control 3.5.1 — responsive resume containment */
.ml-resume-section,
.ml-resume-list,
.ml-resume-item,
.ml-resume-item>div{
  min-width:0;
  max-width:100%;
}
.ml-resume-section{
  grid-template-columns:minmax(110px,150px) minmax(0,1fr);
  gap:clamp(24px,3vw,42px);
}
.ml-resume-item{
  grid-template-columns:minmax(105px,135px) minmax(0,1fr);
  gap:clamp(18px,2.3vw,30px);
  width:100%;
  overflow:hidden;
}
.ml-resume-summary,
.ml-resume-summary *,
.ml-resume-item li,
.ml-resume-org,
.ml-resume-item h3{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.ml-resume-summary img,
.ml-resume-summary video,
.ml-resume-summary iframe{
  max-width:100%;
  height:auto;
}
.ml-resume-tags span{
  max-width:100%;
  overflow-wrap:anywhere;
}
@media (max-width:1280px) and (min-width:1025px){
  .ml-resume-section{
    grid-template-columns:1fr;
    gap:18px;
  }
  .ml-resume-item{
    grid-template-columns:minmax(95px,120px) minmax(0,1fr);
    padding:24px;
  }
}
@media (max-width:900px){
  .ml-resume-section,
  .ml-resume-item{
    grid-template-columns:1fr;
  }
  .ml-resume-date{
    margin-bottom:2px;
  }
}

/* ===== MATTLUCKS WIDGET STUDIO 3.8 ===== */
.mlws-meta{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:.7rem 0}
.mlws-blog-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:34px;align-items:center}
.mlws-blog-feature.image-right .mlws-blog-media{order:2}.mlws-blog-media{display:block;overflow:hidden;border-radius:24px;aspect-ratio:16/10}
.mlws-blog-media img,.mlws-post-card img,.mlws-project-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.mlws-blog-media:hover img,.mlws-post-card:hover img,.mlws-project-spotlight:hover .mlws-project-media img{transform:scale(1.035)}
.mlws-blog-copy h2,.mlws-project-copy h2{font-size:clamp(2rem,4.2vw,4.5rem);line-height:.96;margin:.55rem 0 1rem;letter-spacing:-.045em}
.mlws-blog-copy p,.mlws-project-copy p{font-size:1.03rem;line-height:1.72;opacity:.72}
.mlws-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.mlws-post-card{border:1px solid rgba(130,145,170,.16);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.02)}.mlws-post-card>a{display:block;aspect-ratio:16/10;overflow:hidden}.mlws-post-card>div{padding:18px}.mlws-post-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;opacity:.5}.mlws-post-card h3{font-size:1.35rem;margin:.45rem 0}.mlws-post-card h3 a{color:inherit;text-decoration:none}.mlws-post-card p{font-size:.9rem;opacity:.65}
.mlws-project-spotlight{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:34px;align-items:center}.mlws-project-media{aspect-ratio:4/3;border-radius:28px;overflow:hidden}
.mlws-resume-list{display:grid;margin-top:28px}.mlws-resume-list article{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:24px 0;border-top:1px solid rgba(130,145,170,.16)}.mlws-resume-list time{font-size:.8rem;opacity:.5}.mlws-resume-list h3{margin:0 0 4px}.mlws-resume-list strong{font-size:.85rem;opacity:.6}
.mlws-kinetic{overflow:hidden;padding-top:clamp(70px,12vh,150px)!important;padding-bottom:clamp(70px,12vh,150px)!important}.mlws-kinetic-text{font-weight:900;font-size:clamp(4.5rem,13vw,12rem);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;transform-origin:left center;will-change:transform,opacity}.mlws-kinetic.align-center{text-align:center}.mlws-kinetic.align-right{text-align:right}.mlws-kinetic[data-mlws-kinetic="split"] .mlws-kinetic-text{transform:translateY(35px);opacity:.08}.mlws-kinetic.is-visible .mlws-kinetic-text{animation:mlwsKinetic .9s cubic-bezier(.2,.75,.15,1) forwards}@keyframes mlwsKinetic{to{transform:none;opacity:1}}
.mlws-scroll-story{position:relative}.mlws-story-stage{display:grid;gap:20px}.mlws-story-scene{min-height:62vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center;padding:30px;border-radius:28px;border:1px solid rgba(130,145,170,.16);background:rgba(255,255,255,.018);opacity:.42;transform:scale(.985);transition:.45s ease}.mlws-story-scene.is-active{opacity:1;transform:none}.mlws-story-scene img{width:100%;max-height:55vh;object-fit:cover;border-radius:20px}.mlws-story-copy>span{font-size:.75rem;opacity:.45}.mlws-story-copy h3{font-size:clamp(2.5rem,6vw,6rem);line-height:.9;letter-spacing:-.05em;margin:.6rem 0 1rem}.mlws-story-copy p{max-width:34rem;opacity:.7}
.mlws-itimeline-track{position:relative;margin-top:35px;padding-left:34px}.mlws-itimeline-track:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:rgba(130,145,170,.16)}.mlws-itimeline-progress{position:absolute;left:7px;top:0;width:2px;height:0;background:currentColor;opacity:.75}.mlws-timeline-node{position:relative;display:grid;grid-template-columns:120px 1fr;gap:20px;padding:0 0 44px}.mlws-timeline-node:before{content:"";position:absolute;left:-32px;top:5px;width:14px;height:14px;border-radius:50%;border:3px solid currentColor;background:var(--bs-body-bg,#fff)}.mlws-timeline-node time{font-size:.8rem;opacity:.5}.mlws-timeline-node h3{font-size:1.6rem;margin:0 0 .35rem}
.mlws-hgallery-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:22px 0 12px}.mlws-hgallery-track{display:flex;gap:18px;width:max-content}.mlws-hgallery-card{scroll-snap-align:start;width:min(68vw,620px);text-decoration:none;color:inherit}.mlws-hgallery-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:24px}.mlws-hgallery-card div{padding:12px 4px}.mlws-hgallery-card span{font-weight:800}.mlws-hgallery-card p{opacity:.55}
.mlws-parallax-stack{position:relative;min-height:680px;margin-top:25px}.mlws-parallax-stack img{position:absolute;width:58%;max-height:520px;object-fit:cover;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.18);will-change:transform}.mlws-parallax-stack img:nth-child(1){left:0;top:50px}.mlws-parallax-stack img:nth-child(2){right:3%;top:150px}.mlws-parallax-stack img:nth-child(3){left:18%;top:270px}.mlws-parallax-stack img:nth-child(n+4){right:12%;top:340px}
.mlws-full-media{position:relative;width:calc(100% + 8vw);margin-left:-4vw;min-height:min(76vh,760px);overflow:hidden}.mlws-full-media>img,.mlws-full-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mlws-full-media:after,.mlws-video-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.78),rgba(5,8,15,.12))}.mlws-full-overlay{position:absolute;z-index:2;left:clamp(24px,6vw,90px);bottom:clamp(30px,8vw,100px);max-width:780px;color:#fff}.mlws-full-overlay h2{font-size:clamp(3rem,8vw,8rem);line-height:.88;letter-spacing:-.06em}
.mlws-video-hero{position:relative;min-height:68vh;display:flex;align-items:flex-end;border-radius:30px;overflow:hidden;padding:clamp(30px,6vw,72px)!important}.mlws-video-bg{position:absolute;inset:0}.mlws-video-bg video,.mlws-video-bg img{width:100%;height:100%;object-fit:cover}.mlws-video-copy{position:relative;z-index:2;color:#fff;max-width:760px}.mlws-video-copy h2{font-size:clamp(3rem,8vw,7rem);line-height:.88;letter-spacing:-.055em}
.mlws-text-mask{text-align:center;padding-block:clamp(80px,15vh,180px)!important}.mlws-mask-text{font-size:clamp(8rem,26vw,26rem);line-height:.7;font-weight:950;letter-spacing:-.08em;background-image:var(--mlws-mask);background-size:cover;background-position:center;color:transparent;-webkit-background-clip:text;background-clip:text}.mlws-text-mask p{margin-top:28px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.5}
.mlws-terminal{border:1px solid rgba(130,145,170,.18);border-radius:20px;overflow:hidden;background:#080b11;color:#d8e2ef}.mlws-terminal-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#111722;border-bottom:1px solid #222b39}.mlws-terminal-bar i{width:9px;height:9px;border-radius:50%;background:#63708a}.mlws-terminal-bar span{margin-left:8px;font:12px/1 monospace;opacity:.6}.mlws-terminal-body{padding:28px;font:clamp(.9rem,2vw,1.1rem)/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;min-height:240px}.mlws-terminal-body [data-terminal-line]{opacity:0;transform:translateY(4px)}.mlws-terminal-body [data-terminal-line].is-visible{animation:mlwsTerm .25s forwards}@keyframes mlwsTerm{to{opacity:1;transform:none}}.mlws-terminal-body span{color:#7ea2ff}
.mlws-constellation-field{position:relative;min-height:620px;border:1px solid rgba(130,145,170,.13);border-radius:30px;overflow:hidden;background:radial-gradient(circle at center,rgba(100,120,255,.08),transparent 58%)}.mlws-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;text-decoration:none;color:inherit;font-size:.7rem;font-weight:800;letter-spacing:.08em}.mlws-node span{width:13px;height:13px;border-radius:50%;background:currentColor;box-shadow:0 0 0 8px rgba(110,125,255,.08),0 0 35px rgba(110,125,255,.3);margin-bottom:8px}.mlws-constellation-field svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mlws-cursor-reveal{position:relative;min-height:620px;border-radius:30px;overflow:hidden;--rx:50%;--ry:50%}.mlws-reveal-front,.mlws-reveal-back{position:absolute;inset:0;background-size:cover;background-position:center}.mlws-reveal-front{clip-path:circle(125px at var(--rx) var(--ry));z-index:2}.mlws-reveal-copy{position:absolute;z-index:3;left:40px;bottom:36px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.4)}.mlws-reveal-copy h2{font-size:clamp(2.5rem,6vw,6rem);max-width:800px;line-height:.9}
.mlws-collage-stage{position:relative;height:680px;margin-top:20px}.mlws-collage-stage img{position:absolute;width:42%;max-height:390px;object-fit:cover;border-radius:22px;box-shadow:0 26px 70px rgba(0,0,0,.2);transform:rotate(calc((var(--i) - 1.5)*2deg))}.mlws-collage-stage img:nth-child(1){left:2%;top:5%}.mlws-collage-stage img:nth-child(2){right:4%;top:12%}.mlws-collage-stage img:nth-child(3){left:18%;bottom:6%}.mlws-collage-stage img:nth-child(4){right:15%;bottom:2%}
.mlws-counters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mlws-counter{padding:30px;border-top:1px solid rgba(130,145,170,.2)}.mlws-counter strong{display:block;font-size:clamp(3rem,8vw,7rem);line-height:.9;letter-spacing:-.06em}.mlws-counter span{display:block;margin-top:10px;opacity:.55}
.mlws-clock{padding-block:clamp(60px,10vh,120px)!important}.mlws-clock h2{font-size:1rem;text-transform:uppercase;letter-spacing:.12em;opacity:.5}.mlws-clock-time{font-size:clamp(5rem,15vw,12rem);font-weight:900;letter-spacing:-.075em;line-height:.86;font-variant-numeric:tabular-nums}.mlws-clock-date{margin-top:18px;font-weight:700;opacity:.55}
.mlws-magnetic-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding-block:clamp(60px,12vh,140px)!important}.mlws-magnetic-cta h2{font-size:clamp(3rem,8vw,7rem);line-height:.9;letter-spacing:-.055em}.mlws-magnetic-big{font-size:1rem;padding:18px 26px!important;white-space:nowrap}.mlws-magnetic{will-change:transform}
.mlws-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1)}.mlws-reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.mlws-blog-feature,.mlws-project-spotlight,.mlws-story-scene{grid-template-columns:1fr}.mlws-blog-feature.image-right .mlws-blog-media{order:0}.mlws-post-grid{grid-template-columns:1fr 1fr}.mlws-resume-list article{grid-template-columns:1fr}.mlws-parallax-stack{min-height:560px}.mlws-constellation-field,.mlws-cursor-reveal{min-height:500px}.mlws-magnetic-cta{grid-template-columns:1fr}.mlws-counters{grid-template-columns:1fr 1fr}.mlws-collage-stage{height:560px}}
@media(max-width:600px){.mlws-post-grid,.mlws-counters{grid-template-columns:1fr}.mlws-hgallery-card{width:84vw}.mlws-parallax-stack{min-height:460px}.mlws-parallax-stack img{width:75%}.mlws-full-media{width:100%;margin-left:0}.mlws-constellation-field{min-height:420px}.mlws-cursor-reveal{min-height:440px}.mlws-collage-stage{height:480px}.mlws-collage-stage img{width:62%}}
@media(prefers-reduced-motion:reduce){.mlws-reveal,.mlws-kinetic-text{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.mlws-parallax-stack img,.mlws-magnetic{transform:none!important}.mlws-video-bg video,.mlws-full-media video{display:none}.mlws-story-scene{opacity:1;transform:none}}
/* ===== END MATTLUCKS WIDGET STUDIO 3.8 ===== */
