@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,600;1,700&display=swap');

/* Portfólio Malcolm Telles — Paleta Café e Contraste | versão 1.10.1 */
:root{--vanilla:#f5efe6;--oat:#d9c5b2;--caramel:#8b5e34;--mocha:#5c3a21;--espresso:#2c1e16;--ink:#30231c;--muted:#745f50;--line:#c8ad94;--surface:#eadbcb;--white:#fffaf3;--shadow:0 16px 42px rgba(44,30,22,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--oat);color:var(--espresso);font:14px Manrope,Arial,sans-serif}.sidebar{background:var(--espresso);width:224px;position:fixed;inset:0 auto 0 0;padding:24px 10px;display:flex;flex-direction:column;z-index:4;border-right:1px solid rgba(245,239,230,.08)}.mark{color:var(--vanilla);font-family:Playfair Display,serif;font-size:34px;text-decoration:none;text-align:center;height:48px;line-height:39px;margin-bottom:21px;transition:transform .25s}.mark:hover{transform:rotate(18deg)}nav a{height:36px;padding:0 12px;display:flex;align-items:center;gap:11px;color:#dcccbc;text-decoration:none;border-radius:5px;font-size:12px;font-weight:600;transition:.2s}nav a:hover,nav a.active{background:var(--mocha);color:var(--vanilla)}nav a:focus-visible,.button:focus-visible,.project-card:focus-visible,.contact-link:focus-visible{outline:2px solid var(--oat);outline-offset:3px}.nav-icon{font-size:15px;width:15px;text-align:center;color:var(--oat)}nav small{margin-left:auto;color:#cdb8a3;font:10px 'DM Mono',monospace;background:rgba(245,239,230,.09);border-radius:3px;padding:2px 4px}.nav-label{font-size:10px;font-weight:700;color:#a88e75;margin:25px 12px 8px;text-transform:uppercase;letter-spacing:.08em}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(245,239,230,.12);padding:15px 12px 2px;font-size:10px;color:#c8b4a0;display:flex;align-items:center;gap:8px}.sidebar-footer i{width:6px;height:6px;background:#b9dd80;border-radius:50%;display:block;box-shadow:0 0 8px #b9dd80}main{margin:7px 8px 7px 224px;min-height:calc(100vh - 14px);background:var(--vanilla);border-radius:7px;overflow:hidden}.section{max-width:1110px;margin:0 auto;padding:88px 42px}.hero{padding-top:82px;min-height:465px;background:radial-gradient(circle at 88% 8%,rgba(217,197,178,.73),transparent 29%)}.eyebrow{margin:0;color:var(--muted);font:10px 'DM Mono',monospace;letter-spacing:.11em}.eyebrow span{display:inline-block;height:1px;width:34px;background:var(--caramel);vertical-align:middle;margin:0 9px}.hero h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(70px,10vw,140px);line-height:.85;letter-spacing:-.075em;font-weight:600;margin:37px 0 30px}.hero em,h2 em{font-style:italic;color:var(--caramel)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:820px}.hero-bottom p{max-width:515px;line-height:1.7;color:var(--muted);margin:0;font-size:13px}.button{color:var(--vanilla);background:var(--mocha);border:1px solid var(--mocha);border-radius:4px;text-decoration:none;padding:14px 17px;font-size:12px;font-weight:700;white-space:nowrap;box-shadow:0 5px 0 #3d2514;transition:.2s}.button:hover{background:var(--caramel);border-color:var(--caramel);transform:translateY(-2px);box-shadow:0 7px 0 var(--mocha)}.button b{font-size:18px;margin-left:14px}.highlights{padding-top:0;padding-bottom:88px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.highlights article{border-left:1px solid var(--line);padding:13px 20px;min-height:105px}.highlights article:first-child{border-color:transparent}.highlights span{font:10px 'DM Mono',monospace;color:var(--caramel)}.highlights p{font-size:12px;line-height:1.5;color:var(--muted);margin:14px 0 0}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:92px;padding-bottom:98px}.section-heading h2,.section-title-row h2,.contact h2{font:600 clamp(39px,4.1vw,61px)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:20px 0 0}.about-copy{font-size:15px;color:var(--muted);line-height:1.7;padding-top:32px}.about-copy p{margin:0 0 18px}.skills{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;margin-top:-15px}.skills span{border:1px solid var(--line);border-radius:50px;padding:8px 12px;color:var(--mocha);font:10px 'DM Mono',monospace;background:rgba(255,250,243,.36)}.section-title-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.section-title-row .muted{color:var(--muted);font-size:11px;line-height:1.5;margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.project-card{color:inherit;text-decoration:none;background:var(--white);padding:12px;border:1px solid rgba(139,94,52,.13);border-radius:7px;transition:transform .22s,box-shadow .22s}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.project-visual{height:220px;border-radius:4px;background:#282828;position:relative;overflow:hidden;padding:12px}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.project-visual.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,30,22,.28),transparent 30%);z-index:1;pointer-events:none}.project-meta{display:flex;justify-content:space-between;margin-top:14px;color:var(--caramel);font:10px 'DM Mono',monospace}.project-meta b{font:16px Manrope,sans-serif}.project-card h3{font:600 18px 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:12px 0 7px}.project-card>p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;max-width:410px}.services{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;padding-top:125px;padding-bottom:112px}.service-list{border-top:1px solid var(--line)}.service-list article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:20px 0}.service-list article>span{font:10px 'DM Mono',monospace;color:var(--caramel);padding-top:4px}.service-list h3{margin:0 0 7px;font:600 18px 'Playfair Display',Georgia,serif}.service-list p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.contact{border-top:1px solid var(--line);padding-top:110px;padding-bottom:83px;background:linear-gradient(180deg,var(--vanilla),#efe2d4)}.contact h2{font-size:clamp(52px,7.3vw,101px);margin:23px 0 42px}.contact-link{font:600 clamp(22px,3vw,36px) 'Playfair Display',Georgia,serif;color:var(--espresso);text-decoration:none;border-bottom:1px solid var(--caramel);padding-bottom:10px;display:inline-block;min-width:460px}.contact-link span{color:var(--caramel);margin-left:35px}.contact-links{display:flex;gap:25px;margin-top:75px}.contact-links a{color:var(--muted);text-decoration:none;font:11px 'DM Mono',monospace}.contact-links a:hover{color:var(--caramel)}footer{border-top:1px solid var(--line);padding:20px 42px;color:var(--muted);font:10px 'DM Mono',monospace;display:flex;justify-content:space-between;background:#efe2d4}.gallery-trigger{cursor:zoom-in}.project-modal{position:fixed;inset:0;z-index:20;background:rgba(44,30,22,.78);padding:30px;display:grid;place-items:center}.project-modal[hidden]{display:none}.project-modal-dialog{position:relative;width:min(940px,100%);max-height:calc(100vh - 60px);overflow:auto;background:var(--white);border-radius:9px;padding:18px;box-shadow:0 25px 80px #2c1e1690}.project-modal-close{position:absolute;z-index:3;right:28px;top:28px;width:37px;height:37px;border:0;border-radius:50%;background:#2c1e16e6;color:#fff;font-size:24px;line-height:1;cursor:pointer}.project-modal-media{min-height:320px;background:#2c1e16;border-radius:5px;display:grid;place-items:center;overflow:hidden}.project-modal-media img,.project-modal-media video,.project-modal-media iframe{width:100%;max-height:590px;display:block;object-fit:contain;border:0}.project-modal-media iframe{aspect-ratio:16/9;max-height:none}.project-modal-thumbs{display:flex;gap:8px;overflow:auto;margin:12px 0}.project-modal-thumbs button{width:68px;height:50px;padding:0;border:2px solid transparent;border-radius:4px;overflow:hidden;background:var(--oat);cursor:pointer;flex:0 0 auto}.project-modal-thumbs button.active{border-color:var(--caramel)}.project-modal-thumbs img{width:100%;height:100%;object-fit:cover}.project-modal-copy{padding:7px 4px 3px}.project-modal-copy h3{font:600 clamp(27px,4vw,42px)/1 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:12px 0}.project-modal-copy>p:not(.eyebrow){color:var(--muted);line-height:1.6;max-width:700px}.project-modal-copy a{display:inline-block;margin-top:7px;color:#fff;background:var(--mocha);padding:11px 14px;border-radius:4px;text-decoration:none;font-size:12px;font-weight:700}.menu-toggle{display:none}
@media(max-width:780px){body{background:var(--vanilla)}.sidebar{transform:translateX(-102%);transition:.25s;width:250px;box-shadow:10px 0 30px rgba(44,30,22,.35)}.sidebar.open{transform:translateX(0)}.menu-toggle{display:block;position:fixed;z-index:6;top:16px;right:16px;width:42px;height:39px;border:1px solid var(--line);background:var(--vanilla);border-radius:4px}.menu-toggle span{display:block;width:17px;height:1px;background:var(--espresso);margin:5px auto}main{margin:0;border-radius:0}.section{padding:60px 21px}.hero{padding-top:90px;min-height:545px}.hero h1{font-size:clamp(56px,18vw,87px);margin-top:27px}.hero-bottom{display:block}.hero-bottom p{font-size:12px}.button{display:inline-block;margin-top:28px}.highlights{grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:54px}.highlights article{padding:12px;min-height:118px}.highlights article:nth-child(odd){border-left-color:transparent}.about,.services{display:block}.about-copy{padding-top:34px}.skills{margin-top:30px}.section-title-row{display:block}.section-title-row .muted{margin-top:18px}.project-grid{grid-template-columns:1fr}.project-visual{height:205px}.services .section-heading{margin-bottom:45px}.contact-link{min-width:0;width:100%;font-size:25px}.contact-link span{float:right;margin:0}footer{padding:20px 21px;display:block;line-height:1.8}footer span{display:block}.contact-links{margin-top:55px}.project-modal{padding:12px}.project-modal-dialog{max-height:calc(100vh - 24px);padding:12px}.project-modal-media{min-height:220px}.project-modal-close{right:23px;top:23px}.project-modal-copy h3{font-size:30px}}

/*
 * Mantém o conteúdo na largura editorial original, mas faz cada seção
 * preencher toda a área principal. Assim, gradientes, divisórias e fundos
 * não terminam abruptamente em telas largas.
 */
.section{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(42px,calc((100% - 1110px)/2 + 42px));
  padding-right:max(42px,calc((100% - 1110px)/2 + 42px));
}
@media(max-width:780px){.section{padding:60px 21px}}
.mark img{display:block;width:100%;height:48px;object-fit:contain;padding:3px 17px}.mark:has(img):hover{transform:scale(1.04)}

/* Projetos 1.9.0 — apresentação única, sem modelos visuais por categoria. */
.project-card{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}.project-card:focus-visible{outline-color:var(--caramel)}
.project-visual{padding:0;background:radial-gradient(circle at 80% 18%,#b6875d 0 9%,transparent 28%),linear-gradient(135deg,var(--mocha),var(--espresso));isolation:isolate}
.project-visual:after,.project-visual.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(44,30,22,.88));z-index:2;pointer-events:none}
.project-cover-copy{position:absolute;z-index:3;left:22px;right:22px;bottom:20px;color:var(--white);display:grid;gap:5px}
.project-cover-copy span{font:10px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#eadbcb}
.project-cover-copy strong{font:600 clamp(23px,3vw,34px)/.95 'Playfair Display',Georgia,serif;letter-spacing:-.045em}
.project-image{z-index:1}
.project-meta b{font:700 10px 'DM Mono',monospace}

.gallery-trigger{cursor:pointer}
.project-modal{background:rgba(44,30,22,.88);backdrop-filter:blur(7px)}
.project-modal-dialog{width:min(1040px,100%);border:1px solid var(--line);padding:18px 18px 24px;animation:projectModalIn .24s ease}
.project-modal-stage{position:relative;overflow:hidden;border-radius:6px;background:var(--espresso)}
.project-modal-media{aspect-ratio:16/9;min-height:0;border-radius:0}
.project-modal-media img{width:100%;height:100%;max-height:none;object-fit:cover}
.project-modal-placeholder{width:100%;height:100%;display:grid;place-items:center;padding:70px 30px;background:radial-gradient(circle at 76% 18%,#b6875d 0 9%,transparent 29%),linear-gradient(135deg,var(--mocha),var(--espresso));color:#eadbcb;font:600 clamp(34px,7vw,76px)/.92 'Playfair Display',Georgia,serif;text-align:center;letter-spacing:-.055em}
.project-modal-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,30,22,.08) 35%,rgba(44,30,22,.9));pointer-events:none;z-index:1}
.project-modal-cover-copy{position:absolute;z-index:2;left:30px;right:90px;bottom:25px;color:var(--white);display:grid;gap:6px;pointer-events:none}
.project-modal-cover-copy span{font:10px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase;color:#eadbcb}
.project-modal-cover-copy strong{font:600 clamp(29px,5vw,58px)/.92 'Playfair Display',Georgia,serif;letter-spacing:-.055em}
.project-modal-close{z-index:5;background:var(--white);color:var(--espresso);border:1px solid rgba(44,30,22,.16);box-shadow:0 6px 18px rgba(44,30,22,.2)}
.project-modal-arrow{position:absolute;z-index:3;top:50%;translate:0 -50%;width:42px;height:42px;border:1px solid rgba(255,250,243,.5);border-radius:50%;background:rgba(44,30,22,.7);color:var(--white);font-size:19px;cursor:pointer;transition:.2s}
.project-modal-arrow:hover,.project-modal-arrow:focus-visible{background:var(--caramel);border-color:var(--caramel)}
.project-modal-arrow.previous{left:18px}.project-modal-arrow.next{right:18px}
.project-modal-count{position:absolute;z-index:3;right:18px;bottom:18px;padding:6px 9px;border-radius:20px;background:rgba(44,30,22,.7);color:var(--white);font:10px 'DM Mono',monospace}
.project-modal-thumbs{margin:12px 0 0;padding-bottom:2px}
.project-modal-thumbs:empty{display:none}
.project-modal-thumbs button{width:82px;height:58px;border-radius:5px;opacity:.64;transition:.2s}
.project-modal-thumbs button:hover,.project-modal-thumbs button.active{opacity:1;border-color:var(--caramel)}
.project-modal-copy{padding:24px 8px 3px;display:grid;grid-template-columns:minmax(210px,.72fr) 1.28fr;column-gap:48px;align-items:start}
.project-modal-copy .eyebrow{grid-column:1}
.project-modal-copy h3{grid-column:1;margin-top:10px}
.project-modal-copy>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0;font-size:13px}
@keyframes projectModalIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:780px){.project-modal-dialog{padding:10px 10px 20px}.project-modal-media{aspect-ratio:4/3}.project-modal-cover-copy{left:18px;right:70px;bottom:17px}.project-modal-cover-copy strong{font-size:31px}.project-modal-arrow{width:36px;height:36px}.project-modal-arrow.previous{left:10px}.project-modal-arrow.next{right:10px}.project-modal-count{right:10px;bottom:10px}.project-modal-close{right:18px;top:18px}.project-modal-copy{display:block;padding:20px 5px 0}.project-modal-copy>p:not(.eyebrow){font-size:12px}.project-modal-thumbs button{width:70px;height:50px}}

/* Orçamentos 1.10.1 — três soluções com valores editáveis e sem rótulo genérico de plano. */
.pricing{border-top:1px solid var(--line);padding-top:105px;padding-bottom:112px;background:linear-gradient(155deg,var(--vanilla) 0 58%,#eadbcb 100%)}
.pricing-heading{align-items:end;margin-bottom:42px}
.pricing-heading .muted{max-width:325px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.pricing-card{min-height:385px;padding:27px 25px 25px;border:1px solid var(--line);border-radius:8px;background:rgba(255,250,243,.78);box-shadow:0 9px 30px rgba(44,30,22,.05);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s}
.pricing-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pricing-card-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:13px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.pricing-card-title>span{color:var(--caramel);font:10px 'DM Mono',monospace;letter-spacing:.1em}
.pricing-card h3{margin:0;font:600 clamp(24px,2.3vw,31px)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.045em}
.pricing-price{margin:22px 0 0;color:var(--mocha);font:600 clamp(22px,2.2vw,30px)/1 'Playfair Display',Georgia,serif;letter-spacing:-.035em}
.pricing-label{display:inline-flex;align-self:flex-start;margin:22px 0 0;padding:7px 10px;border:1px solid var(--caramel);border-radius:40px;color:var(--caramel);font:500 9px 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.pricing-description{margin:18px 0 0;color:var(--muted);font-size:11px;line-height:1.65}
.pricing-card ul{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.pricing-card li{position:relative;padding:13px 0 13px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.45}
.pricing-card li:before{content:"◆";position:absolute;left:0;top:15px;color:var(--caramel);font-size:7px}
.pricing-card-custom{background:var(--espresso);border-color:var(--espresso);color:var(--vanilla);box-shadow:0 16px 38px rgba(44,30,22,.19)}
.pricing-card-custom .pricing-card-title,.pricing-card-custom ul,.pricing-card-custom li{border-color:rgba(245,239,230,.18)}
.pricing-card-custom .pricing-card-title>span,.pricing-card-custom .pricing-price,.pricing-card-custom .pricing-label,.pricing-card-custom li:before{color:var(--oat)}
.pricing-card-custom .pricing-label{border-color:rgba(217,197,178,.65)}
.pricing-card-custom .pricing-description,.pricing-card-custom li{color:#dac7b5}
@media(max-width:1050px){.pricing-grid{grid-template-columns:1fr}.pricing-card{min-height:0}.pricing-card h3{font-size:30px}}
@media(max-width:780px){.pricing{padding-top:70px;padding-bottom:70px}.pricing-heading{margin-bottom:30px}.pricing-card{padding:23px 20px}.pricing-card h3{font-size:27px}}

/* Acessibilidade e novas ações: somente tokens existentes. */
.plan-cta{min-height:44px;margin-top:22px;align-self:flex-start}
.pricing-card .muted,.service-list p{font-size:13px}
.project-modal-case{font-size:14px;line-height:1.6}
#project-modal-case dt{font-weight:700;margin-top:12px}
#project-modal-case dd{margin:4px 0}
footer a{color:var(--mocha)}
footer button,.privacy-choice button{border:1px solid var(--line);background:var(--vanilla);color:var(--espresso);padding:10px;cursor:pointer}
.privacy-choice{position:fixed;bottom:20px;left:20px;right:20px;z-index:30;max-width:620px;margin:auto;background:var(--white);color:var(--espresso);border:1px solid var(--line);padding:22px;border-radius:8px}
.privacy-choice[hidden]{display:none}
.privacy-choice p{font-size:14px;line-height:1.6}
.privacy-choice a{color:var(--mocha);margin-left:12px}
:focus-visible{outline:2px solid var(--caramel);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
