:root{--ink:#19221d;--paper:#f5f1e9;--lime:#d4e86d;--line:rgba(25,34,29,.18);--sans:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace;--serif:'Playfair Display',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}header{height:86px;border-bottom:1px solid var(--line);padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand{font-size:17px;letter-spacing:-.08em}.brand span{color:#6e8312}nav{display:flex;gap:29px}.top-link{font-size:10px}.hero{min-height:calc(100vh - 86px);padding:9vh 5.5vw 7vh;display:flex;flex-direction:column;background:radial-gradient(circle at 82% 28%,rgba(212,232,109,.72),transparent 19%),radial-gradient(circle at 71% 63%,rgba(201,169,119,.37),transparent 17%),var(--paper)}.eyebrow,.label{margin:0;font:500 11px var(--mono);letter-spacing:.08em}.hero h1{margin:auto 0 35px;font-size:clamp(53px,8.2vw,126px);line-height:.92;letter-spacing:-.078em}.hero h1 em{font-family:var(--serif);font-weight:600}.hero-copy{width:310px;margin:0;font-size:15px;line-height:1.7}.statement,.portfolio,.approach{padding:125px 5.5vw;border-top:1px solid var(--line)}.statement,.section-head{display:grid;grid-template-columns:25% 1fr;gap:20px}.statement h2,.section-head h2,.approach h2,.contact h2{margin:0;font-size:clamp(38px,5.4vw,76px);line-height:1.02;letter-spacing:-.065em}.statement div>p{max-width:520px;margin:33px 0 0;font-size:17px;line-height:1.7}.section-head p:not(.label){margin:13px 0 0;color:#626961}.filters{display:flex;gap:8px;margin:55px 0 26px 25%;overflow:auto}.filters button{border:1px solid var(--line);border-radius:99px;padding:9px 14px;background:transparent;color:var(--ink);font:500 10px var(--mono);cursor:pointer}.filters .active{background:var(--ink);color:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.card{grid-column:span 4;margin:0}.card:nth-child(5n+2),.card:nth-child(5n+4){grid-column:span 8}.card[hidden]{display:none}.card img{display:block;width:100%;height:400px;object-fit:cover;background:#d7d2c7}.card:nth-child(5n+2) img,.card:nth-child(5n+4) img{height:470px}.card figcaption{display:flex;justify-content:space-between;gap:15px;padding:12px 0 31px;font-size:13px;font-weight:700}.card small{font:400 10px var(--mono);letter-spacing:.02em;color:#687067;text-transform:uppercase}.approach{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:25% 1fr;gap:20px}.approach>div{max-width:850px}.points{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.points p{margin:0;padding:19px 0;border-top:1px solid rgba(245,241,233,.25);font-size:14px;line-height:1.55}.points b{color:var(--lime);font:400 11px var(--mono);margin-right:8px}.contact{min-height:67vh;padding:12vh 5.5vw 7vh;background:var(--lime);display:flex;flex-direction:column}.contact h2{margin:auto 0 27px;font-size:clamp(55px,8.2vw,120px)}.contact a{align-self:flex-start;border-bottom:1px solid var(--ink);font:500 clamp(18px,2vw,28px) var(--mono)}footer{padding:22px 5.5vw;display:flex;justify-content:space-between;color:#626961;font:400 10px var(--mono)}
@media(max-width:700px){header{height:68px;padding:0 6vw}nav,.top-link{display:none}.hero{min-height:640px;padding:52px 6vw 35px}.hero-copy{width:265px;font-size:13px}.statement,.portfolio,.approach{padding:78px 6vw}.statement,.section-head,.approach{grid-template-columns:1fr;gap:26px}.filters{margin:35px 0 20px}.gallery{grid-template-columns:1fr 1fr;gap:13px}.card,.card:nth-child(5n+2),.card:nth-child(5n+4){grid-column:span 1}.card img,.card:nth-child(5n+2) img,.card:nth-child(5n+4) img{height:255px}.card figcaption{display:block;font-size:12px}.card small{display:block;margin-top:5px}.points{grid-template-columns:1fr;margin-top:42px}.contact{min-height:510px;padding:70px 6vw 35px}footer{padding:20px 6vw;gap:8px;flex-wrap:wrap}}
.card.portrait,.card.vertical{grid-column:span 3}.card.portrait img,.card.vertical img{height:510px;object-fit:cover;object-position:center top}@media(max-width:700px){.card.portrait,.card.vertical{grid-column:span 1}.card.portrait img,.card.vertical img{height:255px}}.gallery img{-webkit-user-drag:none;user-select:none}.image-wrap{position:relative}.image-wrap::after{content:'© GABRIEL ANDRADE';position:absolute;right:12px;bottom:12px;padding:5px 7px;background:rgba(20,27,23,.58);color:#fff;font:500 8px var(--mono);letter-spacing:.08em;pointer-events:none}.contact-email{align-self:flex-start;border:0;border-bottom:1px solid var(--ink);padding:0;background:transparent;color:var(--ink);font:500 clamp(18px,2vw,28px) var(--mono);cursor:pointer}
.hero{position:relative;overflow:hidden}.hero>*:not(.hero-photo){position:relative;z-index:1}.hero-photo{position:absolute;right:9vw;bottom:7vh;width:min(23vw,330px);height:min(55vh,610px);margin:0;z-index:2;box-shadow:18px 20px 0 rgba(25,34,29,.12)}.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none}.hero-photo figcaption{position:absolute;right:10px;bottom:10px;color:#fff;font:500 9px var(--mono);text-shadow:0 1px 4px #000}@media(max-width:700px){.hero{padding-bottom:280px}.hero h1{font-size:clamp(48px,13vw,70px)}.hero-photo{right:6vw;bottom:30px;width:150px;height:225px}.hero-copy{position:relative;z-index:3}}
.hero h1{max-width:min(900px,calc(100% - 360px))}
@media(max-width:700px){.hero h1{max-width:none}}
.instagram-note{display:block;margin:0;padding:18px 5.5vw;background:var(--paper);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em}.instagram-note:hover{text-decoration:underline}@media(max-width:700px){.instagram-note{padding:16px 6vw}}
