/*
Theme Name: VOLTA LAB
Description: A WordPress-native block theme for a creative circular repair studio.
Author: VOLTA LAB / Academic Project
Template: twentytwentyfive
Version: 1.0.0
Text Domain: volta-lab
Tags: full-site-editing, accessibility-ready, blog
*/
@font-face{font-family:Manrope;src:url('assets/fonts/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Vollkorn;src:url('assets/fonts/vollkorn-italic.woff2') format('woff2');font-weight:400 800;font-style:italic;font-display:swap}
:root{--ink:#142924;--paper:#f3f0e8;--lime:#d5f36b;--mint:#d9e7da;--orange:#ff7958;--edge:clamp(20px,5vw,88px);--max:1390px}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper)!important;color:var(--ink);font:17px/1.62 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body :is(p,h1,h2,h3,h4,button,select){font-family:Manrope,Arial,sans-serif}
p{line-height:1.7}
h1,h2,h3,h4{font-weight:850;line-height:1.07;letter-spacing:-.055em}
a{color:inherit;text-underline-offset:4px}
a:hover{color:#2f694f}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:3px solid var(--orange)!important;outline-offset:4px!important}
.wp-site-blocks{padding-top:0;padding-bottom:0}
.wp-site-blocks>*{margin-block-start:0}
.vl-main,.vl-article{margin:0!important;padding:0!important;max-width:none!important}
.vl-main>.wp-block-post-content{margin-block-start:0!important}
.vl-main .wp-block-post-content>.wp-block-group{max-width:none!important;margin-top:0!important;margin-bottom:0!important}
.vl-eyebrow{font-size:.72rem!important;font-weight:900!important;letter-spacing:.2em!important;text-transform:uppercase;line-height:1.5!important;margin-top:0;margin-bottom:26px}
.wp-block-button__link.wp-element-button{display:inline-block;border:2px solid var(--lime);background:var(--lime);color:var(--ink);border-radius:999px;font-weight:850;font-size:.85rem;letter-spacing:.01em;text-decoration:none;padding:13px 27px;transition:transform .2s ease,background .2s ease}
.wp-block-button__link:hover{transform:translateY(-2px);background:#ecffad;border-color:#ecffad;color:var(--ink)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:currentColor;color:inherit}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ink);color:var(--paper)}
.wp-block-buttons{gap:12px}
/* NAVIGATION */
.vl-site-header{position:relative;z-index:40;margin:0!important;background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.13)}
.vl-header-inner{max-width:var(--max);min-height:84px;margin:auto!important;padding:20px var(--edge);gap:28px;align-items:center}
.vl-brand{gap:10px!important;flex-shrink:0;align-items:center}
.vl-brand-symbol{display:grid;place-items:center;background:var(--lime);color:var(--ink);width:38px;height:38px;border-radius:50%;margin:0!important;font-size:1.5rem;font-weight:900;line-height:1}
.vl-wordmark{font-size:1.45rem!important;font-weight:900!important;letter-spacing:-.09em!important;margin:0!important;white-space:nowrap}
.vl-wordmark a,.vl-site-header a{color:#fff!important;text-decoration:none!important}
.vl-site-header .wp-block-navigation{font-size:.77rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase;gap:clamp(12px,1.9vw,30px)}
.vl-site-header a:hover{color:var(--lime)!important}
.vl-site-header .vl-nav-cta a{background:var(--lime);color:var(--ink)!important;border-radius:999px;padding:12px 18px}
.vl-site-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--ink)!important;color:#fff!important;padding:35px}
.vl-site-header .wp-block-navigation__responsive-container.is-menu-open a{font-size:1.25rem}
/* HERO */
.vl-hero{background:var(--ink);color:var(--paper);padding:clamp(42px,6vw,98px) var(--edge) clamp(60px,8vw,105px);min-height:670px;overflow:hidden}
.vl-hero>.wp-block-columns{max-width:var(--max);margin:auto!important;gap:clamp(30px,5vw,95px)!important;align-items:stretch}
.vl-hero .wp-block-column{min-width:0}
.vl-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:27px 0}
.vl-hero .vl-eyebrow:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--lime);margin-right:10px}
.vl-headline{color:var(--paper)!important;font-weight:850!important;letter-spacing:-.087em!important;font-size:clamp(3.7rem,6.5vw,8rem)!important;line-height:.98!important;margin:0 0 32px!important}
.vl-headline em,.vl-footer-headline em{font-family:Vollkorn,Georgia,serif;font-weight:400;letter-spacing:-.06em;color:var(--lime)}
.vl-lead{font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:500;line-height:1.68!important;max-width:650px}
.vl-hero .vl-lead{color:#cddbd2;margin-bottom:25px}
.vl-small{font-size:.68rem!important;letter-spacing:.17em;font-weight:800;opacity:.7;margin-top:35px}
.vl-hero-visual{position:relative;min-height:525px;display:flex;align-items:stretch;padding:6px}
.vl-hero-visual figure{margin:0;width:100%;min-height:525px;height:100%;overflow:hidden;border-radius:260px 12px 12px 12px}
.vl-hero-visual img{width:100%!important;height:100%!important;min-height:525px;object-fit:cover;filter:saturate(.75) contrast(1.06)}
.vl-hero-stamp{position:absolute;z-index:3;bottom:35px;left:-25px;width:clamp(170px,18vw,238px);height:clamp(170px,18vw,238px);background:var(--lime);color:var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-10deg);box-shadow:0 25px 55px #0004}
.vl-hero-stamp>*{margin:0!important;line-height:1.2!important}
.vl-hero-stamp h3{font-size:clamp(1.2rem,2vw,1.9rem)!important;margin:7px 0!important}
.vl-stamp-top,.vl-stamp-bottom{font-size:.6rem!important;letter-spacing:.09em;font-weight:900}
.vl-ticker{background:var(--lime);padding:22px 0;overflow:hidden;border-bottom:2px solid var(--ink)}
.vl-ticker-line{font-size:clamp(.7rem,1.4vw,1.1rem)!important;letter-spacing:.15em;font-weight:900;text-align:center;white-space:nowrap;margin:0!important}
/* CONTENT SECTIONS */
.vl-section{padding:clamp(74px,9vw,145px) var(--edge);background:var(--paper)}
.vl-section>*{max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.vl-section-title{font-size:clamp(3rem,5.8vw,6.7rem)!important;line-height:1.01!important;max-width:var(--max);margin-bottom:54px!important}
.vl-section>.wp-block-columns{gap:22px}
.vl-section .wp-block-column{min-width:0}
.vl-service-card{height:100%;min-height:340px;display:flex;flex-direction:column;padding:clamp(24px,3vw,43px);background:var(--mint);border:1px solid #14292412;border-radius:23px;transition:transform .22s ease,box-shadow .22s ease}
.vl-service-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px #14292413}
.vl-section>.wp-block-columns>.wp-block-column:nth-child(2) .vl-service-card{background:#f2dfce}
.vl-section>.wp-block-columns>.wp-block-column:nth-child(3) .vl-service-card{background:var(--lime)}
.vl-card-number{font-size:.7rem!important;font-weight:900;letter-spacing:.19em;margin:0 0 47px!important}
.vl-service-card h3{font-size:clamp(1.65rem,2.6vw,3.1rem)!important;margin:0 0 20px!important}
.vl-service-card p:not(.vl-card-number){font-size:.94rem!important;line-height:1.72}
.vl-service-card .wp-block-buttons{margin-top:auto}
.vl-service-card .wp-block-button__link{font-size:.77rem;padding:9px 16px}
.vl-split-feature{padding:clamp(60px,7vw,105px) var(--edge);background:#dfe9df}
.vl-split-feature>.wp-block-columns{max-width:var(--max);margin:auto!important;gap:clamp(40px,7vw,125px)!important;align-items:center}
.vl-feature-photo figure{height:clamp(380px,42vw,650px);margin:0;overflow:hidden;border-radius:22px 140px 22px 22px}
.vl-feature-photo img{width:100%;height:100%;object-fit:cover}
.vl-feature-copy h2{font-size:clamp(3rem,5vw,6rem)!important;margin-bottom:30px!important}
.vl-feature-copy p{font-size:1.06rem;max-width:620px}
.vl-feature-copy .wp-block-buttons{margin-top:30px}
.vl-step{border-top:3px solid var(--ink);padding:28px 6px 0 0}
.vl-step-num{font-size:4rem!important;letter-spacing:-.15em;font-weight:900;line-height:1;margin:0 0 39px!important}
.vl-step h3{margin:0 0 17px}
.vl-cta-band{background:var(--ink);color:#fff;text-align:center;padding:clamp(84px,10vw,155px) var(--edge)}
.vl-cta-band>*{max-width:900px;margin-left:auto!important;margin-right:auto!important}
.vl-cta-band h2{color:#fff!important;font-size:clamp(3.2rem,6.2vw,6.9rem)!important;margin-bottom:24px!important}
.vl-cta-band p:not(.vl-eyebrow){color:#cfddd5}
.vl-cta-band .wp-block-buttons{justify-content:center;margin-top:33px}
/* INTERIOR PAGE HEROES */
.vl-page-heading{background:var(--ink);color:#fff;padding:clamp(65px,8vw,120px) var(--edge) clamp(82px,9vw,150px)}
.vl-page-heading>*{max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.vl-page-heading .vl-eyebrow{color:var(--lime)}
.vl-page-heading .wp-block-post-title,.vl-page-title{font-size:clamp(4rem,8vw,9rem)!important;line-height:1!important;letter-spacing:-.08em;color:#fff!important;margin-bottom:0!important;word-break:normal}
.vl-page-intro{padding:clamp(55px,7vw,100px) var(--edge);background:var(--lime)}
.vl-page-intro>*{max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.vl-page-intro .vl-lead{font-size:clamp(1.55rem,3vw,2.8rem)!important;max-width:1130px;line-height:1.43!important;font-weight:750;letter-spacing:-.04em;margin-bottom:0}
.vl-main .wp-block-list li{padding:5px 0}
.vl-photo-panel figure{max-height:650px;overflow:hidden;border-radius:23px}
.vl-photo-panel img{height:615px;object-fit:cover}
.vl-note{background:#fff4e5;border-left:6px solid var(--orange);padding:35px 44px;margin:0 auto 75px!important;max-width:940px!important}
.vl-faq-item{border-top:2px solid var(--ink);padding:29px 0 42px;margin:0 auto!important;max-width:920px!important}
.vl-faq-item h3{font-size:clamp(1.5rem,2.6vw,2.3rem)!important;margin-bottom:12px!important}
.vl-404{padding:140px var(--edge);max-width:1000px;margin:auto;text-align:center}
.vl-404 h1{font-size:clamp(4rem,8vw,8rem)}
.vl-404 .wp-block-buttons{justify-content:center}
/* JOURNAL */
.vl-post-query .wp-block-post-template{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0}
.vl-post-query .wp-block-post-template>li{min-width:0;margin:0!important}
.vl-story-card{background:#fff;border-radius:23px;overflow:hidden;padding:0 0 30px;height:100%;display:flex;flex-direction:column}
.vl-story-card>.wp-block-post-featured-image{margin:0 0 24px;overflow:hidden}
.vl-story-card img{width:100%;height:235px;object-fit:cover;transition:transform .3s ease}
.vl-story-card:hover img{transform:scale(1.04)}
.vl-story-card .wp-block-post-terms,.vl-story-card .wp-block-post-title,.vl-story-card .wp-block-post-excerpt,.vl-story-card .wp-block-post-date{margin:0 26px 13px!important}
.vl-story-card .wp-block-post-terms{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.vl-story-card .wp-block-post-title{font-size:clamp(1.4rem,2vw,2.1rem)!important;line-height:1.18!important}
.vl-story-card a{text-decoration:none}
.vl-story-card .wp-block-post-excerpt{font-size:.92rem}
.vl-story-card .wp-block-post-excerpt__more-link{font-weight:850}
.vl-story-card .wp-block-post-date{font-size:.72rem;opacity:.7}
.vl-archive{padding-bottom:100px!important}
.vl-archive .wp-block-query{padding:85px var(--edge) 0}
.vl-archive .wp-block-query-pagination{margin-top:45px}
/* ARTICLE */
.vl-article-head{background:var(--ink);color:#fff;padding:clamp(85px,9vw,135px) var(--edge) 58px}
.vl-article-head>*{max-width:1070px;margin-left:auto!important;margin-right:auto!important}
.vl-article-head .wp-block-post-terms a{color:var(--lime);text-decoration:none}
.vl-article-title{color:#fff!important;font-size:clamp(3.7rem,7.2vw,8rem)!important;line-height:1.04!important;margin:22px 0 38px!important}
.vl-article-meta{color:#c8d6cb;font-size:.8rem;gap:28px!important}
.vl-article-image{max-width:var(--max)!important;padding:0 var(--edge);margin:0 auto!important}
.vl-article-image img{max-height:590px;width:100%;object-fit:cover}
.vl-article-body{max-width:810px;margin:85px auto 55px!important;padding:0 28px}
.vl-article-body p{font-size:1.12rem;line-height:1.85}
.vl-article-body h2{font-size:clamp(2rem,3.5vw,3.2rem);margin:65px 0 20px}
.vl-article-body blockquote{border-left:5px solid var(--lime);padding-left:28px}
.vl-article-end{max-width:810px;margin:0 auto 115px!important;border-top:1px solid #a6b4a8;padding:28px;display:flex;gap:20px;justify-content:space-between}
/* DIAGNOSTIC */
.vl-diagnose-box{padding:clamp(65px,8vw,130px) var(--edge);background:#deead9}
.vl-diagnose{max-width:var(--max);margin:auto}
.vl-diagnose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:29px}
.vl-diagnose label{display:flex;flex-direction:column;gap:14px;font-weight:850;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}
.vl-diagnose select{appearance:none;min-height:72px;padding:18px 15px;background:#fff;border:2px solid var(--ink);border-radius:14px;color:var(--ink);font-weight:750;font-size:1rem}
.vl-diagnose button{background:var(--ink);color:var(--lime);font-weight:900;font-size:.87rem;padding:18px 30px;border:0;border-radius:99px;cursor:pointer}
.vl-diagnose button:hover{background:#315a43}
.vl-result{background:#fff;border:2px solid var(--ink);border-radius:22px;padding:34px;margin-top:33px;max-width:910px}
.vl-result[hidden]{display:none}
.vl-result h3{font-size:1.8rem;margin:0 0 20px}
.vl-fineprint{font-size:.76rem;opacity:.73;margin-top:27px}
/* FOOTER */
.vl-footer{background:var(--ink);color:#fff;padding:clamp(80px,9vw,138px) var(--edge) 32px;margin:0!important}
.vl-footer-inner{max-width:var(--max);margin:auto!important}
.vl-footer .wp-block-columns{gap:clamp(30px,6vw,105px)}
.vl-footer-headline{font-size:clamp(2.7rem,5vw,5.8rem)!important;color:#fff!important;max-width:650px}
.vl-footer p{color:#cbd9cf;font-size:.94rem}
.vl-footer h3{color:var(--lime)!important;font-size:.85rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:27px}
.vl-footer a{color:#fff!important;text-decoration:none;line-height:2.4}
.vl-footer a:hover{color:var(--lime)!important}
.vl-footer hr{border-color:#ffffff30;margin:65px 0 30px}
.vl-footer-bottom p{font-size:.68rem!important;font-weight:850;letter-spacing:.12em}
@media(max-width:1080px){.vl-site-header .wp-block-navigation{gap:12px;font-size:.72rem}.vl-header-inner{gap:15px}.vl-hero-visual{min-height:390px}.vl-hero-visual figure,.vl-hero-visual img{min-height:390px}.vl-section>.wp-block-columns{flex-wrap:wrap!important}.vl-section>.wp-block-columns>.wp-block-column{flex-basis:calc(50% - 12px)!important;min-width:280px}}
@media(max-width:820px){.vl-hero>.wp-block-columns{flex-direction:column!important}.vl-hero .wp-block-column{flex-basis:auto!important}.vl-hero-visual figure{max-height:520px}.vl-hero-stamp{left:14px}.vl-post-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}.vl-diagnose-grid{grid-template-columns:1fr}}
@media(max-width:650px){html{scroll-behavior:auto}.vl-header-inner{min-height:73px;padding:16px 20px}.vl-wordmark{font-size:1.3rem!important}.vl-hero{padding:35px 20px 78px}.vl-hero-copy{padding:16px 0}.vl-headline{font-size:clamp(3.35rem,15vw,5.25rem)!important}.vl-hero .vl-lead{font-size:1.02rem}.vl-hero-visual figure,.vl-hero-visual img{min-height:350px;height:390px}.vl-hero-stamp{width:155px;height:155px;bottom:25px;left:0}.vl-hero-stamp h3{font-size:1.18rem!important}.vl-section{padding:75px 20px}.vl-section-title{font-size:clamp(2.65rem,11vw,4.4rem)!important;margin-bottom:35px!important}.vl-section>.wp-block-columns>.wp-block-column{flex-basis:100%!important;min-width:0}.vl-service-card{min-height:275px}.vl-split-feature{padding:62px 20px}.vl-split-feature>.wp-block-columns{flex-direction:column!important}.vl-feature-photo figure{height:370px}.vl-feature-copy h2{font-size:3rem!important}.vl-page-heading{padding:70px 20px 90px}.vl-page-title{font-size:clamp(3.4rem,13vw,5.4rem)!important}.vl-page-intro{padding:50px 20px}.vl-page-intro .vl-lead{font-size:1.52rem!important}.vl-cta-band{padding:85px 20px}.vl-post-query .wp-block-post-template{grid-template-columns:1fr}.vl-archive .wp-block-query{padding:50px 20px 0}.vl-article-head{padding:70px 20px 45px}.vl-article-title{font-size:3.5rem!important}.vl-article-image{padding:0}.vl-article-body{margin:55px auto 40px!important}.vl-diagnose-box{padding:60px 20px}.vl-footer{padding:75px 20px 30px}.vl-footer .wp-block-columns{flex-direction:column!important}.vl-footer-bottom{flex-direction:column;align-items:flex-start}.vl-ticker-line{font-size:.67rem;letter-spacing:.06em}.vl-note{margin:0 20px 75px!important;padding:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* VOLTA: ensure long Portuguese page titles fit 320px mobile screens. */
@media(max-width:650px){
  .vl-page-heading .wp-block-post-title,
  .vl-page-heading .vl-page-title{
    font-size:clamp(2.05rem,9.5vw,3.9rem)!important;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .vl-article-head .vl-article-title{
    font-size:clamp(2rem,9.5vw,3.7rem)!important;
    overflow-wrap:anywhere;
  }
}