.project-page main{padding-top:100px;overflow:clip}.wrap{width:min(1120px,calc(100% - 160px));margin:auto}.project-top{display:flex;justify-content:space-between;align-items:center}.back-home{display:inline-block;border-bottom:1px solid;padding:8px 0;font:15px/24px Arial,sans-serif}.project-languages{display:flex;gap:24px}.project-languages button{padding:8px 0;border-bottom:1px solid transparent}.project-languages [aria-pressed=true]{border-color:currentColor}.project-intro{padding-bottom:40px}.project-category{padding-top:40px;padding-bottom:14px;font:16px/21px Arial,sans-serif;letter-spacing:1.5px}.project-name{padding-top:14px;font:24px/36px Arial,sans-serif}.project-title{display:flex;flex-wrap:wrap;column-gap:16px;font:64px/1.45 Anton,sans-serif;min-height:108px}.project-page em{font-family:Playlist,cursive;font-weight:400;font-style:normal}.project-title em{font-size:64px;line-height:1.674}.project-summary{font:24px/31px Arial,sans-serif;color:#535d72}.project-meta{display:flex;justify-content:space-between;gap:24px;margin-top:32px;border-top:1px solid #d6d9e3;padding-top:24px;font:16px/23px Arial,sans-serif}.project-image{margin:0;position:relative;min-width:0}.project-image img{width:100%;height:100%;object-fit:cover}.project-lead{background:#e7e1ef}.project-lead .project-image{max-width:1120px;margin:auto;aspect-ratio:1120/861.2}.project-lead img{object-fit:contain}.project-body{padding-top:30px;position:relative}.project-objective,.project-delivery{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:80px;padding:80px 0;position:relative}.project-label{font:16px/19.2px Arial,sans-serif;letter-spacing:1.5px;color:#131313}.project-objective>.project-label,.project-delivery>.project-label{font-size:20px;padding-top:8px;white-space:nowrap}.project-objective h2,.project-delivery h2{font:36px/44.84px Anton,sans-serif;margin-bottom:24px}.project-delivery h2 em{font-size:40px}.large-copy{font:24px/34.2px Arial,sans-serif;color:#535d72}.project-rows{display:flex;flex-direction:column;gap:80px}.project-row{display:grid;position:relative;isolation:isolate;align-items:stretch}.row-0{grid-template-columns:minmax(0,1fr) 409.268px;min-height:523px}.row-1{grid-template-columns:457px minmax(0,1fr);min-height:478px}.row-2{grid-template-columns:325px minmax(0,1fr);min-height:375px}.row-3{grid-template-columns:minmax(0,1fr) 633px;min-height:474.75px}.project-copy{padding:40px;display:flex;flex-direction:column;gap:24px}.project-copy h2{font:38px/44.84px Anton,sans-serif}.project-copy h2 span,.project-copy h2 em{display:block}.project-copy h2 em{font-size:48px}.project-copy>p:last-child{font:20px/34.2px Arial,sans-serif;color:#535d72}.project-row .project-image img{position:absolute;inset:0;border-radius:24px}.row-3 .project-image img{border-radius:0;object-fit:contain}.project-decor{position:absolute;pointer-events:none;z-index:-1;object-fit:contain}.decor-0{width:766px;height:617.3px;left:-95px;top:-6.6px}.decor-1{width:744.128px;height:441.21px;left:449.44px;top:-34.23px}.decor-3{width:667.66px;height:674px;right:0;top:-80.6px}.project-delivery{padding:80px}.project-final{position:relative;aspect-ratio:1120/694.5;isolation:isolate}.project-final .project-image{position:absolute;left:2.29%;right:3.18%;height:100%}.project-final .project-image img{object-fit:contain}.final-decor{position:absolute;inset:5.73px 0 0;width:100%;height:95.78%;object-fit:contain;z-index:-1}.project-actions{display:flex;align-items:center;justify-content:center;gap:32px;padding:40px 0}.project-button{background:#131313;color:#faf9f6;border-radius:32px;padding:18px 28px;display:inline-flex}.project-border{width:100%;height:auto;display:block}.project-page footer{background:#d6d9e3}.project-page [data-node-id="722:8549"]{background:transparent}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.project-title{font-size:48px}.project-title em{font-size:54px}.row-0,.row-1,.row-2,.row-3{grid-template-columns:1fr 1fr}.project-copy{padding:28px}.project-copy h2{font-size:32px}.project-delivery{padding:70px 0}.project-decor{max-width:70%;height:auto}.decor-1{left:auto;right:-30px}.project-objective,.project-delivery{gap:40px}}
@media(max-width:760px){.project-page main{padding-top:110px}.wrap{width:calc(100% - 40px)}.project-category{font-size:12px;padding-top:28px}.project-name{font-size:20px}.project-title{font-size:40px;line-height:1.3;gap:0 12px;padding:14px 0}.project-title em{font-size:48px;line-height:1.3}.project-summary{font-size:19px;line-height:1.55}.project-meta{flex-direction:column;gap:10px;font-size:14px}.project-objective,.project-delivery{grid-template-columns:1fr;padding:48px 0;gap:20px}.project-objective>.project-label,.project-delivery>.project-label{font-size:16px;white-space:normal}.large-copy{font-size:19px;line-height:1.65}.project-objective h2,.project-delivery h2{font-size:30px}.project-row{display:flex;flex-direction:column;min-height:0}.project-row .project-image{height:auto;aspect-ratio:4/3;order:0}.project-row .project-copy{order:1;padding:28px 8px 0}.project-row .project-image img{object-fit:contain}.row-2 .project-image{aspect-ratio:325/375;max-height:430px}.project-rows{gap:52px}.project-copy h2{font-size:32px;line-height:1.3}.project-copy>p:last-child{font-size:18px;line-height:1.65}.project-decor{width:100%;max-width:110%;height:auto;top:0;left:0;right:auto}.decor-0{left:-15px}.project-actions{gap:24px;flex-wrap:wrap;padding:32px 0}.project-lead .project-image{aspect-ratio:1120/861.2}.project-body{padding-top:0}}

/* Map Me Out supplied artwork: full mockup, filled photo, and learning visual. */
body[data-project="Map Me Out"] .row-2 .project-image img{object-fit:contain;object-position:center;border-radius:0;padding:12px;box-sizing:border-box}
body[data-project="Map Me Out"] .row-3 .project-image img{object-fit:cover;object-position:center;border-radius:24px}
.project-delivery.project-delivery-visual{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding:80px 0;gap:48px}
.project-delivery-visual .project-image img{display:block;height:auto;object-fit:contain;border-radius:24px}
.project-delivery-visual .project-label{margin-bottom:24px}
@media(max-width:760px){.project-delivery.project-delivery-visual{grid-template-columns:1fr;gap:28px;padding:48px 0}}
body[data-project="Map Me Out"] .row-2{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}
body[data-project="Map Me Out"] .row-2 .project-image{height:auto;aspect-ratio:auto;max-height:none}
body[data-project="Map Me Out"] .row-2 .project-image img{position:static;display:block;width:100%;height:auto;max-width:100%;padding:0;object-fit:contain}
body[data-project="Map Me Out"] .row-3 .project-image{border-radius:24px;overflow:hidden}
body[data-project="Map Me Out"] .project-delivery-visual>*{min-width:0}
body[data-project="Map Me Out"] .project-delivery-visual .project-image img{width:100%;height:auto;max-height:520px;object-fit:contain}
body[data-project="Map Me Out"] .project-final{aspect-ratio:auto;max-width:100%;margin:24px auto}
body[data-project="Map Me Out"] .project-final .project-image{position:relative;inset:auto;height:auto;width:100%}
body[data-project="Map Me Out"] .project-final .project-image img{display:block;width:100%;height:auto;max-height:740px;object-fit:contain;border-radius:24px}
body[data-project="Map Me Out"] .project-final .final-decor{display:none}

body[data-project="Map Me Out"] .row-0 .project-image{border-radius:24px;overflow:hidden}
body[data-project="Map Me Out"] .row-0 .project-image img{object-fit:cover;object-position:center;border-radius:24px}

/* Shared case navigation, matching My Line Arts. */
.project-body{--story-header-offset:100px;--story-index-height:80px}
body.project-page>header{background:#faf9f6}
.project-index{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 26px;position:sticky;top:var(--story-header-offset);z-index:90;isolation:isolate;background:#faf9f6;padding:18px 0;border-bottom:1px solid #d6d9e3;box-shadow:0 8px 16px -16px rgba(21,21,21,.35);font:14px/1.5 Arial,sans-serif}
.project-index::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:#faf9f6;z-index:-1;pointer-events:none}
.project-index a{padding:6px 0;white-space:nowrap;border-bottom:1px solid transparent}
.project-index a:hover,.project-index a:focus-visible,.project-index a[aria-current]{border-bottom-color:currentColor}
.project-index a[aria-current]{font-weight:700}
.project-body .project-row[id],.project-body .project-delivery[id]{scroll-margin-top:calc(var(--story-header-offset) + var(--story-index-height) + 20px)}
@media(max-width:600px){.project-index{gap:4px 20px;padding:14px 0}}

/* Tecsa / Webdiet+ case: retain the portfolio shell while letting supplied artifacts fit their frames. */
body[data-project="Tecsa Group · Webdiet+"] .project-lead{background:#faf9f6}
body[data-project="Tecsa Group · Webdiet+"] .project-lead .project-image{aspect-ratio:1120/861.2}
body[data-project="Tecsa Group · Webdiet+"] .project-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:32px;align-items:center}
body[data-project="Tecsa Group · Webdiet+"] .project-row .project-image{height:auto;aspect-ratio:auto;border-radius:24px;overflow:hidden;background:#faf9f6}
body[data-project="Tecsa Group · Webdiet+"] .project-row .project-image img{position:static;display:block;width:100%;height:auto;object-fit:contain;border-radius:24px}
body[data-project="Tecsa Group · Webdiet+"] .project-copy{padding:32px 16px}
body[data-project="Tecsa Group · Webdiet+"] .project-delivery-visual .project-image{border-radius:24px;overflow:hidden}
body[data-project="Tecsa Group · Webdiet+"] .project-delivery-visual .project-image img{width:100%;height:auto;max-height:none}
.project-research-note{margin-top:32px;padding:28px 0 0;border-top:1px solid #d6d9e3;display:flex;flex-direction:column;gap:16px}
.project-research-note h3{font:28px/1.25 Anton,sans-serif}
.project-research-note>p:not(.project-label){font:18px/1.65 Arial,sans-serif;color:#535d72}
.project-research-sources{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;font:14px/1.5 Arial,sans-serif}
.project-research-sources a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){
 body[data-project="Tecsa Group · Webdiet+"] .project-row{gap:12px}
 body[data-project="Tecsa Group · Webdiet+"] .project-row .project-image{aspect-ratio:auto}
 body[data-project="Tecsa Group · Webdiet+"] .project-row .project-image img{position:static;height:auto;object-fit:contain}
 body[data-project="Tecsa Group · Webdiet+"] .project-row .project-copy{padding:24px 8px 0}
 body[data-project="Tecsa Group · Webdiet+"] .project-delivery-visual .project-image img{max-height:none}
 .project-research-note{margin-top:24px;padding-top:24px}
 .project-research-note>p:not(.project-label){font-size:17px}
}

/* Webdiet diary decision: keep the case text in the same typographic rhythm as adjacent sections. */
body[data-project="Tecsa Group · Webdiet+"] .project-copy>p:not(.project-label){font:20px/34.2px Arial,sans-serif;color:#535d72}
body[data-project="Tecsa Group · Webdiet+"] .webdiet-diary-section{grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
body[data-project="Tecsa Group · Webdiet+"] .webdiet-diary-section>.project-copy{padding:32px 16px 0}
body[data-project="Tecsa Group · Webdiet+"] .project-research-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
body[data-project="Tecsa Group · Webdiet+"] .project-research-note{margin:0;padding:0;border:0}
body[data-project="Tecsa Group · Webdiet+"] .project-research-note>p:not(.project-label){font:20px/34.2px Arial,sans-serif;color:#535d72}
body[data-project="Tecsa Group · Webdiet+"] .project-evidence-gallery{display:flex;flex-direction:column;gap:32px;min-width:0}
body[data-project="Tecsa Group · Webdiet+"] .project-evidence-gallery .project-image{aspect-ratio:auto;background:#faf9f6}
body[data-project="Tecsa Group · Webdiet+"] .project-evidence-gallery .project-image img{position:static;display:block;width:100%;height:auto;object-fit:contain;border-radius:24px}
@media(max-width:760px){
 body[data-project="Tecsa Group · Webdiet+"] .project-copy>p:not(.project-label){font-size:18px;line-height:1.65}
 body[data-project="Tecsa Group · Webdiet+"] .webdiet-diary-section{gap:20px}
 body[data-project="Tecsa Group · Webdiet+"] .webdiet-diary-section>.project-copy{padding:24px 8px 0}
 body[data-project="Tecsa Group · Webdiet+"] .project-research-layout{grid-template-columns:1fr;gap:28px}
 body[data-project="Tecsa Group · Webdiet+"] .project-research-note>p:not(.project-label){font-size:18px;line-height:1.65}
 body[data-project="Tecsa Group · Webdiet+"] .project-evidence-gallery{gap:20px}
}
