/* v8.8 mobile-first layout layer. Portfolio UI only; no AI selectors. */
:root{--mf-gutter:16px;--mf-section:64px;--mf-radius:18px}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{width:100%;min-width:320px;overflow-x:hidden}
img,svg,canvas{max-width:100%}
.site-header{padding-top:env(safe-area-inset-top)}
.site-nav{width:100%;height:60px;padding-inline:max(var(--mf-gutter),env(safe-area-inset-left));gap:14px}
.site-brand{flex:0 0 auto;font-size:18px}
.menu-button{display:flex;flex:0 0 44px;min-width:44px;min-height:44px;touch-action:manipulation;color:#fff}
.nav-links{position:fixed;z-index:120;top:calc(60px + env(safe-area-inset-top));left:10px;right:10px;display:none;max-height:calc(100dvh - 76px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain;align-items:stretch;flex-direction:column;gap:2px;padding:10px;background:rgba(12,15,21,.97);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.56);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.nav-links.open{display:flex}
.nav-links a{display:flex;align-items:center;min-height:46px;padding:12px 13px;border-radius:10px;font-size:14px}
.nav-resume{justify-content:center;margin-top:4px}
.hero{min-height:auto;padding:calc(92px + env(safe-area-inset-top)) var(--mf-gutter) 58px}
.hero-inner{width:100%;grid-template-columns:minmax(0,1fr);gap:46px}
.hero-copy,.portrait-wrap{min-width:0}
.hero h1{font-size:clamp(38px,12vw,52px);line-height:1.01;overflow-wrap:anywhere}
.hero h1 span{margin-top:11px;font-size:clamp(25px,7.4vw,34px);line-height:1.12}
.hero-lead{margin-top:22px;font-size:15.5px;line-height:1.68}
.hero-tags{margin-top:18px;gap:7px}
.hero-tags span,.chips span{padding:7px 10px;line-height:1.35}
.hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:26px}
.hero-actions .button{width:100%;min-height:50px;text-align:center}
.hero-actions .text-link{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%}
.availability{align-items:flex-start;margin-top:20px;line-height:1.55}
.availability span{flex:0 0 8px;margin-top:5px}
.portrait-wrap{width:min(86vw,330px);margin-inline:auto}
.portrait-wrap>img{width:100%;border-radius:24px}
.portrait-caption{left:-8px;bottom:-24px;width:min(210px,78vw);padding:13px 15px}
.proof-strip{width:calc(100% - 2 * var(--mf-gutter));margin:20px auto 0;grid-template-columns:1fr;border-radius:var(--mf-radius)}
.proof-strip>div{padding:18px 17px;border-right:0;border-bottom:1px solid var(--line)}
.proof-strip>div:last-child{border-bottom:0}
.proof-strip strong{font-size:26px}
.section{width:100%;padding:var(--mf-section) var(--mf-gutter)}
.section-muted{padding-inline:var(--mf-gutter)}
.section-heading{display:block;margin-bottom:30px}
.section-heading h2,.contact-intro h2{font-size:clamp(30px,9vw,38px);line-height:1.12;overflow-wrap:anywhere}
.section-heading>p{margin-top:15px;font-size:14.5px;line-height:1.65}
.case-pair,.capability-grid,.recognition-grid,.credential-list,.contact-section,.delivery-grid{grid-template-columns:minmax(0,1fr)}
.case-pair{gap:18px}
.case-study{grid-template-columns:minmax(0,1fr);border-radius:var(--mf-radius)}
.case-index{padding:13px 18px;border-right:0;border-bottom:1px solid var(--line)}
.case-body{min-width:0;padding:20px 18px}
.case-kicker{align-items:flex-start;flex-wrap:wrap}
.case-body h3{font-size:21px;overflow-wrap:anywhere}
.case-grid{grid-template-columns:minmax(0,1fr);gap:18px}
.case-footer{align-items:flex-start;flex-direction:column}
.case-facts>div{grid-template-columns:70px minmax(0,1fr)}
.chips{max-width:100%}
.delivery-grid{gap:16px}
.delivery-grid article{min-width:0;padding:22px 19px}
.timeline:before{left:5px}
.timeline article{grid-template-columns:minmax(0,1fr);gap:8px;padding:0 0 32px 29px}
.timeline-date{text-align:left;padding-top:0}
.timeline article>div:last-child:before{left:-29px}
.timeline h3{font-size:20px;overflow-wrap:anywhere}
.capability-grid{gap:16px}
.capability-grid article{padding:21px 18px}
.award-card{grid-template-columns:minmax(0,1fr);gap:18px;padding:15px}
.award-card img{width:100%;max-width:none}
.credential-list{gap:12px}
.contact-section{gap:32px}
.contact-direct a{max-width:100%;overflow-wrap:anywhere}
.contact-form{min-width:0;padding:20px 16px;border-radius:var(--mf-radius)}
.form-row{grid-template-columns:minmax(0,1fr);gap:0}
.contact-form input,.contact-form select,.contact-form textarea{min-height:48px;font-size:16px}
.contact-form textarea{min-height:140px}
.contact-form .button{width:100%;min-height:50px}
footer{padding:26px var(--mf-gutter) calc(26px + env(safe-area-inset-bottom))}
footer>div{align-items:flex-start;flex-direction:column}
footer nav{width:100%;flex-wrap:wrap;gap:8px 18px}
footer nav a{display:inline-flex;min-height:40px;align-items:center}
@media(min-width:480px){:root{--mf-gutter:22px}.proof-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-strip>div{border-right:1px solid var(--line)}.proof-strip>div:nth-child(2n){border-right:0}.proof-strip>div:nth-last-child(-n+2){border-bottom:0}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-actions .text-link{grid-column:1/-1}}
@media(min-width:621px){:root{--mf-gutter:24px;--mf-section:84px}.hero{padding-top:120px}.hero h1{font-size:clamp(48px,8vw,64px)}.hero h1 span{font-size:.64em}.case-study{grid-template-columns:64px minmax(0,1fr)}.case-index{padding:25px 16px;border-right:1px solid var(--line);border-bottom:0}.case-body{padding:27px}.award-card{grid-template-columns:160px minmax(0,1fr)}.award-card img{width:160px}.contact-form{padding:28px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(min-width:901px){:root{--mf-section:110px}.menu-button{display:none}.nav-links{position:static;display:flex;max-height:none;overflow:visible;flex-direction:row;align-items:center;gap:25px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-links a{display:inline;min-height:0;padding:0}.nav-resume{display:inline-flex!important;min-height:40px!important;padding:9px 14px!important;margin-top:0}.hero{min-height:780px;padding:130px 24px 80px}.hero-inner{grid-template-columns:1.35fr .65fr;gap:70px}.hero-actions{display:flex}.hero-actions .button{width:auto}.hero-actions .text-link{width:auto;min-height:0}.portrait-wrap{width:auto;max-width:none}.proof-strip{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.proof-strip>div{padding:28px;border-right:1px solid var(--line);border-bottom:0}.proof-strip>div:last-child{border-right:0}.section-heading{display:flex}.section-heading>p{margin-top:0}.case-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.capability-grid,.recognition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.credential-list{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{grid-template-columns:.85fr 1.15fr;gap:70px}.delivery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer>div{align-items:center;flex-direction:row}footer nav{width:auto}}
@media(max-width:360px){:root{--mf-gutter:14px}.site-brand{font-size:17px}.hero h1{font-size:36px}.hero h1 span{font-size:24px}.case-body,.capability-grid article{padding-inline:16px}.status{max-width:100%}}
@media(hover:none),(pointer:coarse){.button,.nav-links a{touch-action:manipulation}.button:hover{transform:none}}
@supports not (height:100dvh){.nav-links{max-height:calc(100vh - 76px)}}
/* Desktop content rail restoration: keep full-bleed muted backgrounds while
   aligning headings and content to the same centered 1180px grid. */
@media(min-width:901px){
  .section-muted{
    padding-left:max(24px,calc((100% - 1180px)/2 + 24px));
    padding-right:max(24px,calc((100% - 1180px)/2 + 24px));
  }
}
