:root{--bg:#f4f3ef;--paper:#fff;--text:#111;--muted:#6a6a64;--line:#d8d6cf;--max:1460px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Century Gothic",CenturyGothic,AppleGothic,Arial,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 34px;background:rgba(244,243,239,.84);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.05)}
.brand{display:flex;align-items:center;gap:12px}.brand img{width:66px;height:42px;object-fit:cover;border-radius:50%}.brand-word{font-weight:800;letter-spacing:-1px;font-size:22px}.brand-sub{display:block;font-size:8px;letter-spacing:1.7px;margin-top:-2px}
.nav{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.nav a{opacity:.72}.nav a:hover{opacity:1}.menu-btn{display:none;border:0;background:transparent;font-size:24px}
.hero{min-height:100vh;position:relative;overflow:hidden;background:#111}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.05) 60%,rgba(0,0,0,.12))}
.hero-copy{position:absolute;z-index:4;left:7vw;top:50%;transform:translateY(-45%);color:white;max-width:600px}.hero-copy h1{font-size:clamp(46px,7vw,104px);line-height:.92;margin:0 0 24px;font-weight:400;letter-spacing:-.045em}.hero-copy p{font-size:18px;line-height:1.5;max-width:420px;margin:0 0 34px}.hero-cta{display:inline-flex;align-items:center;gap:18px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:8px}
.hero-count{position:absolute;right:34px;bottom:28px;color:#fff;z-index:5;font-size:12px;letter-spacing:.1em}.hero-dots{display:flex;gap:8px;margin-top:10px}.dot{width:30px;height:2px;background:rgba(255,255,255,.35)}.dot.active{background:#fff}
.section{max-width:var(--max);margin:auto;padding:110px 36px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.section-head h2{font-size:clamp(38px,5vw,70px);font-weight:400;letter-spacing:-.04em;line-height:1;max-width:760px;margin:0}.section-head p{max-width:420px;line-height:1.7;color:var(--muted);margin:0}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.project-card{grid-column:span 6;margin-bottom:24px}.project-card.project-card-large{grid-column:span 6}.project-card.project-card-medium{grid-column:span 4}.project-card.project-card-pair-start{grid-column:1/span 6}.project-card.project-card-pair-end{grid-column:7/span 6}
.project-card.project-card-featured{grid-column:span 12}.project-card.project-card-featured .project-thumb{aspect-ratio:2.15}.project-card.project-card-featured .project-meta h3{font-size:24px}.project-card.project-card-featured .project-meta p:after{content:none}.project-meta p strong{font-weight:700;color:#333}.project-thumb{overflow:hidden;background:#ddd;aspect-ratio:1.35}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.035)}.project-meta{display:flex;justify-content:space-between;gap:20px;padding-top:14px}.project-meta h3{font-size:18px;font-weight:500;margin:0 0 5px}.project-meta p{margin:0;color:var(--muted);font-size:12px}.project-no{font-size:13px;color:var(--muted)}
.about{background:#101010;color:#eee}.about .section{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:center}.about h2{font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:0 0 28px}.about p{line-height:1.8;color:#b7b7b0;max-width:540px}.about-photo{height:660px;background:url('assets/amoreira-03.webp') center/cover no-repeat}.manifesto{min-height:66vh;background:url('assets/hotel-jardim-dia.webp') center/cover no-repeat;position:relative;display:flex;align-items:end}.manifesto:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 65%)}.manifesto-inner{position:relative;z-index:2;color:white;padding:70px 7vw;max-width:850px}.manifesto h2{font-size:clamp(44px,6vw,84px);line-height:1;margin:0;font-weight:400;letter-spacing:-.04em}
.footer{background:#fff;padding:70px 36px 30px}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:40px}.footer h3{font-size:28px;margin:0 0 20px}.footer p,.footer a{font-size:13px;color:#5b5b56;line-height:1.8}.footer-note{max-width:var(--max);margin:60px auto 0;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:#8a8a84}
/* project page */
.project-hero{height:78vh;min-height:560px;position:relative;background:#111}.project-hero img{width:100%;height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%)}.project-title{position:absolute;left:5vw;right:5vw;bottom:45px;color:white;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:30px}.project-title h1{font-size:clamp(46px,6.5vw,96px);line-height:.94;font-weight:400;letter-spacing:-.045em;margin:0}.project-title .small{font-size:13px;line-height:1.8;text-align:right}
.project-info{max-width:var(--max);margin:auto;padding:80px 36px;display:grid;grid-template-columns:.9fr 1.6fr;gap:80px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:22px}.fact b{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.fact span{font-size:14px;color:var(--muted)}.project-info .intro{font-size:clamp(24px,2.7vw,40px);line-height:1.3;letter-spacing:-.025em;margin:0}.gallery{max-width:var(--max);margin:0 auto 100px;padding:0 36px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure{margin:0;overflow:hidden;background:#ddd;cursor:zoom-in}.gallery figure.wide{grid-column:1/-1}.gallery img{width:100%;height:100%;object-fit:cover;min-height:420px;transition:transform .5s}.gallery figure:hover img{transform:scale(1.015)}
.next{background:#111;color:#fff;padding:70px 36px}.next-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:end;gap:30px}.next small{display:block;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;color:#aaa}.next h2{font-size:clamp(38px,5vw,70px);font-weight:400;margin:0;letter-spacing:-.04em}.next-arrow{font-size:56px}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:92vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}
@media(max-width:900px){.header{padding:14px 18px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:25px 18px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-btn{display:block}.hero-copy{left:6vw;right:6vw}.section{padding:80px 20px}.section-head{display:block}.section-head p{margin-top:20px}.grid{display:block}.project-card{margin-bottom:36px}.project-card.project-card-featured .project-thumb{aspect-ratio:1.35}.about .section{grid-template-columns:1fr;gap:35px}.about-photo{height:420px}.footer-inner{grid-template-columns:1fr}.project-title{display:block}.project-title .small{text-align:left;margin-top:18px}.project-info{grid-template-columns:1fr;gap:40px;padding:60px 20px}.gallery{grid-template-columns:1fr;padding:0 20px}.gallery figure.wide{grid-column:auto}.gallery img{min-height:260px}.next-inner{display:block}.next-arrow{margin-top:25px}.brand img{width:54px;height:34px}}
.footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:2px}.footer a:hover{border-color:currentColor}.team-line{margin-top:2rem}.team-line strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}

/* v3.2 — navigation / logo refinement */
:root{--header-h:64px}
.header{
  min-height:var(--header-h);
  padding:9px 28px;
  background:rgba(244,243,239,.56);
  backdrop-filter:blur(12px) saturate(110%);
  -webkit-backdrop-filter:blur(12px) saturate(110%);
  border-bottom:1px solid rgba(0,0,0,.035);
}
.brand{display:flex;align-items:center;gap:0;line-height:0}
.brand img{
  width:176px;
  height:auto;
  object-fit:contain;
  border-radius:0;
}
.brand-word,.brand-sub{display:none}
.nav{gap:23px;font-size:10.5px;letter-spacing:.12em}
.hero{margin-top:var(--header-h);min-height:calc(100vh - var(--header-h))}
.project-hero{margin-top:var(--header-h);height:calc(78vh - var(--header-h));min-height:520px}
.footer a{border-bottom:1px solid rgba(0,0,0,.18)}
@media(max-width:900px){
  :root{--header-h:56px}
  .header{padding:8px 16px;min-height:var(--header-h)}
  .brand img{width:150px;height:auto}
  .nav{top:var(--header-h);background:rgba(244,243,239,.93);backdrop-filter:blur(14px)}
  .hero{margin-top:var(--header-h);min-height:calc(100svh - var(--header-h))}
  .project-hero{margin-top:var(--header-h);height:calc(76svh - var(--header-h));min-height:480px}
}
