*{box-sizing:border-box;margin:0;padding:0}
:root{--black:#0c0d0e;--dark:#111315;--cream:#e9e5dc;--gold:#c7a25b;--muted:#a7a7a4}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;background:var(--black);color:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
.site-header{height:86px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;padding:0 5.2%;gap:40px}
.brand{width:230px;display:flex;flex-direction:column;letter-spacing:.35em;font-size:14px;line-height:1.45}
.brand img{
    width:300px;
    height:auto;
    display:block;
    margin-top:40px;
}
.brand small{font-size:10px;letter-spacing:.45em;margin-top:6px;color:#c8c8c4}
.desktop-nav{margin-left:auto;display:flex;gap:42px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.desktop-nav a{opacity:.9;transition:.25s}
.desktop-nav a:hover{color:var(--gold)}
.gold-button{display:inline-flex;align-items:center;gap:18px;border:1px solid var(--gold);padding:13px 22px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;transition:.25s}
.gold-button:hover{background:var(--gold);color:#111}
.header-button{margin-left:10px}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{min-height:760px;height:100vh;max-height:1000px;position:relative;overflow:hidden;background:#17191b}
.hero-image{position:absolute;inset:0;background:
url("images/casa.jpg") center 52%/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(5,7,9,.90) 0%,rgba(5,7,9,.58) 34%,rgba(5,7,9,.12) 66%,rgba(5,7,9,.12) 100%),
linear-gradient(0deg,rgba(0,0,0,.48),transparent 32%)}
.hero-person{position:absolute;z-index:3;right:5.5%;bottom:0;height:min(88vh,880px);width:auto;object-fit:contain;object-position:center bottom;pointer-events:none}
.hero-content{position:absolute;z-index:4;left:5.2%;top:28%;max-width:590px}
.eyebrow,.section-kicker{font-size:11px;letter-spacing:.16em;color:#eee;text-transform:uppercase;margin-bottom:25px}
.eyebrow:after{content:"";display:inline-block;width:80px;height:1px;background:var(--gold);margin-left:18px;vertical-align:middle}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
h1{font-size:clamp(50px,5.3vw,86px);line-height:.92;letter-spacing:-.03em}
h1 em{font-style:normal;color:var(--gold)}
.hero-copy{max-width:440px;color:#ddd;margin:32px 0;font-size:15px}
.hero-signature{position:absolute;z-index:5;right:7%;bottom:8%;text-align:right;font-size:11px;letter-spacing:.12em;pointer-events:none}
.signature{font-family:"Cormorant Garamond",serif;font-size:42px;font-style:italic;letter-spacing:-.03em}
.hero-signature small{color:#aaa;letter-spacing:.1em}
.purpose{display:grid;grid-template-columns:1.15fr 2fr;gap:55px;padding:80px 5.2%;background:#101112}
.purpose-intro h2{font-size:55px;line-height:1;margin-bottom:24px}
.purpose-intro p:last-child{color:#b8b8b5;max-width:360px;font-size:14px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid #383838}
.service{padding:0 28px;border-right:1px solid #383838;min-height:200px}
.icon{font-size:31px;color:var(--gold);display:block;margin-bottom:18px;font-weight:300}
.service-icon {
    display: block;
    width: 80px;
    height: 80px;
    margin-bottom: 18px;
    color: var(--gold);
}

.service-icon svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
}
.service h3{text-transform:uppercase;font-weight:400;font-size:13px;letter-spacing:.06em;line-height:1.5;margin-bottom:17px}
.service p{color:#9d9d9a;font-size:12px;line-height:1.7}
.projects{background:var(--cream);color:#161616;padding:70px 5.2% 90px}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}
.section-kicker.dark{color:#555;margin-bottom:7px}
.section-heading h2{font-size:48px;line-height:1}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.project-card{display:block}
.project-image{aspect-ratio:1/1;overflow:hidden;margin-bottom:13px}
.project-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.placeholder{display:flex;align-items:center;justify-content:center;background:#242729;color:#999;font-size:9px;letter-spacing:.12em;transition:transform .5s,filter .5s}
.project-card:hover .placeholder{transform:scale(1.02);filter:brightness(1.15)}
.p1{background:linear-gradient(135deg,#33404b,#111)}
.p2{background:linear-gradient(135deg,#4c5b59,#172021)}
.p3{background:linear-gradient(135deg,#5c5145,#161616)}
.p4{background:linear-gradient(135deg,#b6b0a6,#37342f)}
.project-card h3{text-transform:uppercase;font-size:12px;letter-spacing:.1em;font-weight:500}
.project-card p{text-transform:uppercase;color:#777;font-size:9px;letter-spacing:.08em;margin-top:3px}
.lsf{padding:110px 5.2%;background:#050505}
.lsf-inner{min-height:360px;border:1px solid #2d2d2d;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:60px;background:radial-gradient(circle at 50% 30%,#171717,#050505 60%)}
.lsf h2{font-size:78px;line-height:1;margin-bottom:15px}
.lsf p:not(.section-kicker){max-width:650px;color:#aaa;margin-bottom:28px;font-size:14px}
.contact{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:0;background:#111213;padding:55px 5.2% 45px}
.contact-intro{padding-right:50px}
.contact-intro h2{font-size:48px;line-height:.95;margin-bottom:18px}
.contact-intro>p:not(.section-kicker){font-size:12px;color:#aaa;max-width:380px;margin-bottom:20px}
.contact-item{border-left:1px solid #373737;padding:8px 28px}
.contact-icon{display:block;color:var(--gold);font-size:25px;margin-bottom:18px}
.contact-item small{display:block;font-size:8px;letter-spacing:.14em;color:#888;margin-bottom:7px}
.contact-item strong{display:block;font-size:11px;font-weight:400}
.contact-item p{font-size:10px;color:#777;margin-top:7px}
footer{display:flex;justify-content:space-between;gap:20px;padding:18px 5.2%;background:#080909;color:#777;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
footer a{color:#bbb}
@media(max-width:900px){
 .desktop-nav{display:none}.header-button{margin-left:auto}.menu-toggle{display:block}
 .hero{min-height:760px}.hero-content{top:24%;max-width:55%;}.hero-person{height:min(82vh,760px);right:1%;}.hero-signature{right:5%;bottom:7%}
 .purpose{grid-template-columns:1fr;padding:60px 6%}.service-grid{grid-template-columns:repeat(2,1fr);border-left:0;gap:0}
 .service{padding:30px 20px;border-left:1px solid #383838;border-top:1px solid #383838}
 .project-grid{grid-template-columns:repeat(2,1fr)}
 .contact{grid-template-columns:1fr 1fr}.contact-intro{grid-column:1/-1;padding-bottom:35px}
 footer{flex-wrap:wrap}
}
@media(max-width:600px){
.site-header{height:75px;padding:0 6%}.brand{font-size:11px;width:150px;padding-top:8px}.brand img{width:200px;height:auto}
.header-button{display:none}.menu-toggle{display:none}
 .hero{height:780px;min-height:780px}.hero-image{background-position:center center;background-image:url("images/casa.jpg")}
 .hero-overlay{background:linear-gradient(90deg,rgba(5,7,9,.94) 0%,rgba(5,7,9,.70) 55%,rgba(5,7,9,.20) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 40%)}
.hero-person{height:68vh;left:-30%;right:auto;bottom:0%}
.hero-content{top:25%;left:43%;right:4%;max-width:53%}.eyebrow{font-size:9px}.eyebrow:after{width:35px}
 h1{font-size:36px}.hero-copy{font-size:13px;margin:24px 0;max-width:310px}.signature{font-size:31px}
 .purpose-intro h2,.section-heading h2{font-size:42px}.service-grid{grid-template-columns:1fr}
 .projects{padding:55px 6%}.section-heading{align-items:start;gap:20px;flex-direction:column}.project-grid{grid-template-columns:1fr 1fr;gap:13px}
 .lsf{padding:55px 6%}.lsf-inner{padding:45px 20px;min-height:330px}.lsf h2{font-size:55px}
 .contact{grid-template-columns:1fr;padding:50px 6%}.contact-item{border-left:0;border-top:1px solid #373737;padding:25px 0}
 footer{padding:20px 6%;display:grid;grid-template-columns:1fr 1fr}
}

/* =========================================================
   SOBRE — RODRIGO PEREIRA
   Responsivo: composição de referência no desktop, dimensões fluidas
   em telas menores.
   ========================================================= */

.about-section {
    width: 100%;
    overflow: hidden;
    background: #101112;
    color: #f4f2ed;
}

/* Desktop: conserva a composição da referência em duas colunas */
.about-main {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
}

.about-photo {
    width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
}

.about-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.about-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    min-width: 0;
    padding: 55px 5.2%;
    background: #101112;
}

.about-label {
    display: flex;
    align-items: center;
    gap: 25px;
    min-height: 18px;
    margin-bottom: clamp(18px, 1.7vw, 27px);
    color: #d5a900;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.about-label-text { display: inline-block; flex: 0 0 auto; }

.about-label-line {
    display: block;
    flex: 0 0 53px;
    width: 53px;
    height: 1px;
    background: #d5a900;
}

.about-name {
    margin: 0;
    color: #f5f3ee;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5vw, 80px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -1.8px;
}

.about-role {
    margin-top: clamp(10px, .9vw, 14px);
    color: #e1ddd6;
    font-family: Inter, Arial, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: clamp(2px, .3vw, 4.8px);
    white-space: normal;
}

.about-gold-line {
    flex: 0 0 auto;
    width: 52px;
    height: 3px;
    margin-top: clamp(20px, 2vw, 32px);
    background: #d5a900;
}

.about-phrase {
    max-width: 510px;
    margin: clamp(18px, 1.6vw, 25px) 0 clamp(18px, 1.7vw, 27px);
    color: #f2eee7;
    font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 1.9vw, 31px);
    font-weight: 400;
    line-height: 1.16;
}

.about-description {
    max-width: 560px;
    margin: 0;
    color: #d0cec9;
    font-family: Inter, Arial, sans-serif;
    font-size: clamp(12px, .88vw, 14px);
    font-weight: 400;
    line-height: 1.62;
}

/* Trajetória: seis colunas e linha contínua no desktop */
.about-trajectory {
    width: 100%;
    padding: 23px 4.6% 35px 4.8%;
    background: #101112;
}

.trajectory-heading {
    display: flex;
    align-items: center;
    gap: 27px;
    height: 19px;
    margin-left: 1.7%;
}

.trajectory-title {
    display: inline-block;
    color: #d5a900;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 19px;
    letter-spacing: 1.3px;
}

.trajectory-heading-line {
    display: block;
    flex: 0 0 53px;
    width: 53px;
    height: 1px;
    background: #d5a900;
}

.trajectory-line {
    position: relative;
    height: 1px;
    margin: 20px 0 27px 1.7%;
    background: transparent;
}

.trajectory-line::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: rgba(201, 155, 69, .58);
    content: "";
}

.trajectory-point {
    position: absolute;
    top: -3px;
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e4bd43;
}
.trajectory-point:nth-child(1) { left: 0%; }
.trajectory-point:nth-child(2) { left: 16.8%; }
.trajectory-point:nth-child(3) { left: 32.9%; }
.trajectory-point:nth-child(4) { left: 50.2%; }
.trajectory-point:nth-child(5) { left: 68%; }
.trajectory-point:nth-child(6) { left: 86%; }

.trajectory-grid {
    position: relative;
    display: grid;
    grid-template-columns: 15.3% 15.5% 16.8% 18% 17.6% 16.8%;
    width: 100%;
    margin-top: 0;
}

.trajectory-item {
    position: relative;
    min-width: 0;
    min-height: 268px;
    padding: 0 13px 10px 26px;
    border-left: 1px solid rgba(255, 255, 255, .17);
}
.trajectory-item:nth-child(2) { padding-left: 38px; }
.trajectory-item:nth-child(3) { padding-left: 38px; }
.trajectory-item:nth-child(4) { padding-left: 41px; }
.trajectory-item:nth-child(5) { padding-left: 42px; }
.trajectory-item:nth-child(6) { padding-left: 43px; }
.trajectory-item:last-child { border-right: 1px solid rgba(255, 255, 255, .17); }

.trajectory-number {
    margin-bottom: 4px;
    color: #f1eee8;
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}

.trajectory-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
}

.trajectory-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #e0b526;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.trajectory-item h4 {
    margin: 0 0 10px;
    color: #f3f0e9;
    font-family: Inter, Arial, sans-serif;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: .15px;
}

.trajectory-item p {
    margin: 0;
    color: #e0ded9;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.trajectory-item strong { color: #f0eee9; font-weight: 500; }

/* Telas médias: foto e texto empilhados; foto com altura controlada */
@media (max-width: 1100px) {
    .about-main {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .about-photo {
        height: clamp(280px, 34vw, 380px);
        max-height: 380px;
    }

    .about-content {
        padding: clamp(30px, 4.5vw, 48px) 7%;
    }

    .about-name { font-size: clamp(52px, 7vw, 68px); }
    .about-role { letter-spacing: clamp(2px, .4vw, 3.5px); }
    .about-phrase { max-width: 700px; font-size: clamp(25px, 3vw, 30px); }
    .about-description { max-width: 800px; font-size: 14px; line-height: 1.65; }

    .about-trajectory { padding: 24px 5% 35px; }
    .trajectory-line,
    .trajectory-heading-line { display: none; }

    .trajectory-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 18px;
        border-top: 1px solid rgba(201, 155, 69, .55);
    }

    .trajectory-item,
    .trajectory-item:nth-child(n) {
        min-height: 0;
        padding: 22px 18px 26px;
        border-left: 1px solid rgba(255, 255, 255, .14);
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }
    .trajectory-item:last-child { border-right: 1px solid rgba(255, 255, 255, .14); }
}

/* Tablets e celulares */
@media (max-width: 768px) {
    .about-photo {
        height: clamp(210px, 52vw, 310px);
        max-height: 310px;
    }

    .about-content { padding: 32px 7% 38px; }
    .about-label { gap: 18px; margin-bottom: 22px; }
    .about-name { font-size: clamp(44px, 8vw, 56px); line-height: .9; }
    .about-role { margin-top: 15px; font-size: 9px; letter-spacing: 2px; }
    .about-gold-line { margin-top: 22px; }
    .about-phrase { margin: 20px 0 18px; font-size: clamp(23px, 5vw, 27px); line-height: 1.2; }
    .about-description { font-size: 13px; line-height: 1.65; }
    .about-trajectory { padding: 0 6% 35px; }
    .trajectory-heading { margin-left: 0; }
    .trajectory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trajectory-item,
    .trajectory-item:nth-child(n) {
        min-height: 210px;
        padding: 22px 16px 24px;
    }
    .trajectory-item p { font-size: 12px; }
}

@media (max-width: 600px) {
    .about-photo { height: clamp(210px, 56vw, 270px); max-height: 270px; }
    .about-content { padding: 30px 6% 35px; }
    .about-label { margin-bottom: 20px; }
    .about-name { font-size: 49px; }
    .about-role { font-size: 9px; letter-spacing: 1.8px; }
    .about-phrase { font-size: 24px; }
    .about-description { font-size: 13px; }
    .about-trajectory { padding: 0 6% 32px; }
    .trajectory-grid { display: block; margin-top: 16px; }
    .trajectory-item,
    .trajectory-item:nth-child(n) {
        min-height: 0;
        padding: 22px 14px 22px 52px;
        border-left: 1px solid rgba(201, 155, 69, .35);
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }
    .trajectory-item:last-child { border-right: 0; }
    .trajectory-number { position: absolute; top: 23px; left: 14px; color: #d5a900; font-size: 13px; }
    .trajectory-icon { display: none; }
    .trajectory-item h4 { margin-bottom: 8px; font-size: 12px; }
    .trajectory-item p { font-size: 12px; line-height: 1.55; }
}/* AJUSTE DE LARGURA E ALINHAMENTO — SOBRE */

.about-main {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
}

.about-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 32px 5.2% 36px;
    text-align: left;
    box-sizing: border-box;
}

.about-description {
    display: block;
    width: 100%;
    max-width: 850px;
    margin: 0;
    text-align: left;
    font-size: 12.5px;
    line-height: 1.45;
}/* Remove as linhas ao lado dos títulos */
.about-label-line,
.trajectory-heading-line {
    display: none !important;
}/* Alinha TRAJETÓRIA à margem esquerda do SOBRE */
.about-trajectory {
    padding-left: 5.2%;
}

.trajectory-heading {
    margin-left: 0;
}

/* Mantém o alinhamento em telas menores */
@media (max-width: 900px) {
    .about-trajectory {
        padding-left: 7%;
    }