
:root{--bg:#070909;--bg2:#0b0e0e;--fg:#eeeae2;--muted:#9a9b96;--line:rgba(238,234,226,.15);--soft:rgba(238,234,226,.055);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}
.nav{position:fixed;z-index:100;top:0;left:0;right:0;background:linear-gradient(#070909 20%,rgba(7,9,9,.88) 70%,transparent);backdrop-filter:blur(8px)}
.nav-in{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:13px;font-weight:700;letter-spacing:.24em}.links{display:flex;gap:32px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#c9c7c0}.links a{transition:.25s}.links a:hover{color:white}.menu{display:none}
.hero{min-height:100vh;display:grid;align-items:end;position:relative;padding:150px 0 80px;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 34%,rgba(255,255,255,.06),transparent 34%),linear-gradient(90deg,rgba(7,9,9,.97) 0 43%,rgba(7,9,9,.27) 73%,rgba(7,9,9,.7))}
.hero-media{position:absolute;inset:0 0 0 43%;background:url('../images/projects/sao-sebastiao/hero.webp') center/cover no-repeat;filter:grayscale(.02) brightness(.84) contrast(1.05) saturate(1.12);transform:scale(1.035);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.hero-lines,.linefield{position:absolute;inset:auto -10% -13% -10%;height:55%;opacity:.34;pointer-events:none;background-image:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 22px,rgba(235,235,225,.14) 23px,transparent 24px 42px);mask-image:linear-gradient(transparent,black 42%,transparent 96%);transform:perspective(600px) rotateX(66deg) scale(1.3)}
.hero-content{position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#a6a6a0;margin-bottom:28px}.hero h1,.display{font-size:clamp(58px,9.2vw,138px);line-height:.87;letter-spacing:-.055em;margin:0;font-weight:600;max-width:950px}.hero-copy{max-width:610px;margin:34px 0 28px;font-size:17px;color:#c4c3bd}.meta{display:flex;flex-wrap:wrap;gap:10px}.pill{border:1px solid var(--line);padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;background:rgba(7,9,9,.5)}.scroll{position:absolute;right:32px;bottom:32px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#858681;writing-mode:vertical-rl}
.section{position:relative;padding:150px 0;border-top:1px solid rgba(255,255,255,.04)}.section-head{display:grid;grid-template-columns:230px 1fr;gap:40px;margin-bottom:80px}.section h2{font-size:clamp(38px,5.4vw,76px);line-height:.98;letter-spacing:-.045em;margin:0 0 28px;font-weight:550}.section-head p,.copy p{max-width:680px;color:var(--muted);font-size:15px}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cap{padding:34px 34px 54px 0;min-height:290px}.cap+.cap{border-left:1px solid var(--line);padding-left:34px}.num{display:block;color:#737570;font-size:10px;letter-spacing:.14em;margin-bottom:65px}.cap h3{font-size:22px;margin:0 0 18px;font-weight:500}.cap p{font-size:13px;color:var(--muted);max-width:330px}
.physical{overflow:hidden}.physical-grid{display:grid;grid-template-columns:1.25fr .75fr;min-height:680px}.physical-media{position:relative;overflow:hidden}.physical-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.74)}.physical-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,var(--bg) 100%)}.copy{padding:90px 0 80px 70px;align-self:center}.copy h2{font-size:58px}.text-link{display:inline-flex;gap:16px;margin-top:28px;padding-bottom:8px;border-bottom:1px solid var(--fg);font-size:11px;text-transform:uppercase;letter-spacing:.14em}
.workflow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.step{padding:30px 26px 45px 0}.step+.step{border-left:1px solid var(--line);padding-left:26px}.step .num{margin-bottom:70px}.step strong{font-size:10px;letter-spacing:.16em}.step p{font-size:12px;color:var(--muted);margin-top:16px}
.projects{background:#090b0b}.project-card{display:grid;grid-template-columns:1.35fr .65fr;border:1px solid var(--line);min-height:620px;transition:.4s}.project-card:hover{border-color:rgba(238,234,226,.35);transform:translateY(-3px)}.project-card .image{overflow:hidden}.project-card img{width:100%;height:100%;object-fit:cover;transition:1s;filter:brightness(.94) saturate(1.04)}.project-card:hover img{transform:scale(1.025);filter:brightness(1) saturate(1.07)}.project-info{padding:60px;display:flex;flex-direction:column}.tags{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#92938e}.project-info h3{font-size:54px;line-height:.95;letter-spacing:-.04em;margin:42px 0 25px;font-weight:500}.project-info p{font-size:14px;color:var(--muted)}.project-info .text-link{margin-top:auto;align-self:flex-start}.project-secondary{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;display:flex;justify-content:space-between;gap:30px}.project-secondary strong{font-size:24px;font-weight:500}
.contact{min-height:82vh;display:grid;align-items:center;overflow:hidden}.contact .display{font-size:clamp(52px,8vw,110px);max-width:1000px}.contact p{max-width:630px;color:var(--muted);font-size:15px;margin:32px 0}.actions{display:flex;gap:12px}.btn{border:1px solid var(--line);padding:15px 18px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;transition:.25s}.btn:hover{background:var(--fg);color:var(--bg)}
.footer{border-top:1px solid var(--line);padding:28px 0;color:#797b76;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.footer-in{display:flex;justify-content:space-between}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.case-hero{min-height:84vh;display:grid;align-items:end;position:relative;padding:150px 0 70px;overflow:hidden}.case-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66) saturate(1.04)}.case-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),rgba(7,9,9,.18) 70%),linear-gradient(0deg,var(--bg),transparent 48%)}.case-content{position:relative;z-index:2}.case-content h1{font-size:clamp(58px,8vw,112px);line-height:.9;letter-spacing:-.05em;margin:0}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.case-grid p{color:var(--muted)}.gallery{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-top:60px}.gallery img{width:100%;height:520px;object-fit:cover;background:#111}.gallery .side{display:grid;gap:16px}.gallery .side img{height:252px}
@media(max-width:820px){.wrap{width:min(calc(100% - 36px),var(--max))}.links{display:none}.menu{display:block;background:none;border:0;color:white;font-size:20px}.hero{padding-bottom:60px}.hero-media{inset:0;opacity:.58}.hero:before{background:linear-gradient(0deg,var(--bg) 0,rgba(7,9,9,.62) 55%,rgba(7,9,9,.27))}.hero h1{font-size:72px}.hero-copy{font-size:15px}.section{padding:100px 0}.section-head{grid-template-columns:1fr;gap:8px;margin-bottom:55px}.cap-grid,.workflow{grid-template-columns:1fr}.cap,.cap+.cap,.step,.step+.step{border-left:0;border-top:1px solid var(--line);padding:28px 0;min-height:0}.num,.step .num{margin-bottom:28px}.physical-grid,.project-card,.case-grid{grid-template-columns:1fr}.physical-media{height:480px}.physical-media:after{background:linear-gradient(0deg,var(--bg),transparent 45%)}.copy{padding:55px 0}.copy h2{font-size:45px}.project-card{min-height:0}.project-card .image{height:420px}.project-info{padding:36px}.project-info h3{font-size:42px}.project-info .text-link{margin-top:55px}.footer-in{flex-direction:column;gap:8px}.gallery{grid-template-columns:1fr}.gallery img,.gallery .side img{height:auto}.project-secondary{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-media{transition:none}}

/* v0.3 — identity system + true multi-page navigation */
.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup img{width:30px;height:30px;object-fit:contain;opacity:.96}.brand-lockup span{font-size:12px;font-weight:700;letter-spacing:.23em}
.nav .active{color:#fff}.nav .active:after{content:"";display:block;height:1px;background:#eeeae2;margin-top:7px;opacity:.65}
.contour-band{position:absolute;left:-8%;right:-8%;height:210px;pointer-events:none;opacity:.34;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,black 16%,black 84%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,black 16%,black 84%,transparent 100%)}
.contour-band:before,.contour-band:after{content:"";position:absolute;inset:-30% -10%;background:repeating-radial-gradient(ellipse at 48% 110%,transparent 0 17px,rgba(238,234,226,.13) 18px,transparent 19px 34px);transform:perspective(700px) rotateX(68deg) scale(1.45)}
.contour-band:after{transform:perspective(700px) rotateX(68deg) translateX(22%) scale(1.45);opacity:.55}
.contour-bottom{bottom:-90px}.contour-top{top:-95px;transform:rotate(180deg)}
.identity-mark{position:absolute;width:150px;opacity:.09;pointer-events:none}.identity-mark img{width:100%}.mark-right{right:4%;top:12%}.mark-left{left:3%;bottom:10%}
.page-hero{min-height:66vh;display:flex;align-items:flex-end;position:relative;padding:155px 0 90px;overflow:hidden;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(58px,9vw,120px);line-height:.88;letter-spacing:-.055em;margin:0;font-weight:550}.page-hero p{max-width:620px;color:var(--muted);font-size:16px;margin-top:30px}
.project-list{display:grid;gap:22px}.project-row{display:grid;grid-template-columns:1.15fr .85fr;border-top:1px solid var(--line);padding-top:24px;min-height:470px}.project-row:last-child{border-bottom:1px solid var(--line);padding-bottom:24px}.project-row .visual{overflow:hidden}.project-row .visual img{width:100%;height:100%;object-fit:cover;filter:brightness(.92) saturate(1.04);transition:.8s}.project-row:hover .visual img{transform:scale(1.018);filter:brightness(1) saturate(1.07)}.project-row .info{padding:36px 0 30px 54px;display:flex;flex-direction:column}.project-row h2{font-size:48px;margin:28px 0 20px}.project-row .text-link{margin-top:auto;align-self:flex-start}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-note{color:var(--muted);font-size:14px}.contact-options{border-top:1px solid var(--line)}.contact-option{display:grid;grid-template-columns:140px 1fr auto;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.contact-option .label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#858681}.contact-option strong{font-size:18px;font-weight:500}.contact-option span:last-child{font-size:18px}
@media(max-width:820px){.brand-lockup span{display:none}.project-row,.contact-grid{grid-template-columns:1fr}.project-row .visual{height:380px}.project-row .info{padding:28px 0 40px}.contact-option{grid-template-columns:1fr auto}.contact-option .label{grid-column:1/-1}}

/* v0.4 — identity artwork extracted from the supplied TerraFrame master */
.brand-lockup img{width:138px;height:auto;max-height:40px;object-fit:contain}.brand-lockup span{display:none}
.brand-terrain{position:absolute;left:0;right:0;bottom:-1px;height:min(35vw,400px);background:url('../images/brand/terrain-lines.png') center bottom/cover no-repeat;opacity:.38;pointer-events:none;mask-image:linear-gradient(to bottom,transparent,black 40%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 40%)}
.brand-terrain.faint{opacity:.16}.brand-terrain.flip{transform:scaleX(-1)}.brand-terrain.top{top:-90px;bottom:auto;transform:rotate(180deg);opacity:.14}
.brand-symbol{position:absolute;width:180px;height:180px;background:url('../images/brand/symbol-transparent.png') center/contain no-repeat;opacity:.055;pointer-events:none}.brand-symbol.right{right:5%;top:12%}.brand-symbol.left{left:3%;bottom:12%}
.hero .brand-terrain{z-index:1;opacity:.25}.hero-content{z-index:3}.page-hero .brand-terrain{opacity:.26}.contact .brand-terrain{opacity:.28}
.brand-statement{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.brand-statement .mark{display:flex;align-items:center;justify-content:center;min-height:410px;position:relative}.brand-statement .mark:after{content:"";position:absolute;right:0;width:1px;height:78%;background:linear-gradient(transparent,var(--line) 20%,var(--line) 80%,transparent)}.brand-statement .mark img{width:min(520px,90%)}.brand-statement h2{font-size:clamp(42px,5vw,72px)}
@media(max-width:820px){.brand-lockup img{width:108px}.brand-terrain{height:300px;background-size:auto 100%}.brand-statement{grid-template-columns:1fr;gap:25px}.brand-statement .mark{min-height:250px}.brand-statement .mark:after{display:none}}

/* v0.6 — public mapping case study */
.home-project{display:grid;grid-template-columns:1.2fr .8fr;min-height:520px;margin-top:100px;border:1px solid var(--line);background:#070909;transition:.4s}.home-project:hover{border-color:rgba(238,234,226,.35);transform:translateY(-3px)}.home-project-image{overflow:hidden}.home-project-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.92) saturate(1.04);transition:.9s}.home-project:hover img{transform:scale(1.02);filter:brightness(1) saturate(1.07)}.home-project-copy{padding:56px;display:flex;flex-direction:column}.home-project-copy h3{font-size:50px;line-height:1;margin:36px 0 24px;font-weight:500;letter-spacing:-.04em}.home-project-copy p{font-size:14px;color:var(--muted)}.home-project-copy .text-link{margin-top:auto;align-self:flex-start}
.mapping-hero img{filter:brightness(.7) saturate(.98)}.mapping-hero:after{background:linear-gradient(90deg,var(--bg),rgba(7,9,9,.1) 74%),linear-gradient(0deg,var(--bg),transparent 50%)}
.project-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-stats div{padding:28px 25px 32px 0}.project-stats div+div{padding-left:25px;border-left:1px solid var(--line)}.project-stats span{display:block;margin-bottom:24px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#858681}.project-stats strong{display:block;font-size:22px;font-weight:500}.project-stats small{display:block;margin-top:6px;color:var(--muted)}
.mapping-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:80px}.mapping-gallery figure{margin:0;background:#0e1111;border:1px solid var(--line)}.mapping-gallery .map-main{grid-column:1/-1}.mapping-gallery img{width:100%;height:510px;object-fit:cover}.mapping-gallery .map-main img{height:auto;aspect-ratio:1.414/1;object-fit:contain;background:#f1f0eb}.mapping-gallery figcaption{padding:18px 20px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#858681;border-top:1px solid var(--line)}
.case-outcomes{background:#090b0b}.deliverable-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.deliverable-grid>div{padding:30px 26px 42px 0}.deliverable-grid>div+div{padding-left:26px;border-left:1px solid var(--line)}.deliverable-grid span{display:block;margin-bottom:50px;font-size:10px;color:#737570}.deliverable-grid strong{display:block;font-size:18px;font-weight:500}.deliverable-grid p{font-size:12px;color:var(--muted)}
@media(max-width:820px){.home-project{grid-template-columns:1fr;margin-top:65px}.home-project-image{height:360px}.home-project-copy{padding:32px}.home-project-copy h3{font-size:40px}.home-project-copy .text-link{margin-top:42px}.project-stats{grid-template-columns:1fr 1fr;margin-top:65px}.project-stats div,.project-stats div+div{padding:22px 18px;border-left:0;border-bottom:1px solid var(--line)}.project-stats div:nth-child(even){border-left:1px solid var(--line)}.mapping-gallery{grid-template-columns:1fr;margin-top:60px}.mapping-gallery .map-main{grid-column:auto}.mapping-gallery img{height:auto}.deliverable-grid{grid-template-columns:1fr 1fr}.deliverable-grid>div,.deliverable-grid>div+div{padding:24px 18px;border-left:0;border-bottom:1px solid var(--line)}.deliverable-grid>div:nth-child(even){border-left:1px solid var(--line)}.deliverable-grid span{margin-bottom:25px}}

/* v0.8 — vídeo comercial Sois Montejunto */
.video-section{background:#090b0b}.video-layout{display:grid;grid-template-columns:minmax(320px,.72fr) 1fr;gap:90px;align-items:center}.video-shell{position:relative;width:min(100%,520px);margin:auto;padding:12px;background:#111515;border:1px solid var(--line)}.video-shell video{display:block;width:100%;aspect-ratio:9/16;background:#050606;object-fit:cover}.video-copy h2{font-size:clamp(44px,5vw,70px)}.video-copy>p{max-width:570px;color:var(--muted)}.video-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line)}.video-facts div{padding:22px 16px 22px 0;border-bottom:1px solid var(--line)}.video-facts div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}.video-facts span{display:block;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#777b76;margin-bottom:8px}.video-facts strong{font-size:15px;font-weight:500}
@media(max-width:820px){.video-layout{grid-template-columns:1fr;gap:55px}.video-shell{width:min(100%,430px)}.video-copy{order:-1}}

/* v1.0 — mobile navigation and brighter project imagery */
@media(max-width:820px){
  .nav-in{position:relative}
  .menu{display:block;cursor:pointer;padding:10px;line-height:1;position:relative;z-index:102}
  .links.open{display:flex;position:absolute;z-index:101;top:72px;left:0;right:0;flex-direction:column;gap:0;padding:10px 18px 16px;background:rgba(7,9,9,.98);border:1px solid var(--line);box-shadow:0 18px 45px rgba(0,0,0,.4)}
  .links.open a{padding:14px 0;border-bottom:1px solid rgba(238,234,226,.1)}
  .links.open a:last-child{border-bottom:0}
}
