/* ============================================================
   STUDIO 146 — Arquitetura e Interiores
   style.css — versão completa
   ============================================================ */

/* ============================================
   VARIÁVEIS
   ============================================ */
:root{
    --cream:#f2ede6;
    --paper:#faf8f4;
    --champagne:#c8956d;
    --champagne-light:#e3c3a8;
    --ink:#2f2a25;
    --muted:#7a7269;
    --line:rgba(47,42,37,.13);
    --dark:#1f1c19;
    --white-line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:90px}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:"Inter",sans-serif;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
em{font-style:normal}
h1 em,h2 em,h3 em{
    font-family:"Dancing Script",cursive;
    color:var(--champagne);
    font-weight:400;
}

/* ============================================
   LOADING SCREEN
   ============================================ */
.ao-loader{
    position:fixed;
    inset:0;
    background:var(--paper);
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity .8s cubic-bezier(.4,0,.2,1),visibility .8s;
}
.ao-loader.hide{opacity:0;visibility:hidden}
.ao-loader-inner{
    position:relative;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:28px;
}
.ao-loader-brand{
    display:flex;
    gap:16px;
    align-items:baseline;
}
.ao-loader-letter{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(48px,6vw,84px);
    font-weight:500;
    color:var(--champagne);
    letter-spacing:3px;
    line-height:1;
    opacity:0;
    transform:translateY(20px);
    animation:aoLetterIn .7s cubic-bezier(.2,.9,.4,1) forwards;
}
.ao-loader-letter:nth-child(1){animation-delay:.1s}
.ao-loader-letter:nth-child(2){animation-delay:.25s}
@keyframes aoLetterIn{to{opacity:1;transform:translateY(0)}}
.ao-loader-line{
    width:0;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--champagne),transparent);
    animation:aoLineIn .8s cubic-bezier(.2,.9,.4,1) .5s forwards;
}
@keyframes aoLineIn{to{width:160px}}
.ao-loader-tagline{
    font-size:10px;
    letter-spacing:5px;
    color:var(--muted);
    text-transform:uppercase;
    opacity:0;
    animation:aoTagIn .8s ease .8s forwards;
}
@keyframes aoTagIn{to{opacity:1}}

/* ============================================
   NAVBAR
   ============================================ */
.site-header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:1000;
    padding:18px 4vw;
    transition:.35s;
}
.site-header.scrolled{
    background:rgba(250,248,244,.94);
    backdrop-filter:blur(18px);
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    padding-top:10px;
    padding-bottom:10px;
}
.premium-nav{
    max-width:1380px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
}
.brand-mark{
    font-family:"Cormorant Garamond",serif;
    font-size:24px;
    color:var(--champagne);
    letter-spacing:2px;
}
.brand-name{font-size:13px;letter-spacing:3px}
.brand-name strong{font-weight:600}
.nav-menu{
    display:flex;
    align-items:center;
    gap:30px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1.4px;
}
.nav-menu>a:not(.nav-cta){
    position:relative;
    padding:8px 0;
}
.nav-menu>a:not(.nav-cta):after{
    content:"";
    position:absolute;
    left:0;bottom:2px;
    width:0;height:1px;
    background:var(--champagne);
    transition:.3s;
}
.nav-menu>a:hover:after{width:100%}
.nav-cta,.btn-premium{
    background:var(--ink);
    color:#fff!important;
    padding:13px 23px;
    text-transform:uppercase;
    letter-spacing:1.4px;
    font-size:11px;
    transition:.3s;
    display:inline-flex;
    gap:15px;
    align-items:center;
    border:0;
    cursor:pointer;
    font-family:inherit;
}
.nav-cta:hover,.btn-premium:hover{
    background:var(--champagne);
    color:var(--ink)!important;
    transform:translateY(-2px);
}

/* LANGUAGE SWITCHER */
.lang-switcher{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:11px;
    letter-spacing:1px;
    border:1px solid var(--line);
    padding:6px 12px;
    border-radius:2px;
}
.lang-btn{
    background:none;
    border:0;
    padding:2px 4px;
    cursor:pointer;
    font-family:inherit;
    font-size:11px;
    letter-spacing:1.5px;
    color:var(--muted);
    transition:.25s;
}
.lang-btn:hover{color:var(--champagne)}
.lang-btn.active{color:var(--ink);font-weight:600}
.lang-sep{color:var(--line)}

.menu-toggle{
    display:none;
    border:0;
    background:none;
    width:42px;height:42px;
    padding:8px;
    cursor:pointer;
}
.menu-toggle span{
    display:block;
    height:1px;
    background:var(--ink);
    margin:6px 0;
}

/* ============================================
   HERO — VÍDEO 9:16 COM BLUR
   ============================================ */
.hero-premium{
    min-height:100vh;
    display:grid;
    grid-template-columns:53% 47%;
    position:relative;
    overflow:hidden;
    background:var(--cream);
}
.hero-media{
    order:2;
    position:relative;
    min-height:720px;
    overflow:hidden;
    background:#000;
    display:flex;
    align-items:center;
    justify-content:center;
}
.hero-media-fallback{
    position:absolute;
    inset:0;
    background:url("../img/hero-poster.jpg") center/cover no-repeat;
    z-index:0;
}
.hero-video-blur{
    position:absolute;
    inset:-10%;
    width:120%;
    height:120%;
    object-fit:cover;
    object-position:center;
    filter:blur(60px) brightness(.5) saturate(1.2);
    transform:scale(1.15);
    z-index:1;
    pointer-events:none;
}
.hero-media-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(242,237,230,.05),rgba(25,20,17,.18));
    z-index:2;
    pointer-events:none;
}
.hero-video{
    position:relative;
    z-index:3;
    height:100%;
    width:auto;
    max-width:100%;
    object-fit:contain;
    object-position:center;
    opacity:0;
    transition:opacity 1s ease;
    box-shadow:0 30px 80px rgba(0,0,0,.4);
}
.hero-video.loaded{opacity:1}
.hero-media-label{
    position:absolute;
    right:35px;
    bottom:35px;
    color:#fff;
    font-size:10px;
    letter-spacing:3px;
    writing-mode:vertical-rl;
    opacity:.85;
    z-index:4;
    text-shadow:0 2px 8px rgba(0,0,0,.6);
}
.hero-sound-btn{
    position:absolute;
    left:30px;
    bottom:30px;
    z-index:6;
    width:48px;
    height:48px;
    border-radius:50%;
    background:rgba(47,42,37,.7);
    backdrop-filter:blur(10px);
    border:1px solid rgba(200,149,109,.5);
    color:#fff;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    transition:all .4s cubic-bezier(.2,.9,.4,1);
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
}
.hero-media:hover .hero-sound-btn,
.hero-media.sound-visible .hero-sound-btn{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}
.hero-sound-btn:hover{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:scale(1.08);
}

.hero-copy{
    order:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:130px 7vw 80px 9vw;
    position:relative;
}
.eyebrow{
    display:block;
    color:var(--champagne);
    font-size:10px;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:18px;
    font-weight:500;
}
.hero-copy h1{
    font-family:"Cormorant Garamond",serif;
    font-weight:500;
    font-size:clamp(52px,6.2vw,94px);
    line-height:1.04;
    margin:0 0 28px;
    letter-spacing:-2px;
}
.hero-copy>p{
    max-width:480px;
    color:var(--muted);
    font-size:16px;
    margin:0 0 34px;
}
.hero-actions{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
}
.text-link{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.text-link span{margin-left:8px}
.text-link span:last-child{color:var(--champagne)}
.hero-location{
    margin-top:55px;
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--muted);
}
.hero-location span{
    display:inline-block;
    width:6px;height:6px;
    border-radius:50%;
    background:var(--champagne);
    margin-right:8px;
}
.hero-scroll{
    position:absolute;
    left:4vw;
    bottom:35px;
    writing-mode:vertical-rl;
    font-size:9px;
    letter-spacing:3px;
    color:var(--muted);
}
.hero-scroll span{
    display:block;
    width:1px;height:45px;
    background:var(--champagne);
    margin-top:12px;
}

/* ============================================
   SEÇÕES BASE
   ============================================ */
.section{
    max-width:1380px;
    margin:auto;
    padding:130px 5vw;
}
.section-label{
    font-size:9px;
    letter-spacing:3px;
    color:var(--muted);
    margin-bottom:28px;
    text-transform:uppercase;
}
.section-heading{
    max-width:700px;
    margin-bottom:65px;
}
.section-heading.centered{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
}
.section-heading h2,
.experience-copy h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:500;
    font-size:clamp(38px,4vw,62px);
    line-height:1.1;
    margin:0 0 24px;
}
.section-heading>p{
    color:var(--muted);
    max-width:500px;
}
.section-heading.centered>p{
    margin-left:auto;
    margin-right:auto;
}

/* ============================================
   EXPERIENCE (SOBRE) — VÍDEO VSL
   ============================================ */
.experience-section{background:var(--paper)}
.experience-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9vw;
    align-items:center;
}
.image-frame{
    position:relative;
    padding:0 0 35px 35px;
}
.image-frame:before{
    content:"";
    position:absolute;
    left:0;bottom:0;
    width:70%;height:85%;
    border:1px solid var(--champagne-light);
    z-index:0;
}

.experience-media{
    position:relative;
    z-index:1;
    width:100%;
    height:650px;
    overflow:hidden;
    background:#000;
}
.experience-poster{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
    opacity:1;
    transition:opacity .5s ease;
}
.experience-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
    opacity:0;
    transition:opacity .5s ease;
}
.experience-video.loaded{opacity:1}
.experience-media.playing .experience-poster{opacity:0}

.experience-sound-btn{
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%) translateY(20px);
    z-index:6;
    background:rgba(11,11,11,.9);
    backdrop-filter:blur(12px);
    border:1px solid var(--champagne);
    border-radius:50px;
    padding:12px 24px 12px 16px;
    color:#fff;
    font-family:inherit;
    font-size:11px;
    letter-spacing:3px;
    text-transform:uppercase;
    font-weight:600;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:12px;
    transition:all .4s cubic-bezier(.2,.9,.4,1);
    box-shadow:0 10px 30px rgba(0,0,0,.5);
    opacity:0;
    pointer-events:none;
    animation:soundCtaPulse 2.4s ease-in-out infinite;
}
@media(hover:hover){
    .experience-media:hover .experience-sound-btn:not(.hidden){
        opacity:1;
        pointer-events:auto;
        transform:translateX(-50%) translateY(0);
    }
}
.experience-sound-btn.visible:not(.hidden){
    opacity:1;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
}
.experience-sound-btn.hidden{
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(20px) !important;
    animation:none !important;
}
.experience-sound-btn:hover{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:translateX(-50%) translateY(-3px) !important;
    animation:none;
}
.experience-sound-btn i{
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--champagne);
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    flex-shrink:0;
    transition:.3s;
    animation:soundIconShake 1.6s ease-in-out infinite;
}
.experience-sound-btn:hover i{
    background:var(--ink);
    color:var(--champagne);
}
@keyframes soundCtaPulse{
    0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 0 rgba(200,149,109,.5)}
    50%{box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 0 14px rgba(200,149,109,0)}
}
@keyframes soundIconShake{
    0%,25%,75%,100%{transform:rotate(0deg)}
    50%{transform:rotate(-12deg)}
    60%{transform:rotate(12deg)}
}

.photo-caption{
    position:absolute;
    z-index:7;
    bottom:4px;right:0;
    background:var(--ink);
    color:#fff;
    padding:14px 24px;
    font-family:"Cormorant Garamond",serif;
    font-size:14px;
}
.experience-copy>p{
    color:var(--muted);
    max-width:580px;
    margin-bottom:42px;
}
.feature-list{border-top:1px solid var(--line)}
.feature-list>div{
    display:grid;
    grid-template-columns:45px 1fr;
    position:relative;
    padding:18px 0;
    border-bottom:1px solid var(--line);
}
.feature-list span{
    font-size:10px;
    color:var(--champagne);
    letter-spacing:1px;
}
.feature-list strong{font-size:13px;font-weight:500}
.feature-list small{
    grid-column:2;
    color:var(--muted);
    font-size:11px;
    margin-top:2px;
}

/* ============================================
   PROJETOS — carrossel horizontal infinito
   ============================================ */
.projects-section{
    background:var(--cream);
    max-width:none;
    padding-left:8vw;
    padding-right:8vw;
}
.project-block{max-width:1280px;margin:0 auto}
.project-block-header{
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:32px;
    border-bottom:1px solid var(--line);
    padding-bottom:14px;
}
.project-block-header h3{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(24px,2.6vw,36px);
    font-weight:500;
    margin:0;
    color:var(--ink);
    letter-spacing:-.5px;
}
.project-carousel{
    overflow:hidden;
    position:relative;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.project-track{
    display:flex;
    gap:14px;
    width:max-content;
    animation:projectScroll 45s linear infinite;
}
.project-carousel:hover .project-track{animation-play-state:paused}
@keyframes projectScroll{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}
.project-card{
    margin:0;
    flex:0 0 320px;
    position:relative;
    overflow:hidden;
    background:var(--dark);
    cursor:pointer;
}
.project-card img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.9,.4,1);
}
.project-card:hover img{transform:scale(1.06)}
.project-card figcaption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:22px 18px 18px;
    background:linear-gradient(transparent,rgba(0,0,0,.85));
    color:#fff;
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    font-family:"Inter",sans-serif;
}

/* ============================================
   STATEMENT — COM BLUR
   ============================================ */
.statement-section{
    height:620px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#000;
}
.statement-blur{
    position:absolute;
    inset:-10%;
    width:120%;height:120%;
    object-fit:cover;
    object-position:center;
    filter:blur(50px) brightness(.4) saturate(1.1);
    transform:scale(1.1);
    z-index:0;
    pointer-events:none;
}
.statement-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(20,17,14,.85),rgba(20,17,14,.35));
    z-index:1;
}
.statement-img{
    position:absolute;
    top:0;right:0;
    height:100%;
    width:auto;
    max-width:65%;
    object-fit:contain;
    object-position:right center;
    z-index:2;
    opacity:.9;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 25%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 25%);
}
.statement-content{
    position:relative;
    color:#fff;
    max-width:1380px;
    width:100%;
    margin:auto;
    padding:0 9vw;
    z-index:3;
}
.statement-content h2{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(42px,5vw,76px);
    line-height:1.05;
    font-weight:400;
    margin:0 0 35px;
}
.btn-light{
    display:inline-flex;
    background:#fff;
    color:var(--ink);
    padding:14px 24px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    font-size:10px;
    gap:18px;
    transition:.3s;
}
.btn-light:hover{
    background:var(--champagne);
    color:var(--ink);
    transform:translateY(-2px);
}

/* ============================================
   GALERIA
   ============================================ */
.gallery-section{background:var(--paper)}
.gallery-heading{
    display:grid;
    grid-template-columns:1fr 2fr auto;
    gap:30px;
    align-items:end;
    max-width:none;
}
.gallery-hint{
    color:var(--muted);
    font-size:13px;
    margin:20px 0 0;
    display:flex;
    align-items:center;
    gap:8px;
}
.gallery-hint i{color:var(--champagne)}
.outline-link{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.5px;
    border-bottom:1px solid var(--champagne);
    padding-bottom:7px;
    transition:.3s;
}
.outline-link:hover{color:var(--champagne)}
.gallery-grid{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    grid-template-rows:310px 310px;
    gap:14px;
}
.gallery-item{
    position:relative;
    overflow:hidden;
    background:#000;
    cursor:pointer;
    isolation:isolate;
}
.gallery-item .gallery-img{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    object-fit:cover;
    transition:opacity .5s ease, transform .8s cubic-bezier(.2,.9,.4,1);
    z-index:1;
}
.gallery-item .gallery-video{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    object-fit:cover;
    z-index:2;
    opacity:0;
    transition:opacity .5s ease;
    pointer-events:none;
}
.gallery-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(25,20,17,.75) 100%);
    z-index:3;
    pointer-events:none;
    transition:.4s;
}
.gallery-item .gallery-label{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:26px 24px;
    color:#fff;
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    z-index:4;
    transform:translateY(100%);
    transition:.4s cubic-bezier(.2,.9,.4,1);
    display:flex;
    align-items:center;
    gap:12px;
    padding-right:80px;
}
.gallery-item .gallery-label::before{
    content:"●";
    color:var(--champagne);
    font-size:8px;
    animation:labelPulse 1.5s ease-in-out infinite;
}
@keyframes labelPulse{
    0%,100%{opacity:1}
    50%{opacity:.3}
}
.gallery-item .gallery-play{
    position:absolute;
    top:20px;
    right:20px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:rgba(25,20,17,.55);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.3);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    z-index:6;
    padding-left:4px;
    transition:.35s;
    pointer-events:none;
}
.gallery-item:hover .gallery-play{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:scale(1.1);
}
@media(hover:hover){
    .gallery-item:hover .gallery-img{opacity:0;transform:scale(1.05)}
    .gallery-item:hover .gallery-video{opacity:1}
    .gallery-item:hover .gallery-label{transform:translateY(0)}
    .gallery-item:hover::before{
        background:linear-gradient(180deg, rgba(25,20,17,.1) 0%, rgba(25,20,17,.85) 100%);
    }
}
.gallery-item.is-playing .gallery-img{opacity:0;transform:scale(1.05)}
.gallery-item.is-playing .gallery-video{opacity:1}
.gallery-item.is-playing .gallery-label{transform:translateY(0)}
.gallery-item.is-playing .gallery-play{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:scale(1.1);
}
.gallery-tall{grid-row:span 2}

/* ============================================
   LIGHTBOX
   ============================================ */
.lightbox{
    position:fixed;
    inset:0;
    background:rgba(20,17,14,.96);
    backdrop-filter:blur(12px);
    z-index:10000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:60px 20px;
    opacity:0;
    transition:opacity .4s ease;
}
.lightbox.open{display:flex;opacity:1}
.lightbox-content{
    position:relative;
    max-width:420px;
    width:100%;
    aspect-ratio:9/16;
    background:#000;
    box-shadow:0 40px 100px rgba(0,0,0,.8);
    border:1px solid rgba(200,149,109,.3);
    animation:lightboxZoom .4s cubic-bezier(.2,.9,.4,1);
}
@keyframes lightboxZoom{
    from{transform:scale(.9);opacity:0}
    to{transform:scale(1);opacity:1}
}
.lightbox-content video{
    width:100%;height:100%;
    object-fit:cover;
    display:block;
    background:#000;
}
.lightbox-close{
    position:absolute;
    top:-56px;
    right:0;
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    font-size:16px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
}
.lightbox-close:hover{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:rotate(90deg);
}
.lightbox-caption{
    position:absolute;
    bottom:-48px;
    left:0;right:0;
    text-align:center;
    color:var(--champagne);
    font-size:10px;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:500;
}
.lightbox-caption::before{
    content:"● ";
    animation:labelPulse 1.5s ease-in-out infinite;
}

/* ============================================
   PROCESSO
   ============================================ */
.process-section{background:var(--paper)}
.process-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
    max-width:1300px;
    margin:0 auto;
}
.process-card{
    position:relative;
    padding:45px 26px 34px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    transition:.35s;
    min-height:320px;
}
.process-card:hover{
    background:var(--cream);
    transform:translateY(-4px);
    box-shadow:0 20px 50px rgba(40,30,20,.06);
}
.process-number{
    position:absolute;
    right:20px;
    top:20px;
    font-size:10px;
    color:var(--champagne);
    letter-spacing:2px;
    font-family:"Inter",sans-serif;
}
.process-icon{
    color:var(--champagne);
    font-size:26px;
    margin-bottom:22px;
    display:block;
}
.process-card h3{
    font-family:"Cormorant Garamond",serif;
    font-size:22px;
    font-weight:500;
    margin:0 0 12px;
    color:var(--ink);
}
.process-card p{
    font-size:12.5px;
    color:var(--muted);
    line-height:1.65;
    margin:0;
}

/* ============================================
   DEPOIMENTOS PREMIUM
   ============================================ */
.testimonials-premium{
    background:var(--paper);
    padding:130px 6vw;
    position:relative;
    overflow:hidden;
}
.testimonials-premium-header{
    text-align:center;
    max-width:760px;
    margin:0 auto 80px;
}
.testimonials-premium-header h2{
    font-family:"Cormorant Garamond",serif;
    font-weight:500;
    font-size:clamp(38px,4vw,62px);
    line-height:1.08;
    letter-spacing:-1px;
    margin:0;
}
.testimonials-carousel-wrap{
    max-width:900px;
    margin:0 auto;
    position:relative;
}
.testimonials-carousel{
    position:relative;
    min-height:420px;
}
.testimonial-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateX(30px);
    transition:opacity .6s cubic-bezier(.2,.9,.4,1),
               transform .6s cubic-bezier(.2,.9,.4,1),
               visibility .6s;
}
.testimonial-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    position:relative;
}
.testimonial-slide-inner{
    background:var(--cream);
    border:1px solid var(--line);
    padding:70px 60px 50px;
    position:relative;
    text-align:center;
}
.testimonial-quote-icon{
    position:absolute;
    top:-30px;left:50%;
    transform:translateX(-50%);
    width:60px;height:60px;
    border-radius:50%;
    background:var(--ink);
    color:var(--champagne);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:"Cormorant Garamond",serif;
    font-size:48px;
    line-height:1;
    padding-top:14px;
    box-sizing:border-box;
}
.testimonial-stars{
    color:var(--champagne);
    letter-spacing:6px;
    font-size:14px;
    margin:14px 0 30px;
}
.testimonial-text{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(18px,1.7vw,24px);
    line-height:1.5;
    color:var(--ink);
    margin:0 0 40px;
    font-weight:400;
}
.testimonial-author{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
}
.testimonial-avatar{
    width:64px;
    height:64px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--ink) 0%, var(--dark) 100%);
    border:2px solid var(--champagne);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    position:relative;
    transition:.4s cubic-bezier(.2,.9,.4,1);
}
.testimonial-avatar::before{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:1px solid rgba(200,149,109,.3);
    transition:.4s;
}
.testimonial-avatar span{
    font-family:"Cormorant Garamond",serif;
    font-size:20px;
    font-weight:500;
    color:var(--champagne);
    letter-spacing:1px;
    line-height:1;
    text-transform:uppercase;
}
.testimonial-slide.active .testimonial-avatar::before,
.testimonial-avatar:hover::before{
    inset:-8px;
    border-color:rgba(200,149,109,.6);
}
.testimonial-author-info{text-align:left}
.testimonial-author-info strong{
    display:block;
    font-family:"Cormorant Garamond",serif;
    font-size:16px;
    font-weight:500;
    letter-spacing:1px;
    margin-bottom:4px;
}
.testimonial-author-info span{
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--muted);
}
.testimonials-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:30px;
    margin-top:50px;
}
.carousel-btn{
    width:50px;height:50px;
    border-radius:50%;
    border:1px solid var(--line);
    background:transparent;
    color:var(--ink);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    transition:.35s;
}
.carousel-btn:hover{
    background:var(--ink);
    color:var(--champagne);
    border-color:var(--ink);
    transform:scale(1.05);
}
.carousel-dots{display:flex;gap:10px}
.carousel-dot{
    width:8px;height:8px;
    border-radius:50%;
    border:0;
    background:var(--line);
    cursor:pointer;
    padding:0;
    transition:.35s;
}
.carousel-dot:hover{background:var(--champagne-light)}
.carousel-dot.active{
    background:var(--champagne);
    width:32px;
    border-radius:4px;
}

/* ============================================
   CONTATO — RITUAL FINAL
   ============================================ */
.contact-ritual{
    position:relative;
    background:#181512;
    color:#fff;
    padding:170px 6vw 130px;
    overflow:hidden;
    text-align:center;
}
.contact-ritual-glow{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 0%,rgba(200,149,109,.12) 0%,transparent 45%),
        radial-gradient(circle at 50% 100%,rgba(200,149,109,.06) 0%,transparent 50%);
    pointer-events:none;
}
.contact-ritual-wrap{
    position:relative;
    z-index:1;
    max-width:900px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.contact-ritual-opening{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;
    margin-bottom:50px;
}
.contact-ritual-mark{
    font-family:"Cormorant Garamond",serif;
    font-size:16px;
    letter-spacing:8px;
    color:var(--champagne);
    font-weight:600;
}
.contact-ritual-line{
    width:1px;
    height:60px;
    background:linear-gradient(180deg,var(--champagne),transparent);
}
.contact-ritual .eyebrow{margin:0;color:var(--champagne)}
.contact-ritual-title{
    font-family:"Cormorant Garamond",serif;
    font-weight:500;
    font-size:clamp(42px,5.6vw,88px);
    line-height:1.05;
    letter-spacing:-2px;
    margin:0 0 26px;
    color:#fff;
    width:100%;
    text-align:center;
}
.contact-ritual-title span{
    display:block;
    color:rgba(255,255,255,.95);
}
.contact-ritual-title em{
    display:block;
    font-family:"Dancing Script",cursive;
    font-style:normal;
    font-weight:400;
    font-size:1.2em;
    color:var(--champagne);
    letter-spacing:0;
    margin-top:4px;
}
.contact-ritual-sub{
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-size:17px;
    color:rgba(255,255,255,.6);
    margin:0 0 60px;
    max-width:600px;
    line-height:1.5;
    text-align:center;
}
.contact-ritual-cta-wrap{
    display:flex;
    justify-content:center;
    width:100%;
    margin-bottom:70px;
}
.contact-ritual-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    color:#fff;
    font-size:12px;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:600;
    padding:8px 0;
    transition:.4s;
    text-decoration:none;
}
.contact-ritual-cta-line{
    width:50px;
    height:1px;
    background:var(--champagne);
    transition:.5s cubic-bezier(.2,.9,.4,1);
    display:inline-block;
}
.contact-ritual-cta:hover .contact-ritual-cta-line:first-child{width:80px}
.contact-ritual-cta:hover .contact-ritual-cta-line:last-child{width:80px}
.contact-ritual-cta:hover{color:var(--champagne);letter-spacing:6px}
.contact-ritual-cta-arrow{
    color:var(--champagne);
    font-size:16px;
    transition:transform .4s;
}
.contact-ritual-cta:hover .contact-ritual-cta-arrow{transform:translateX(6px)}
.contact-ritual-contacts{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    padding-top:50px;
    border-top:1px solid rgba(255,255,255,.1);
    margin-bottom:50px;
    width:100%;
}
.contact-ritual-contact{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    color:rgba(255,255,255,.7);
    letter-spacing:.5px;
    transition:.3s;
    text-decoration:none;
}
.contact-ritual-contact:hover{color:var(--champagne)}
.contact-ritual-contact i{font-size:14px;color:var(--champagne)}
.contact-ritual-sep{color:rgba(255,255,255,.2)}
.contact-ritual-signature{
    display:block;
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-size:13px;
    color:rgba(255,255,255,.35);
    letter-spacing:1px;
    text-align:center;
    width:100%;
}
.contact-ritual-signature em{
    font-style:normal;
    color:var(--champagne);
    margin:0 4px;
}

/* ============================================
   MAPA
   ============================================ */
.map-section{
    height:420px;
    background:#e8e2da;
    position:relative;
}
.map-section iframe{
    width:100%;
    height:100%;
    border:0;
    filter:grayscale(.2) contrast(1.02);
}

/* ============================================
   FOOTER
   ============================================ */
.premium-footer{
    background:#181512;
    color:#a59d95;
    padding:55px 7vw 25px;
}
.footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
}
.premium-footer>p{
    font-size:12px;
    margin:15px 0 30px;
}
.footer-links{
    display:flex;
    gap:25px;
    flex-wrap:wrap;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.footer-links a:hover,
.footer-bottom a:hover{color:var(--champagne)}
.footer-bottom{
    margin-top:45px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    display:flex;
    justify-content:space-between;
    font-size:9px;
    letter-spacing:1px;
}

/* ============================================
   FLUTUANTES
   ============================================ */
.whatsapp-float{
    position:fixed;
    right:28px;
    bottom:28px;
    background:#25d366;
    color:#fff;
    border-radius:50px;
    height:56px;
    padding:0 20px;
    display:flex;
    align-items:center;
    gap:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.2);
    z-index:998;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    transition:.3s;
}
.whatsapp-float i{font-size:23px}
.whatsapp-float:hover{transform:translateY(-3px);color:#fff}
.back-to-top{
    position:fixed;
    right:28px;
    bottom:98px;
    width:42px;height:42px;
    border:1px solid var(--line);
    background:rgba(250,248,244,.9);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:997;
    font-size:16px;
    opacity:0;
    visibility:hidden;
    transition:.3s;
}
.back-to-top.show{opacity:1;visibility:visible}

/* ============================================
   REVEAL ANIMATION
   ============================================ */
.reveal{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .8s ease,transform .8s ease;
}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ============================================
   RESPONSIVO
   ============================================ */
@media(max-width:1000px){
    .nav-menu{gap:16px}
    .hero-copy{padding-left:6vw}
    .process-grid{grid-template-columns:repeat(2,1fr)}
    .project-card{flex-basis:260px}
    .gallery-heading{grid-template-columns:1fr 1fr}
    .gallery-heading .outline-link{grid-column:2;justify-self:start}
}

@media(max-width:760px){
    .site-header{padding:14px 5vw}
    .menu-toggle{display:block}
    .nav-menu{
        display:none;
        position:absolute;
        top:70px;left:5vw;right:5vw;
        background:var(--paper);
        padding:18px;
        box-shadow:0 15px 40px rgba(0,0,0,.1);
        flex-direction:column;
        align-items:stretch;
        gap:4px;
    }
    .nav-menu.open{display:flex}
    .nav-menu>a{padding:13px 8px}
    .nav-cta{text-align:center;justify-content:center;margin-top:7px}
    .lang-switcher{align-self:flex-start;margin-top:10px}

    /* HERO */
    .hero-premium{display:flex;flex-direction:column;min-height:auto}
    .hero-media{order:1;height:70vh;min-height:520px;width:100%}
    .hero-video{
        width:100%;height:100%;
        object-fit:cover;
        object-position:center 20%;
        box-shadow:none;
    }
    .hero-video-blur{display:none}
    .hero-copy{order:2;padding:75px 8vw 90px}
    .hero-copy h1{font-size:54px}
    .hero-scroll{display:none}
    .hero-sound-btn{left:20px;bottom:20px;width:42px;height:42px;font-size:14px}

    .section{padding:85px 7vw}
    .experience-grid{grid-template-columns:1fr;gap:65px}
    .experience-media{height:470px}
    .experience-sound-btn{
        padding:12px 20px 12px 14px;
        font-size:10px;
        letter-spacing:2.5px;
        gap:10px;
        bottom:16px;
    }
    .experience-sound-btn i{width:30px;height:30px;font-size:13px}
    .experience-media .photo-caption{
        bottom:70px;
        padding:10px 18px;
        font-size:12px;
    }

    /* PROJETOS */
    .projects-section{padding-left:7vw;padding-right:7vw}
    .project-block-header{flex-direction:column;align-items:flex-start;gap:8px}
    .project-card{flex-basis:240px}

    /* PROCESSO */
    .process-grid{grid-template-columns:1fr}
    .process-card{min-height:auto;padding:34px 24px}

    /* STATEMENT */
    .statement-section{
        height:auto;
        padding:85px 7vw;
        min-height:520px;
        flex-direction:column;
    }
    .statement-blur{display:none}
    .statement-img{
        position:relative;
        width:100%;
        max-width:100%;
        height:auto;
        margin-bottom:40px;
        -webkit-mask-image:none;
        mask-image:none;
        opacity:1;
    }
    .statement-content{padding:0}
    .statement-content h2{font-size:clamp(28px,6vw,42px)}
    .statement-overlay{
        background:linear-gradient(180deg,rgba(20,17,14,.3),rgba(20,17,14,.95));
    }

    /* GALERIA */
    .gallery-heading{display:block}
    .gallery-heading h2{margin-bottom:25px}
    .outline-link{display:inline-block;margin-top:12px}
    .gallery-hint{margin-top:15px;font-size:12px}
    .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
    .gallery-tall{grid-row:span 2}
    .lightbox{padding:40px 16px}
    .lightbox-content{max-width:340px}
    .lightbox-close{top:-50px;width:40px;height:40px}

    /* DEPOIMENTOS */
    .testimonials-premium{padding:85px 6vw}
    .testimonial-slide-inner{padding:50px 26px 40px}
    .testimonial-text{font-size:16px}
    .testimonial-quote-icon{
        width:50px;height:50px;
        font-size:38px;
        padding-top:10px;
    }
    .testimonial-avatar{width:56px;height:56px}
    .testimonial-avatar span{font-size:18px}
    .carousel-btn{width:42px;height:42px}

    /* CONTATO */
    .contact-ritual{padding:110px 6vw 90px}
    .contact-ritual-cta{font-size:10px;letter-spacing:2.5px;gap:16px}
    .contact-ritual-cta-line{width:30px}
    .contact-ritual-contacts{gap:12px;font-size:12px}
    .contact-ritual-sub{font-size:15px;margin-bottom:45px}
    .contact-ritual-cta-wrap{margin-bottom:55px}

    /* MAPA */
    .map-section{height:320px}

    .footer-bottom{flex-direction:column;gap:12px}
    .whatsapp-float{
        right:18px;bottom:18px;
        width:56px;height:56px;
        padding:0;justify-content:center;
    }
    .whatsapp-float span{display:none}
    .back-to-top{right:18px;bottom:84px}
}

@media(max-width:480px){
    .hero-copy h1{font-size:47px}
    .gallery-grid{
        grid-template-columns:1fr;
        grid-template-rows:300px 220px 220px 220px 220px;
    }
    .gallery-tall{grid-row:auto}
    .hero-actions{align-items:flex-start;flex-direction:column}
    .feature-list small{font-size:10px}
}
/* ============================================
   DEPOIMENTOS — FULL QUOTE
   ============================================ */
.testimonials-fullquote{
    background:#181512;
    padding:150px 8vw;
    color:#fff;
    position:relative;
    overflow:hidden;
}
.testimonials-fullquote::before{
    content:"“";
    position:absolute;
    top:40px;left:5vw;
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(300px,40vw,560px);
    line-height:.8;
    color:var(--champagne);
    opacity:.06;
    pointer-events:none;
    font-weight:500;
}
.fullquote-inner{
    max-width:1100px;
    margin:0 auto;
    position:relative;
    z-index:1;
}
.fullquote-inner .section-label{
    color:rgba(255,255,255,.5);
    text-align:center;
    margin-bottom:70px;
}
.fullquote-carousel{
    position:relative;
    min-height:340px;
    text-align:center;
}
.fullquote-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:opacity .7s cubic-bezier(.2,.9,.4,1),
               transform .7s cubic-bezier(.2,.9,.4,1),
               visibility .7s;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.fullquote-slide.active{
    position:relative;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.fullquote-text{
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(28px,3.6vw,52px);
    line-height:1.3;
    color:#fff;
    margin:0 0 55px;
    letter-spacing:-.5px;
    max-width:980px;
}
.fullquote-author{
    background:none;
    border:0;
    cursor:pointer;
    padding:16px 28px;
    display:inline-flex;
    flex-direction:column;
    gap:6px;
    align-items:center;
    border-top:1px solid rgba(200,149,109,.4);
    transition:.4s;
    font-family:inherit;
}
.fullquote-author:hover{
    border-top-color:var(--champagne);
    transform:translateY(-2px);
}
.fullquote-name{
    font-family:"Inter",sans-serif;
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:600;
    color:var(--champagne);
}
.fullquote-role{
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.5);
}
.fullquote-nav{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:70px;
}
.fullquote-nav-btn{
    width:40px;
    height:1px;
    background:rgba(255,255,255,.2);
    border:0;
    padding:0;
    cursor:pointer;
    transition:.4s;
}
.fullquote-nav-btn.active{
    background:var(--champagne);
    width:80px;
}

/* Responsivo */
@media(max-width:760px){
    .testimonials-fullquote{padding:100px 7vw}
    .fullquote-inner .section-label{margin-bottom:50px}
    .fullquote-carousel{min-height:400px}
    .fullquote-text{font-size:24px;margin-bottom:40px}
    .fullquote-nav{margin-top:50px}
}
/* ============================================
   PROCESSO — TIMELINE VERTICAL
   ============================================ */
.process-timeline-section{
    background:var(--paper);
}
.process-timeline{
    list-style:none;
    margin:0;
    padding:0;
    max-width:1000px;
    position:relative;
    counter-reset:step;
}
/* linha vertical contínua */
.process-timeline::before{
    content:"";
    position:absolute;
    left:60px;
    top:20px;
    bottom:20px;
    width:1px;
    background:linear-gradient(180deg,transparent,var(--line) 10%,var(--line) 90%,transparent);
}
.timeline-step{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:60px;
    padding:42px 0;
    position:relative;
    align-items:start;
    border-bottom:1px solid var(--line);
}
.timeline-step:last-child{border-bottom:0}
/* marcador */
.timeline-step::before{
    content:"";
    position:absolute;
    left:56px;
    top:52px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--champagne);
    box-shadow:0 0 0 5px var(--paper), 0 0 0 6px var(--line);
    z-index:2;
    transition:.4s;
}
.timeline-step:hover::before{
    background:var(--ink);
    box-shadow:0 0 0 5px var(--paper), 0 0 0 6px var(--champagne);
}
.timeline-num{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(42px,4.5vw,64px);
    font-weight:400;
    line-height:1;
    color:var(--champagne);
    letter-spacing:-2px;
    padding-left:8px;
    transition:.4s;
}
.timeline-step:hover .timeline-num{
    color:var(--ink);
}
.timeline-content h3{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(24px,2.4vw,32px);
    font-weight:500;
    margin:0 0 12px;
    color:var(--ink);
    letter-spacing:-.3px;
}
.timeline-content p{
    color:var(--muted);
    font-size:15px;
    line-height:1.7;
    margin:0;
    max-width:620px;
}

/* Responsivo */
@media(max-width:760px){
    .process-timeline::before{left:24px}
    .timeline-step{
        grid-template-columns:60px 1fr;
        gap:24px;
        padding:32px 0;
    }
    .timeline-step::before{left:20px;top:42px}
    .timeline-num{font-size:38px;padding-left:0}
    .timeline-content h3{font-size:22px}
    .timeline-content p{font-size:14px}
}
/* ============================================
   GALERIA — MOSAICO EDITORIAL
   ============================================ */
.gallery-editorial-section{background:var(--paper)}
.gallery-editorial-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    grid-auto-rows:180px;
    gap:10px;
    max-width:1380px;
    margin:0 auto;
}

/* Item base */
.gallery-editorial-item{
    position:relative;
    overflow:hidden;
    background:#000;
    cursor:pointer;
    margin:0;
    isolation:isolate;
    grid-column:span 2;
    grid-row:span 2;
}
.gallery-editorial-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.2s cubic-bezier(.2,.9,.4,1), filter .6s;
    will-change:transform;
}
.gallery-editorial-item:hover img{
    transform:scale(1.04);
    filter:brightness(.9);
}

/* Overlay em gradiente editorial */
.gallery-editorial-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 45%, rgba(20,17,14,.85) 100%);
    z-index:1;
    pointer-events:none;
    transition:.5s;
}
.gallery-editorial-item:hover .gallery-editorial-overlay{
    background:linear-gradient(180deg, transparent 20%, rgba(20,17,14,.92) 100%);
}

/* Legenda editorial */
.gallery-editorial-caption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:26px 24px 22px;
    color:#fff;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:4px;
    transform:translateY(calc(100% - 26px));
    transition:transform .6s cubic-bezier(.2,.9,.4,1);
}
.gallery-editorial-item:hover .gallery-editorial-caption{
    transform:translateY(0);
}
.gallery-editorial-num{
    font-family:"Inter",sans-serif;
    font-size:10px;
    letter-spacing:3px;
    color:var(--champagne);
    font-weight:600;
    margin-bottom:2px;
}
.gallery-editorial-title{
    font-family:"Cormorant Garamond",serif;
    font-size:22px;
    font-weight:500;
    letter-spacing:-.3px;
    line-height:1.15;
    color:#fff;
}
.gallery-editorial-sub{
    font-family:"Inter",sans-serif;
    font-size:11px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:rgba(255,255,255,.65);
    margin-top:2px;
}

/* Variações de layout */
.gallery-editorial-item.is-feature{
    grid-column:span 4;
    grid-row:span 3;
}
.gallery-editorial-item.is-wide{
    grid-column:span 2;
    grid-row:span 2;
}
.gallery-editorial-item.is-tall{
    grid-column:span 2;
    grid-row:span 3;
}

/* Badge "ampliar" no canto */
.gallery-editorial-item::after{
    content:"↗";
    position:absolute;
    top:18px;
    right:18px;
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(20,17,14,.55);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,.25);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    z-index:3;
    opacity:0;
    transform:translateY(-6px) scale(.9);
    transition:.4s cubic-bezier(.2,.9,.4,1);
    pointer-events:none;
    font-family:"Inter",sans-serif;
}
.gallery-editorial-item:hover::after{
    opacity:1;
    transform:translateY(0) scale(1);
}

/* Responsivo */
@media(max-width:1000px){
    .gallery-editorial-grid{
        grid-template-columns:repeat(4,1fr);
        grid-auto-rows:160px;
    }
    .gallery-editorial-item.is-feature{
        grid-column:span 4;
        grid-row:span 3;
    }
    .gallery-editorial-item.is-tall{
        grid-column:span 2;
        grid-row:span 3;
    }
    .gallery-editorial-item{grid-column:span 2}
}
@media(max-width:760px){
    .gallery-editorial-grid{
        grid-template-columns:1fr;
        grid-auto-rows:240px;
        gap:8px;
    }
    .gallery-editorial-item,
    .gallery-editorial-item.is-feature,
    .gallery-editorial-item.is-wide,
    .gallery-editorial-item.is-tall{
        grid-column:span 1;
        grid-row:span 1;
    }
    .gallery-editorial-item.is-feature{grid-row:span 2}
    .gallery-editorial-caption{
        transform:translateY(0);
        padding:20px 18px 16px;
    }
    .gallery-editorial-title{font-size:18px}
    .gallery-editorial-item::after{opacity:1;transform:none;width:34px;height:34px;font-size:12px;top:12px;right:12px}
}
/* ============================================
   PROJETOS — CAPÍTULOS EDITORIAIS
   ============================================ */
.projects-chapters-section{
    background:var(--cream);
    max-width:none;
    padding-left:8vw;
    padding-right:8vw;
}
.projects-chapters-section .section-heading{
    max-width:1300px;
    margin-left:auto;
    margin-right:auto;
}

.chapter{
    max-width:1300px;
    margin:0 auto;
    padding:70px 0;
    border-top:1px solid var(--line);
}
.chapter:first-of-type{border-top:0;padding-top:0}
.chapter-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:38px;
    gap:30px;
}
.chapter-title-wrap{
    display:flex;
    align-items:baseline;
    gap:22px;
}
.chapter-num{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(38px,4vw,58px);
    line-height:1;
    color:var(--champagne);
    letter-spacing:-2px;
    font-weight:400;
}
.chapter-header h3{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(22px,2.4vw,32px);
    font-weight:500;
    letter-spacing:-.4px;
    margin:0;
    color:var(--ink);
}

/* Corpo em duas colunas: destaque + lista */
.chapter-body{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    gap:42px;
    align-items:stretch;
}

/* ============================================
   DESTAQUE — imagem grande + ficha técnica
   ============================================ */
.chapter-feature{
    margin:0;
    display:flex;
    flex-direction:column;
    background:#000;
    position:relative;
    overflow:hidden;
    min-height:560px;
}
.chapter-feature-img{
    position:relative;
    flex:1;
    overflow:hidden;
}
.chapter-feature-img img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 1.4s cubic-bezier(.2,.9,.4,1), opacity .5s;
    will-change:transform;
}
.chapter-feature:hover .chapter-feature-img img{
    transform:scale(1.03);
}
.chapter-feature-info{
    background:var(--ink);
    color:#fff;
    padding:28px 32px 30px;
    display:flex;
    flex-direction:column;
    gap:6px;
    position:relative;
    z-index:2;
}
.chapter-feature-tag{
    font-family:"Inter",sans-serif;
    font-size:9px;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--champagne);
    font-weight:600;
    margin-bottom:4px;
}
.chapter-feature-title{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(22px,2.2vw,32px);
    font-weight:500;
    letter-spacing:-.4px;
    line-height:1.15;
    margin:0;
    color:#fff;
    transition:opacity .35s;
}
.chapter-feature-meta{
    font-family:"Inter",sans-serif;
    font-size:11px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:4px;
}

/* ============================================
   LISTA LATERAL — thumbnails + nome
   ============================================ */
.chapter-list{
    display:flex;
    flex-direction:column;
    border-top:1px solid var(--line);
    height:100%;
    max-height:560px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:var(--champagne-light) transparent;
}
.chapter-list::-webkit-scrollbar{width:4px}
.chapter-list::-webkit-scrollbar-thumb{background:var(--champagne-light);border-radius:2px}
.chapter-list::-webkit-scrollbar-track{background:transparent}

.chapter-item{
    display:grid;
    grid-template-columns:34px 68px 1fr;
    gap:18px;
    align-items:center;
    padding:20px 6px 20px 0;
    border-bottom:1px solid var(--line);
    background:none;
    border-left:0;
    border-right:0;
    border-top:0;
    cursor:pointer;
    text-align:left;
    font-family:inherit;
    transition:.4s;
    position:relative;
    color:var(--ink);
}
/* linha vertical dourada que aparece no item ativo */
.chapter-item::before{
    content:"";
    position:absolute;
    left:-10px;
    top:20px;
    bottom:20px;
    width:2px;
    background:var(--champagne);
    opacity:0;
    transform:scaleY(.5);
    transition:.4s cubic-bezier(.2,.9,.4,1);
}
.chapter-item.active::before{
    opacity:1;
    transform:scaleY(1);
}
.chapter-item:hover{color:var(--champagne)}
.chapter-item.active{color:var(--ink)}

.chapter-item-num{
    font-family:"Cormorant Garamond",serif;
    font-size:20px;
    color:var(--champagne);
    letter-spacing:-.5px;
    font-weight:400;
    text-align:center;
    transition:.4s;
}
.chapter-item.active .chapter-item-num{color:var(--ink);font-weight:500}

.chapter-item img{
    width:68px;
    height:52px;
    object-fit:cover;
    filter:grayscale(.3) brightness(.95);
    transition:.5s;
}
.chapter-item:hover img,
.chapter-item.active img{
    filter:grayscale(0) brightness(1);
}
.chapter-item-label{
    font-family:"Cormorant Garamond",serif;
    font-size:17px;
    font-weight:500;
    letter-spacing:-.2px;
    line-height:1.3;
    transition:.4s;
}
.chapter-item.active .chapter-item-label{
    color:var(--champagne);
}

/* ============================================
   RESPONSIVO
   ============================================ */
@media(max-width:1000px){
    .chapter-body{grid-template-columns:1fr;gap:32px}
    .chapter-feature{min-height:420px}
    .chapter-list{max-height:none}
    .chapter-header{flex-direction:column;align-items:flex-start;gap:14px}
}
@media(max-width:760px){
    .projects-chapters-section{padding-left:7vw;padding-right:7vw}
    .chapter{padding:50px 0}
    .chapter-num{font-size:32px}
    .chapter-title-wrap{gap:14px}
    .chapter-feature{min-height:340px}
    .chapter-feature-info{padding:22px 22px 24px}
    .chapter-feature-title{font-size:20px}
    .chapter-item{grid-template-columns:26px 52px 1fr;gap:12px;padding:14px 4px 14px 0}
    .chapter-item img{width:52px;height:42px}
    .chapter-item-label{font-size:15px}
    .chapter-item-num{font-size:16px}
}
/* ============================================
   SOBRE — EDITORIAL
   ============================================ */
.about-editorial-section{background:var(--paper)}
.about-editorial-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:8vw;
    align-items:start;
    margin-top:40px;
}

/* ============================================
   RETRATO (esquerda)
   ============================================ */
.about-portrait{position:relative}
.about-portrait-frame{
    position:relative;
    aspect-ratio:3/4;
    overflow:hidden;
    background:#000;
}
.about-portrait-frame img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform 1.4s cubic-bezier(.2,.9,.4,1);
    will-change:transform;
}
.about-portrait-frame:hover img{
    transform:scale(1.03);
}

/* Botão play sobreposto */
.about-portrait-play{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 30%,rgba(20,17,14,.55) 100%);
    border:0;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:18px;
    color:#fff;
    font-family:inherit;
    transition:.4s;
    z-index:2;
}
.about-portrait-play:hover{
    background:linear-gradient(180deg,transparent 20%,rgba(20,17,14,.65) 100%);
}
.about-portrait-play-circle{
    width:84px;
    height:84px;
    border-radius:50%;
    background:rgba(250,248,244,.95);
    backdrop-filter:blur(8px);
    border:1px solid rgba(200,149,109,.5);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--ink);
    font-size:20px;
    padding-left:4px;
    transition:.4s cubic-bezier(.2,.9,.4,1);
    box-shadow:0 15px 40px rgba(0,0,0,.3);
}
.about-portrait-play:hover .about-portrait-play-circle{
    background:var(--champagne);
    color:var(--ink);
    transform:scale(1.08);
}
.about-portrait-play-text{
    font-size:10px;
    letter-spacing:3px;
    text-transform:uppercase;
    font-weight:600;
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.5);
}

/* Legenda editorial */
.about-portrait-caption{
    position:absolute;
    left:0;right:0;bottom:0;
    padding:22px 24px 20px;
    background:linear-gradient(transparent,rgba(20,17,14,.85));
    color:#fff;
    z-index:3;
    pointer-events:none;
    display:flex;
    flex-direction:column;
    gap:4px;
}
.about-portrait-name{
    font-family:"Cormorant Garamond",serif;
    font-size:20px;
    font-weight:500;
    letter-spacing:-.3px;
}
.about-portrait-role{
    font-size:10px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:rgba(255,255,255,.7);
}

/* Assinatura abaixo */
.about-portrait-signature{
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid var(--line);
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-size:15px;
    color:var(--muted);
    letter-spacing:.2px;
}

/* ============================================
   MANIFESTO (direita)
   ============================================ */
.about-manifesto{
    display:flex;
    flex-direction:column;
    gap:22px;
}
.about-manifesto-title{
    font-family:"Cormorant Garamond",serif;
    font-weight:500;
    font-size:clamp(38px,4.2vw,60px);
    line-height:1.05;
    margin:6px 0 8px;
    letter-spacing:-1.5px;
    color:var(--ink);
}
.about-manifesto-lead{
    font-family:"Cormorant Garamond",serif;
    font-style:italic;
    font-size:clamp(18px,1.5vw,22px);
    line-height:1.5;
    color:var(--champagne);
    margin:0;
    max-width:620px;
}
.about-manifesto-body{
    color:var(--muted);
    font-size:15px;
    line-height:1.75;
    margin:0;
    max-width:640px;
}

/* Credenciais em linha */
.about-credentials{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin:14px 0 8px;
}
.about-credential{
    padding:22px 18px 22px 0;
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    gap:4px;
}
.about-credential:last-child{border-right:0;padding-right:0}
.about-credential:not(:first-child){padding-left:18px}
.about-credential-num{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(26px,2.4vw,34px);
    font-weight:500;
    color:var(--ink);
    letter-spacing:-.5px;
    line-height:1;
}
.about-credential-label{
    font-size:10px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--muted);
    line-height:1.4;
}
.about-cta{
    align-self:flex-start;
    margin-top:8px;
}

/* ============================================
   OVERLAY DE VÍDEO (VSL)
   ============================================ */
.about-video-overlay{
    position:fixed;
    inset:0;
    background:rgba(20,17,14,.96);
    backdrop-filter:blur(12px);
    z-index:10000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
    opacity:0;
    transition:opacity .4s ease;
}
.about-video-overlay.open{
    display:flex;
    opacity:1;
}
.about-video-inner{
    position:relative;
    max-width:500px;
    width:100%;
    aspect-ratio:9/16;
    background:#000;
    border:1px solid rgba(200,149,109,.3);
    box-shadow:0 40px 100px rgba(0,0,0,.8);
    animation:lightboxZoom .4s cubic-bezier(.2,.9,.4,1);
}
.about-video-inner video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:#000;
}
.about-video-close{
    position:absolute;
    top:-56px;
    right:0;
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    font-size:16px;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.35s;
    z-index:2;
}
.about-video-close:hover{
    background:var(--champagne);
    color:var(--ink);
    border-color:var(--champagne);
    transform:rotate(90deg);
}
.about-video-overlay .about-video-inner ~ .about-video-close{position:fixed;top:24px;right:24px}

/* ============================================
   RESPONSIVO
   ============================================ */
@media(max-width:1000px){
    .about-editorial-grid{
        grid-template-columns:1fr;
        gap:55px;
    }
    .about-portrait{
        max-width:460px;
    }
    .about-portrait-frame{
        aspect-ratio:4/5;
    }
}
@media(max-width:760px){
    .about-manifesto-title{font-size:clamp(32px,8vw,46px);letter-spacing:-1px}
    .about-manifesto-lead{font-size:17px}
    .about-manifesto-body{font-size:14px}
    .about-credentials{
        grid-template-columns:repeat(2,1fr);
    }
    .about-credential{
        padding:18px 14px 18px 0;
    }
    .about-credential:not(:first-child){padding-left:14px}
    .about-credential:nth-child(2){border-right:0;padding-right:0}
    .about-credential:nth-child(3),
    .about-credential:nth-child(4){border-top:1px solid var(--line)}
    .about-portrait-play-circle{width:68px;height:68px;font-size:16px}
    .about-portrait-play-text{font-size:9px;letter-spacing:2.5px}
    .about-video-inner{max-width:340px}
    .about-video-close{top:-48px;width:40px;height:40px}
}
