:root{
  --bg:#080808; --card:#141414; --line:#232323;
  --white:#FFFFFF; --muted:#9A9A9A; --accent:#C8C8C8;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'Consolas',ui-monospace,'SF Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;}
.label{font-family:var(--mono);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);}
.serif{font-family:var(--serif);font-weight:400;}
em,.it{font-style:italic;color:var(--accent);}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(to bottom,rgba(8,8,8,.9),rgba(8,8,8,0));}
.brand{font-family:var(--serif);font-size:24px;letter-spacing:.5px;}
nav{display:flex;gap:34px;font-size:14px;color:#d8d8d8;}
nav a:hover,nav a.on{color:#fff;}
@media(max-width:820px){nav{gap:18px;font-size:12px;}}
@media(max-width:560px){nav a:not(.brandlink){display:none;}}

/* HERO (home) */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:120px 24px 80px;background:#0c0d10;}
.hero .heroimg{position:absolute;inset:0;background:url('imagens/hero.jpg') center/cover no-repeat;filter:grayscale(10%);}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.6) 0%,rgba(8,8,8,.4) 45%,#080808 100%);}
.hero>*{position:relative;z-index:2;}
.badge{display:inline-block;background:#fff;color:#080808;font-family:var(--mono);font-size:11px;letter-spacing:2.4px;text-transform:uppercase;padding:9px 20px;border-radius:9999px;margin-bottom:34px;}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.2vw,72px);line-height:1.05;letter-spacing:-1.44px;text-shadow:0 2px 40px rgba(0,0,0,.55);}
.hero h1 .l2{display:block;font-style:italic;color:var(--accent);}
.hero p.sub{max-width:620px;margin:26px auto 0;color:#dcdcdc;font-size:17px;line-height:1.7;}
.roll{margin-top:56px;font-family:var(--mono);font-size:11px;letter-spacing:3px;color:#cfcfcf;}

.btn-white{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#080808;font-size:15px;padding:16px 34px;border-radius:9999px;transition:transform .2s;}
.btn-white:hover{transform:translateY(-2px);}

section{padding:110px 0;}
.sec-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,56px);line-height:1.12;letter-spacing:-.5px;margin-top:14px;}

/* inner page head */
.page-head{padding:170px 0 40px;}
.page-head .crumb{font-family:var(--mono);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(38px,5vw,64px);line-height:1.05;margin-top:16px;}
.page-head p.intro{color:#cfcfcf;font-size:18px;line-height:1.8;max-width:720px;margin-top:22px;}

/* TRAJETORIA */
.traj p.lead{color:#cfcfcf;font-size:18px;line-height:1.8;max-width:760px;margin-top:26px;}
.traj .items{margin-top:40px;display:grid;gap:22px;max-width:820px;}
.traj .item{padding-left:18px;border-left:4px solid var(--accent);color:var(--muted);font-size:16px;line-height:1.7;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:60px;}
.stat{background:var(--bg);padding:34px 26px;}
.stat .n{font-family:var(--serif);font-size:44px;line-height:1;}
.stat .k{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:12px;}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr);}}

/* FILOSOFIA / foto Melissa */
.filo{background:#0b0b0b;}
.filo-grid{display:grid;grid-template-columns:1fr 400px;gap:70px;align-items:center;}
.filo-big{font-family:var(--serif);font-size:clamp(26px,3.2vw,40px);line-height:1.25;}
.filo blockquote{margin-top:30px;color:var(--muted);font-size:17px;line-height:1.8;font-style:italic;max-width:640px;}
.filo .who{margin-top:22px;}
.filo .who .nm{font-family:var(--serif);font-size:20px;}
.filo .who .rl{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.portrait{aspect-ratio:3/4;border-radius:8px;overflow:hidden;background:#000;border:1px solid var(--line);}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;}
@media(max-width:900px){.filo-grid{grid-template-columns:1fr;gap:40px;}.portrait{max-width:340px;}}

/* PORTFOLIO cards (home + índice) */
.pf-head{text-align:center;}
.pf-head p{color:var(--muted);max-width:560px;margin:16px auto 0;line-height:1.7;}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;}
.pf-card{display:flex;flex-direction:column;}
.pf-card .img{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;background:#111;}
.pf-card .img .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s;}
.pf-card:hover .img .ph{transform:scale(1.05);}
.pf-card h3{font-family:var(--serif);font-size:24px;margin-top:22px;line-height:1.15;}
.pf-card .path{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:10px;}
.pf-card .desc{color:var(--muted);font-size:14px;line-height:1.7;margin-top:14px;}
@media(max-width:980px){.pf-grid{grid-template-columns:repeat(2,1fr);gap:28px;}}
@media(max-width:560px){.pf-grid{grid-template-columns:1fr;}}

/* ESPECIALIZAÇÃO (sobre) */
.eq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px;}
.eq-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:30px;}
.eq-card h4{font-family:var(--serif);font-size:21px;margin-bottom:12px;}
.eq-card p{color:var(--muted);font-size:14px;line-height:1.7;}
@media(max-width:980px){.eq-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.eq-grid{grid-template-columns:1fr;}}

/* PROJETOS (subpáginas) */
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;margin-top:60px;}
.proj{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);}
.proj .img{aspect-ratio:16/10;overflow:hidden;background:#111;}
.proj .img .ph{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .5s;}
.proj:hover .img .ph{transform:scale(1.04);}
.proj .body{padding:26px 28px 30px;}
.proj .body .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;}
.proj .body h3{font-family:var(--serif);font-size:24px;}
.proj .body .yr{font-family:var(--mono);font-size:12px;color:var(--accent);}
.proj .body .loc{font-family:var(--mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);margin-top:8px;}
.proj .body .d{color:var(--muted);font-size:14px;line-height:1.7;margin-top:16px;}
@media(max-width:820px){.proj-grid{grid-template-columns:1fr;}}

/* IMPRENSA */
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;}
.press{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);}
.press .img{aspect-ratio:4/3;overflow:hidden;background:#0f0f0f;}
.press .img .ph{width:100%;height:100%;background-size:cover;background-position:center;}
.press .cap{padding:16px 18px;font-family:var(--mono);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
.press.empty .img{display:flex;align-items:center;justify-content:center;color:#3a3a3a;font-family:var(--mono);font-size:11px;letter-spacing:2px;}
@media(max-width:820px){.press-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.press-grid{grid-template-columns:1fr;}}

/* CONTATO */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;margin-top:56px;}
.cinfo .row{margin-bottom:30px;}
.cinfo .k{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.cinfo .v{font-size:16px;line-height:1.6;color:#e6e6e6;}
.form{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:36px;}
.form h3{font-family:var(--serif);font-size:24px;margin-bottom:6px;}
.form .sub{color:var(--muted);font-size:14px;margin-bottom:24px;}
.form label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;}
.form input,.form select,.form textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:6px;padding:13px 15px;color:#fff;font-family:var(--sans);font-size:14px;outline:none;transition:border-color .2s;}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent);}
.form textarea{min-height:120px;resize:vertical;}
.form .send{margin-top:24px;width:100%;background:#fff;color:#080808;border:none;border-radius:9999px;padding:15px;font-size:15px;font-weight:600;cursor:pointer;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}

/* FOOTER */
footer{background:var(--card);border-top:1px solid var(--line);padding:80px 0 40px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;}
.foot h4{font-family:var(--serif);font-size:30px;margin-bottom:16px;}
.foot .lead{color:var(--muted);line-height:1.7;max-width:420px;}
.foot .btn-white{margin-top:26px;}
.bridge{margin-top:40px;}
.bridge p{color:var(--muted);font-size:13px;line-height:1.6;max-width:360px;margin-bottom:12px;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid #3a3a3a;color:#cfcfcf;font-size:13px;padding:11px 20px;border-radius:8px;transition:.2s;}
.btn-ghost:hover{border-color:var(--accent);color:#fff;}
.foot .col .t{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#6a6a6a;margin-bottom:18px;}
.foot .col a,.foot .col p{display:block;color:#cfcfcf;font-size:14px;line-height:1.9;}
.foot .col a:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:60px;padding-top:24px;border-top:1px solid var(--line);}
.foot-bottom .soc a,.foot-bottom .leg a{color:#8a8a8a;font-size:13px;margin-right:22px;}
.foot-bottom .soc a:hover,.foot-bottom .leg a:hover{color:#fff;}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr;gap:36px;}.foot-bottom{flex-direction:column;gap:18px;align-items:flex-start;}}

/* ===== NAV DROPDOWN (Portfólio) ===== */
.has-drop{position:relative;padding-bottom:10px;margin-bottom:-10px;}
.has-drop>.dtrigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.has-drop .caret{font-size:9px;opacity:.7;}
.has-drop .menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:2px;background:#111;border:1px solid var(--line);border-radius:10px;padding:8px;min-width:250px;opacity:0;visibility:hidden;transition:.18s;box-shadow:0 24px 60px rgba(0,0,0,.55);}
.has-drop:hover .menu{opacity:1;visibility:visible;}
.has-drop .menu a{display:block;padding:11px 14px;border-radius:7px;font-size:13px;color:#cfcfcf;}
.has-drop .menu a:hover{background:rgba(255,255,255,.06);color:#fff;}
.has-drop .menu .sep{height:1px;background:var(--line);margin:6px 8px;}

/* ===== TEXTO EM BLOCOS (estilo Readdy) ===== */
.blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:52px;}
.blocks .b{color:var(--muted);font-size:15px;line-height:1.75;}
.blocks .b .bt{display:block;font-family:var(--mono);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.blocks.cols-3{grid-template-columns:repeat(3,1fr);}
.blocks.cols-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:900px){.blocks,.blocks.cols-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.blocks,.blocks.cols-3,.blocks.cols-2{grid-template-columns:1fr;}}
