.progress-page{background:#f5f7fa;color:#132744;min-height:100vh}
.progress-topbar{position:absolute;background:linear-gradient(180deg,#071a34df,transparent);border:0}
.progress-hero{min-height:480px;padding:170px 8vw 82px;background:linear-gradient(105deg,#071a34ed,#0b1d38b8 54%,#0b1d3870),url('../assets/portfolio/05-casa-moderna-suspensa-ao-entardecer.webp') center 48%/cover;color:#fff}
.progress-hero>.eyebrow,.progress-heading .eyebrow{font-size:10px;letter-spacing:.2em;color:#91c5ff}
.progress-hero h1{font-size:clamp(48px,7vw,88px);margin:24px 0;max-width:950px}
.progress-hero h1 em{color:#83bdff}
.progress-hero>p:last-child{max-width:600px;color:#e5edf7;font-size:16px;line-height:1.8}
.progress-content{padding:90px 8vw 110px;min-height:300px}
.progress-context{max-width:1040px;margin:0 auto;padding:92px 8vw 110px;color:#52627a}
.progress-context .eyebrow{margin-bottom:18px;color:#2676d9;font-size:11px;letter-spacing:.18em}
.progress-context h2{max-width:760px;margin:0 0 24px;color:#102746;font:clamp(34px,5vw,58px)/1.08 Georgia,serif;letter-spacing:-.035em}
.progress-context p:not(.eyebrow){max-width:780px;margin:0 0 16px;font-size:16px;line-height:1.85}
.progress-context a{color:#1768d2;text-underline-offset:4px}
.progress-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}
.progress-heading h2{margin-top:12px;font-size:clamp(38px,4.5vw,62px)}
.progress-heading>p{max-width:350px;color:#67758a;font-size:13px;line-height:1.7}
.works-status{padding:34px 0;color:#67758a;font-size:14px}
.works-status:empty{display:none}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.work-card{overflow:hidden;background:#fff;border:1px solid #e0e6ee;box-shadow:0 15px 50px #102a4610}
.work-card-header{padding:26px 28px 18px}
.work-card-header h3{font:500 clamp(25px,3vw,38px)/1.15 var(--serif);letter-spacing:-.035em}
.work-card-header p{margin-top:12px;color:#66758a;font-size:13px;line-height:1.8;white-space:pre-line}
.work-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;background:#fff}
.work-photo-grid button{position:relative;display:block;padding:0;border:0;background:#e8edf4;overflow:hidden;aspect-ratio:1.35;cursor:zoom-in}
.work-photo-grid button:first-child:nth-last-child(odd){grid-column:span 2;aspect-ratio:2.15}
.work-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.work-photo-grid button:hover img{transform:scale(1.025)}
.webtour-link{display:inline-flex;align-items:center;gap:12px;margin:18px 28px 26px;padding:12px 0;border-bottom:1px solid #1768d2;color:#145fbf;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.webtour-link span{font-size:18px}
.progress-empty{max-width:600px;padding:28px;border:1px solid #dbe3ef;background:#fff;color:#67758a;font-size:14px;line-height:1.8}
.progress-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 8vw;background:#0b1d38;color:#fff}
.progress-footer .brand-mark{color:#fff}.progress-footer>a:last-child{font-size:12px;color:#c9dcf6}
.progress-dialog{position:relative;width:min(92vw,1100px);max-width:none;max-height:90vh;padding:0;border:0;background:#07111e;color:#fff}
.progress-dialog::backdrop{background:#020915e8}
.progress-dialog img{width:100%;max-height:82vh;object-fit:contain}
.progress-dialog p{padding:14px 20px;font-size:12px}
.dialog-close{position:absolute;right:12px;top:12px;width:42px;height:42px;border:1px solid #fff8;border-radius:50%;background:#07111ebf;color:#fff;font-size:30px;line-height:1;cursor:pointer}
@media(max-width:800px){.progress-topbar{height:78px}.progress-topbar nav{top:78px}.progress-hero{min-height:440px;padding:165px 7vw 70px}.progress-content{padding:72px 7vw}.progress-heading{align-items:start;flex-direction:column}.works-grid{grid-template-columns:1fr}}
@media(max-width:520px){.progress-hero h1{font-size:46px}.progress-hero>p:last-child{font-size:14px}.work-card-header{padding:22px 20px 16px}.webtour-link{margin:16px 20px 22px}.progress-footer{padding:26px 7vw}}
@media(max-width:520px){.progress-context{padding:68px 7vw 80px}.progress-context h2{font-size:38px}.progress-context p:not(.eyebrow){font-size:14px;line-height:1.8}}

/* Editorial work pages */
.work-detail[hidden]{display:none!important}
.work-detail:not([hidden]){display:block}
.works-grid .work-card{display:block;color:inherit;text-decoration:none;transition:transform .35s,box-shadow .35s}
.works-grid .work-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px #102a4620}
.work-card-cover{position:relative;overflow:hidden;aspect-ratio:1.52;background:#dfe7ef}
.work-card-cover::after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(transparent,#06172d80)}
.work-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.work-card:hover .work-card-cover img{transform:scale(1.035)}
.work-card-number{position:absolute;z-index:1;right:22px;bottom:18px;color:#fff;font:italic 30px/1 var(--serif)}
.work-card-body{padding:25px 28px 27px}
.work-card-body .eyebrow{font-size:9px;letter-spacing:.18em;color:#347ac9}
.work-card-body h3{margin-top:12px;font:500 clamp(25px,3vw,38px)/1.12 var(--serif);letter-spacing:-.035em}
.work-card-description{display:-webkit-box;overflow:hidden;margin-top:12px;color:#69778a;font-size:13px;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.work-card-cta{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:15px;border-top:1px solid #e3e8ef;color:#1f67bc;font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.work-card-cta span{font-size:18px;transition:transform .25s}.work-card:hover .work-card-cta span{transform:translate(3px,-3px)}
.preview-note{border-color:#9ecbff;background:#eef6ff;color:#225b99}
.detail-back{display:inline-flex;align-items:center;gap:12px;margin:32px 8vw 24px;color:#41617f;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.detail-back span{font-size:20px;transition:transform .2s}.detail-back:hover span{transform:translateX(-4px)}
.editorial-cover{position:relative;display:flex;align-items:end;min-height:min(76vh,760px);overflow:hidden;background:#0b1d38;color:#fff}
.editorial-mode .progress-topbar{background:linear-gradient(180deg,#071a34f5,#0b1d38ed);border-bottom:1px solid #ffffff1c}
.editorial-mode .work-detail{padding-top:90px}
.editorial-mode .detail-back{margin:16px 8vw 22px}
.editorial-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:editorialReveal .8s ease both}
.editorial-cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07182cdb 0%,#07182c82 53%,#07182c15 100%),linear-gradient(0deg,#07182c88,transparent 65%)}
.editorial-cover-text{position:relative;z-index:1;width:min(990px,84%);padding:90px 0 82px;margin-left:8vw}
.editorial-cover-text .eyebrow,.editorial-intro .eyebrow,.editorial-tour .eyebrow,.editorial-closing .eyebrow{font-size:10px;letter-spacing:.2em;color:#8ec1ff}
.editorial-cover-text h1{max-width:900px;margin:24px 0;font:500 clamp(52px,8vw,112px)/.98 var(--serif);letter-spacing:-.055em}
.editorial-cover-text>p:last-child{max-width:580px;color:#e1eaf5;font-size:15px;line-height:1.85;white-space:pre-line}
.editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;padding:112px 12vw 94px;background:#f5f7fa}
.editorial-intro h2,.editorial-tour h2{margin-top:18px;font:500 clamp(42px,5.3vw,72px)/1.04 var(--serif);letter-spacing:-.05em}
.editorial-intro h2 em,.editorial-tour h2 em{color:#4389df;font-weight:400}
.editorial-intro>p:last-child{max-width:540px;color:#66758a;font-size:15px;line-height:1.9;white-space:pre-line}
.editorial-gallery{padding:76px 8vw 115px;background:#fff}
.editorial-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:#6a7d93;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.editorial-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(150px,25vw);gap:12px}
.editorial-photo{position:relative;grid-column:span 6;overflow:hidden;padding:0;border:0;background:#e8edf4;cursor:zoom-in}
.editorial-photo:first-child{grid-column:span 12;grid-row:span 2}
.editorial-photo:nth-child(4n+2),.editorial-photo:nth-child(4n+3){grid-column:span 6}
.editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.editorial-photo:hover img{transform:scale(1.025)}
.editorial-tour{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:center;padding:100px 8vw;background:#0b1d38;color:#fff}
.editorial-tour-intro h2{font-size:clamp(38px,4.5vw,62px)}
.tour-launch{display:inline-flex;align-items:center;gap:15px;margin-top:30px;padding-bottom:12px;border-bottom:1px solid #73aef4;color:#cfe3ff;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.tour-launch span{font-size:18px}
.editorial-tour-frame{overflow:hidden;aspect-ratio:16/10;background:#152b47;box-shadow:0 24px 70px #0005}
.editorial-tour-frame iframe{width:100%;height:100%;border:0;background:#152b47}
.editorial-closing{padding:92px 8vw 100px;background:#f5f7fa;text-align:center}
.editorial-closing>p:nth-child(2){margin:18px 0 26px;color:#132744;font:500 clamp(36px,5vw,64px)/1.05 var(--serif);letter-spacing:-.04em}
.editorial-closing>p:nth-child(2) em{color:#4389df}
.editorial-closing>a{display:inline-flex;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid #3982d7;color:#1d64b8;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@keyframes editorialReveal{from{transform:scale(1.035);opacity:.75}to{transform:scale(1);opacity:1}}
@media(max-width:800px){.detail-back{margin:25px 7vw 18px}.editorial-cover{min-height:66vh}.editorial-cover-text{width:86%;margin-left:7vw;padding:65px 0}.editorial-cover-text h1{font-size:clamp(48px,10vw,76px)}.editorial-intro{grid-template-columns:1fr;gap:20px;padding:78px 8vw 70px}.editorial-gallery{padding:60px 7vw 80px}.editorial-gallery-grid{grid-auto-rows:minmax(130px,34vw);gap:8px}.editorial-tour{grid-template-columns:1fr;gap:34px;padding:75px 7vw}.editorial-tour-frame{aspect-ratio:4/3}}
@media(max-width:520px){.work-card-body{padding:22px 20px}.editorial-cover{min-height:62vh}.editorial-cover-shade{background:linear-gradient(0deg,#07182cde 0%,#07182c45 80%)}.editorial-cover-text{width:86%;padding:45px 0}.editorial-cover-text h1{font-size:46px}.editorial-cover-text>p:last-child{font-size:13px}.editorial-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:34vw;gap:6px}.editorial-photo,.editorial-photo:first-child{grid-column:span 1;grid-row:span 1}.editorial-photo:first-child{grid-column:span 2;grid-row:span 2}.editorial-section-head{font-size:9px}.editorial-tour-frame{aspect-ratio:3/4}.editorial-closing{padding:72px 8vw}}
