
:root{
--paper:#fff;--sand:#f6f2ec;--ink:#2a1a30;--plum:#441f52;--orange:#f49e5a;
--dim:#6f6472;--faint:#a49aa8;--hair:#e7e1e6;--hair-s:#e0d8ce;
--serif:"Jost",Helvetica,Arial,sans-serif;--sans:"Archivo",Helvetica,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:17px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font-family:inherit;background:none;border:0;cursor:pointer;color:inherit;text-align:left}
img,svg{display:block;max-width:100%}::selection{background:var(--plum);color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.eb{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--plum);display:flex;align-items:center;gap:12px}
.eb::before{content:"";width:26px;height:2px;background:var(--orange)}
/* HEADER */
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 40px;max-width:1240px;margin:0 auto}
.brand img{height:38px;width:auto}
.hd nav{display:flex;gap:26px;flex-wrap:wrap}
.hd nav a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);transition:color .25s;position:relative;padding:3px 0}
.hd nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--orange);transition:width .3s}
.hd nav a:hover{color:var(--plum)}.hd nav a:hover::after{width:100%}
.mb{display:none;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--plum)}
/* COMUNS */
footer{background:var(--plum);color:#fff;padding:44px 0}
.ft{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.ft img{height:56px;width:auto;opacity:.95}
.ft .fl{display:flex;gap:26px;flex-wrap:wrap;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.ft .fl a:hover{color:var(--orange)}
.ft .cp{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45)}
/* HERO */
.hero{position:relative;width:100%;aspect-ratio:21/9;min-height:420px;overflow:hidden;background:#1b0f21;display:flex;align-items:center}
.slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity 1s ease}
.slide.on{opacity:1}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,15,33,.82),rgba(27,15,33,.45) 58%,rgba(27,15,33,.6)),linear-gradient(180deg,rgba(27,15,33,.2),rgba(27,15,33,.55))}
.hero-in{position:relative;z-index:2;width:100%}
.hero h1{font-family:var(--serif);font-weight:300;color:#fff;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.14;letter-spacing:-.018em;max-width:20ch;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero h1 em{font-style:normal;font-weight:500;color:var(--orange)}
.hero .sub{margin-top:20px;max-width:46ch;color:rgba(255,255,255,.85);font-size:1.02rem;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.hcaps{position:absolute;right:40px;bottom:22px;z-index:3;height:18px;min-width:200px}
.hcap{position:absolute;right:0;bottom:0;white-space:nowrap;opacity:0;transition:opacity .6s;color:rgba(255,255,255,.72);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.hcap.on{opacity:1}.hcap i{font-style:normal;opacity:.5;margin:0 4px}
/* FAIXAS ALTERNADAS */
.band{padding:96px 0}
.band.sand{background:var(--sand)}
.band.plum{background:var(--plum);color:#fff}
.band-h{margin-bottom:44px}
.band-h h2{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;font-size:clamp(2rem,3.5vw,2.8rem);margin-top:14px;max-width:22ch}
.band.plum .band-h h2{color:#fff}.band.plum .eb{color:var(--orange)}
/* SEÇÕES DE PROJETO */
.sec-h{border-bottom:1px solid var(--hair);padding-bottom:16px;margin-bottom:36px;display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.band.sand .sec-h{border-color:var(--hair-s)}
.sec-h h2{font-family:var(--serif);font-weight:400;letter-spacing:-.012em;font-size:2rem;color:var(--plum)}
.sec-h p{color:var(--faint);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:46px 30px}
.card{display:block}
.card-img{position:relative;display:block;aspect-ratio:16/10;background-position:center;background-size:cover;overflow:hidden}
.card-img::after{content:"";position:absolute;inset:0;background:rgba(27,15,33,0);transition:background .4s}
.card:hover .card-img::after{background:rgba(27,15,33,.28)}
.card-go{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);z-index:2;color:#fff;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(255,255,255,.8);padding:9px 16px;opacity:0;transition:opacity .35s,transform .35s}
.card:hover .card-go{opacity:1;transform:translate(-50%,-50%)}
.card-cap{display:block;padding-top:18px}
.card-t{display:block;font-family:var(--serif);font-weight:400;letter-spacing:-.008em;font-size:1.38rem;color:var(--plum)}
.card-m{display:block;margin-top:5px;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
/* ACORDEÃO */
.acc{border-top:1px solid var(--hair-s)}
.acc-i{border-bottom:1px solid var(--hair-s)}
.acc-b{width:100%;display:flex;align-items:flex-start;gap:18px;padding:22px 0;font-size:1.06rem;color:var(--plum);transition:color .25s}
.acc-b:hover{color:var(--orange)}
.acc-s{flex:0 0 auto;width:20px;height:20px;position:relative;margin-top:6px}
.acc-s::before,.acc-s::after{content:"";position:absolute;background:var(--orange);transition:transform .3s,opacity .3s}
.acc-s::before{left:0;top:9px;width:20px;height:2px}
.acc-s::after{left:9px;top:0;width:2px;height:20px}
.acc-i.open .acc-s::after{transform:scaleY(0)}
.acc-t{flex:1}
.acc-p{max-height:0;overflow:hidden;transition:max-height .45s ease}
.acc-c{padding:0 0 26px 38px;color:var(--dim);max-width:76ch}
.acc-c p{margin-bottom:12px}
.acc-c ul{list-style:none;margin:10px 0 4px}
.acc-c li{padding:5px 0 5px 18px;position:relative}
.acc-c li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:1px;background:var(--orange)}
.acc-c .kv{margin-top:14px;font-size:.94rem;line-height:1.9}
.acc-c .kv b{color:var(--plum);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-right:8px}
.obs{margin-top:44px;border-left:2px solid var(--orange);padding-left:24px;max-width:72ch}
.obs .t{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);margin-bottom:12px}
.obs ol{margin-left:18px;color:var(--dim);font-size:.92rem;line-height:1.6}.obs li{padding:4px 0}.obs strong{color:var(--ink);font-weight:400}
/* STUDIO */
.sg{display:grid;grid-template-columns:210px 1fr;gap:52px;align-items:start}
.sg img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1)}
.sg h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;font-size:1.75rem;margin-bottom:16px;color:var(--plum)}
.sg p{color:var(--dim);max-width:56ch;margin-bottom:12px}
.tags{margin-top:22px;display:flex;gap:9px;flex-wrap:wrap}
.tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);border:1px solid var(--hair-s);padding:6px 11px}
/* CONTATO */
.contact h2{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;font-size:clamp(1.9rem,3.3vw,2.6rem);max-width:18ch;margin-bottom:30px;color:#fff}
.cl{display:flex;gap:50px;flex-wrap:wrap}
.cl a{border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:6px;transition:border-color .3s}
.cl a:hover{border-color:var(--orange)}
.cl .k{display:block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-bottom:6px}
.cl .v{color:#fff}
/* PÁGINA DE PROJETO */
.p-cover{position:relative;width:100%;aspect-ratio:16/7;min-height:320px;background-position:center;background-size:cover;display:flex;align-items:flex-end}
.p-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,15,33,.12),rgba(27,15,33,.85))}
.p-head{position:relative;z-index:2;padding-bottom:36px;color:#fff}
.p-head h1{font-family:var(--serif);font-weight:300;letter-spacing:-.018em;font-size:clamp(2.1rem,4.5vw,3.5rem);text-shadow:0 2px 26px rgba(0,0,0,.5)}
.p-meta{margin-top:8px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.p-body{padding:66px 0 30px}
.p-txt{max-width:64ch}
.p-txt p{margin-bottom:20px;color:var(--dim);font-size:1.06rem;line-height:1.75}
.p-txt p:first-child{color:var(--ink);font-size:1.2rem}
.p-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:52px}
.g{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in;padding:0;background:#efeae4}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}
.g:hover img{transform:scale(1.04);opacity:.9}
.pend{margin-top:14px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.pnav{border-top:1px solid var(--hair);margin-top:70px;padding:26px 0 80px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pnav a{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid transparent;padding-bottom:4px;transition:color .3s,border-color .3s}
.pnav a:hover{color:var(--plum);border-color:var(--orange)}
/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.985);display:none;align-items:center;justify-content:center;padding:70px 40px}
.lb.open{display:flex}.lb img{max-width:88vw;max-height:80vh;object-fit:contain}
.lb-btn{position:absolute;border:0;background:none;cursor:pointer;color:var(--plum);font-size:2.3rem;line-height:1;padding:12px;opacity:.5;transition:opacity .25s}.lb-btn:hover{opacity:1}
.lb-close{top:14px;right:24px;font-size:1.9rem}.lb-prev{left:16px;top:50%;transform:translateY(-50%)}.lb-next{right:16px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:.66rem;letter-spacing:.2em;color:var(--faint)}
@media(max-width:900px){
 .wrap{padding:0 22px}.hd{padding:12px 22px}.brand img{height:32px}
 .hd nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--hair);flex-direction:column;gap:0}
 .hd nav.open{display:flex}.hd nav a{padding:15px 22px;border-top:1px solid var(--hair);font-size:.78rem}
 .mb{display:block}
 .hero{aspect-ratio:auto;min-height:76vh;padding:90px 0 60px}
 .hcaps{right:22px;bottom:16px}
 .band{padding:64px 0}
 .cards{grid-template-columns:1fr;gap:40px}
 .sg{grid-template-columns:1fr;gap:24px}.sg img{max-width:170px}
 .acc-c{padding-left:0}
 .p-cover{aspect-ratio:4/3;min-height:0}.p-body{padding:44px 0 20px}
 .p-gal{grid-template-columns:repeat(2,1fr)}
 .ft{flex-direction:column;align-items:flex-start;gap:22px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
