/* Estúdio Camila Feldman — paleta do manual de marca.
   Base clara (branco + Roxo Cami como tinta); as outras cores entram em blocos, uma por seção. */
:root{
  --roxo:#3D0E1A; --laranja:#D7662B; --rosa:#EDC7DF; --bege:#FBD9CC; --azul:#A8AEC6; --verde:#755B15; --branco:#F9F8F6;
  --bg:var(--branco); --ink:var(--roxo); --mute:#6B4A52; --line:#E6D8D2; --card:#FFFFFF;
  --hover:#B04E1C; /* laranja escurecido: passa contraste como texto */
  --display:"Lexend",system-ui,sans-serif; --body:"Montserrat",system-ui,sans-serif;
  --gut:clamp(16px,5vw,72px); --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.7}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--laranja);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(40px,5.4vw,84px);font-weight:500;letter-spacing:-.025em}
h2{font-size:clamp(28px,3.2vw,48px)}
h3{font-size:clamp(20px,1.7vw,24px)}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding:clamp(64px,9vw,120px) 0}
.eyebrow{color:var(--verde);font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;font-weight:600}
.lead{font-size:clamp(16px,1.3vw,19px);max-width:640px}
.mute{color:var(--mute)}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--roxo);color:var(--branco);padding:10px 14px}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--roxo);color:var(--branco);padding:15px 26px;min-height:48px;text-decoration:none;font-weight:600;font-size:15px;border:0;border-radius:999px;cursor:pointer;font-family:var(--body);transition:background .2s,color .2s}
.btn:hover{background:var(--laranja);color:var(--roxo)}
.link{display:inline-flex;align-items:center;min-height:48px;border-bottom:2px solid var(--laranja);padding:0 4px;text-decoration:none;font-size:15px;font-weight:500}
.link:hover{color:var(--hover)}
.ctas{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}

/* topo */
.top{position:absolute;top:0;left:0;right:0;z-index:20;color:var(--branco)}
.top.solid{position:relative;color:var(--ink);border-bottom:1px solid var(--line);background:var(--bg)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px}
.logo img{height:46px;width:auto}
.top .logo .claro{display:block}.top .logo .escuro{display:none}
.top.solid .logo .claro{display:none}.top.solid .logo .escuro{display:block}
.nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:500}
.nav a{text-decoration:none;padding:12px 0}
.nav a:hover,.nav a[aria-current]{color:var(--laranja)}
.top.solid .nav a:hover,.top.solid .nav a[aria-current]{color:var(--hover)}
.nav .btn{padding:11px 20px;min-height:44px;font-size:14px;color:var(--branco)}
.top:not(.solid) .nav .btn{background:var(--branco);color:var(--roxo)}
.top:not(.solid) .nav .btn:hover{background:var(--laranja)}
.nav .btn:hover{color:var(--roxo)}
.menu-btn{display:none;background:none;border:1px solid currentColor;color:inherit;width:48px;height:48px;cursor:pointer;border-radius:999px}
.menu-btn svg{margin:auto}

/* abertura da home: foto em tela cheia, sombra neutra */
.hero{position:relative;min-height:min(92vh,880px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:var(--branco)}
.hero>picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,10,10,.45) 0%,rgba(15,10,10,0) 30%,rgba(15,10,10,.7) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:140px;padding-bottom:72px}
.hero h1{max-width:900px}
.hero .link{color:var(--branco)}
.hero .link:hover{color:var(--bege)}
.hero .btn{background:var(--branco);color:var(--roxo)}
.hero .btn:hover{background:var(--laranja)}

/* cabeçalho de página interna */
.phead{padding:clamp(48px,7vw,96px) 0 clamp(32px,4vw,56px)}
.phead h1{font-size:clamp(36px,4.8vw,72px);max-width:1000px}
.phead .lead{margin-top:24px}
.crumbs{font-size:13px;color:var(--mute);margin-bottom:24px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--hover)}

/* lista de projetos */
.rows{border-bottom:1px solid var(--line)}
.rows a{display:grid;grid-template-columns:56px 1.3fr 1fr 240px;gap:24px;align-items:center;padding:20px 12px;border-top:1px solid var(--line);text-decoration:none;transition:background .2s}
.rows a:hover{background:var(--rosa)}
.rows span{color:var(--mute);font-size:14px}
.rows b{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.9vw,26px)}
.rows img{aspect-ratio:3/2;object-fit:cover;width:240px;border-radius:4px}

/* cartões de projeto */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.card{text-decoration:none;display:block}
.card .ph{overflow:hidden;aspect-ratio:4/5;background:var(--bege);border-radius:4px}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover img{transform:scale(1.03)}
.card h3{margin-top:8px}
.card:hover h3{color:var(--hover)}
.card p{color:var(--mute);font-size:15px;margin:6px 0 0}
.card small{display:block;color:var(--verde);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-top:16px}

/* processo: bloco begezinho */
.duo{display:grid;grid-template-columns:1fr 1fr;background:var(--bege)}
.duo>picture img{width:100%;height:100%;object-fit:cover;min-height:520px}
.duo>div{padding:clamp(48px,6vw,88px) var(--gut);display:flex;flex-direction:column;justify-content:center}
.duo h2{margin-bottom:32px}
.steps{margin:0;padding:0;list-style:none;display:grid;gap:22px}
.steps li{display:grid;grid-template-columns:48px 1fr;gap:12px;font-size:15px;line-height:1.6;color:var(--mute)}
.steps li b{font-family:var(--display);font-weight:500;width:36px;height:36px;border-radius:50%;background:var(--laranja);color:var(--roxo);display:flex;align-items:center;justify-content:center;font-size:14px}
.steps li strong{color:var(--ink);display:block;font-weight:600;font-size:16px}

/* estúdio: bloco azul claro */
.studio-sec{background:var(--azul)}
.studio{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px);align-items:center}
.studio .ph{aspect-ratio:4/5;overflow:hidden;border-radius:4px}
.studio .ph img{width:100%;height:100%;object-fit:cover}
.studio .eyebrow,.studio .mute,.studio address{color:var(--roxo)}
.studio address{font-style:normal;margin:20px 0 28px}
.studio address a{font-weight:600;text-decoration:none;border-bottom:2px solid var(--roxo)}

/* serviços */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.svc a{background:var(--card);padding:32px 28px;text-decoration:none;display:flex;flex-direction:column;gap:12px;min-height:200px;transition:background .2s}
.svc a:hover{background:var(--rosa)}
.svc p{color:var(--mute);font-size:15px;margin:0}
.svc .arr{margin-top:auto;color:var(--hover);font-size:14px;font-weight:600}

/* página de projeto */
.pmeta{display:flex;flex-wrap:wrap;gap:8px 32px;color:var(--mute);font-size:14px;margin-top:20px}
.pmeta b{color:var(--ink);font-weight:600}
.pcover{margin:0}
.pcover img{width:100%;max-height:86vh;object-fit:cover}
.ptext{display:grid;grid-template-columns:4fr 7fr;gap:clamp(24px,5vw,80px)}
.ptext .body p{font-size:clamp(16px,1.2vw,18px)}
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gal a{display:block;overflow:hidden;background:var(--bege);border-radius:4px}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal a:hover img{transform:scale(1.02)}
.gal .wide{grid-column:1/-1}
.gal .wide img{aspect-ratio:16/9}
.gal .tall img{aspect-ratio:4/5}
.credit{font-size:13px;color:var(--mute);margin-top:20px}
.credit a,.ptext .body .mute a{color:var(--hover);font-weight:600;text-decoration:none}
.credit a:hover,.ptext .body .mute a:hover{text-decoration:underline}
.pnav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pnav a{padding:40px var(--gut);text-decoration:none;display:block;transition:background .2s}
.pnav a:hover{background:var(--rosa)}
.pnav a+a{text-align:right;border-left:1px solid var(--line)}
.pnav span{display:block;color:var(--mute);font-size:13px;margin-bottom:6px}
.pnav b{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,28px)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,8,12,.95);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:94vw;max-height:88vh;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:var(--branco);width:56px;height:56px;cursor:pointer;font-size:28px}
.lb .x{top:12px;right:12px}.lb .p{left:8px;top:50%;transform:translateY(-50%)}.lb .n{right:8px;top:50%;transform:translateY(-50%)}

/* serviço: inclui + faq */
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,5vw,80px)}
.check{list-style:none;margin:0;padding:0}
.check li{padding:16px 0 16px 34px;border-top:1px solid var(--line);position:relative}
.check li:last-child{border-bottom:1px solid var(--line)}
.check li::before{content:"";position:absolute;left:4px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--laranja)}
.faq details{border-top:1px solid var(--line);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;color:var(--hover);font-size:26px;font-weight:300}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--mute);margin:0 0 20px}
.quote{font-family:var(--display);font-size:clamp(22px,2.3vw,34px);line-height:1.25;max-width:980px}

/* contato */
.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:13px;color:var(--mute);margin-bottom:8px;font-weight:500}
.form input,.form select,.form textarea{width:100%;background:var(--card);border:1px solid var(--line);color:var(--ink);padding:14px 16px;font:inherit;font-size:16px;min-height:50px;border-radius:6px}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--roxo)}
.form .hp{position:absolute;left:-9999px}
.form .note{font-size:13px;color:var(--mute)}
.wa{display:flex;flex-direction:column;gap:20px;padding:36px;background:var(--bege);border-radius:6px;align-items:flex-start}
.wa a{word-break:break-word}

/* chamada final: bloco laranja */
.cta-end{background:var(--laranja)}
.cta-end .wrap{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px);display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:end}
.cta-end h2{font-size:clamp(32px,4.2vw,62px);font-weight:500;max-width:820px;color:var(--roxo)}

/* rodapé: roxo com begezinho, como no manual */
.foot{background:var(--roxo);color:var(--bege);font-size:14px}
.foot .wrap{padding-top:56px;padding-bottom:40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.foot h4{font-family:var(--body);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--rosa);margin:0 0 14px;font-weight:600}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.foot a{text-decoration:none;display:inline-block;padding:4px 0}
.foot a:hover{color:var(--laranja)}
.foot .legal{grid-column:1/-1;border-top:1px solid rgba(251,217,204,.2);padding-top:24px;font-size:12px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:var(--laranja);color:var(--roxo);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(61,14,26,.3)}
.wa-float:hover{background:var(--roxo);color:var(--bege)}
.wa-float svg{width:28px;height:28px}
.btn svg{width:20px;height:20px;flex:none}

@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .menu-btn{display:flex}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);padding:8px var(--gut) 20px}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .top:not(.solid) .nav .btn,.nav .btn{margin-top:12px;justify-content:center;background:var(--roxo);color:var(--branco)}
  .duo,.studio,.ptext,.split{grid-template-columns:1fr}
  .duo>picture img{min-height:320px}
  .rows a{grid-template-columns:1fr;gap:6px}
  .rows a>span:first-child{display:none}
  .rows img{width:100%;order:-1}
  .gal{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .pnav{grid-template-columns:1fr}
  .pnav a+a{border-left:0;border-top:1px solid var(--line);text-align:left}
}
@media (max-width:560px){
  .cards,.svc{grid-template-columns:1fr}
  .foot .wrap{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
