@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');


:root { --ink:#10120e; --sand:#e8e1d3; --paper:#f3efe6; --copper:#b76b37; --gold:#d49b55; --moss:#263126; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
em { color:var(--copper); font-family:'Libre Caslon Display',serif; font-weight:400; }
.topbar { position:absolute; z-index:10; top:0; left:0; width:100%; height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 5.5vw; color:white; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:flex; align-items:center; gap:12px; letter-spacing:.16em; font-weight:600; font-size:15px; }
.brand small { display:block; font-size:7px; letter-spacing:.31em; color:var(--gold); margin-top:3px; }
.brand-mark { width:34px; height:34px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; font-family:'Libre Caslon Display',serif; font-size:22px; color:var(--gold); }
nav { display:flex; gap:34px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
nav a { opacity:.78; transition:.2s; } nav a:hover { opacity:1; color:var(--gold); }
.nav-cta { padding:13px 18px; border:1px solid rgba(255,255,255,.34); font-size:11px; letter-spacing:.1em; text-transform:uppercase; } .nav-cta span { margin-left:9px; color:var(--gold); }
.hero { min-height:780px; height:100vh; position:relative; background:#090a08; color:white; overflow:hidden; }
.hero-image { position:absolute; inset:0; background:url('images/icaro-hero.png') center/cover no-repeat; animation:reveal 1.5s ease both; }
.hero-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,7,5,.3),transparent 50%),linear-gradient(0deg,rgba(6,7,5,.72),transparent 48%); }
.hero-grain { position:absolute; inset:0; opacity:.12; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }
.hero-content { position:absolute; z-index:2; left:8vw; top:50%; transform:translateY(-43%); max-width:690px; }
.eyebrow,.section-label { font-size:10px; letter-spacing:.25em; font-weight:600; text-transform:uppercase; color:var(--copper); }
.eyebrow { color:#dba262; display:flex; gap:12px; align-items:center; } .eyebrow span { width:34px; height:1px; background:#dba262; }
.hero h1 { font-family:'Libre Caslon Display',serif; font-size:clamp(70px,8vw,124px); line-height:.83; letter-spacing:-.04em; margin:34px 0 32px; font-weight:400; }
.hero h1 em { display:inline-block; }
.lead { font-family:'Libre Caslon Display',serif; font-size:20px; line-height:1.55; color:rgba(255,255,255,.74); max-width:570px; }
.hero-actions { display:flex; gap:26px; align-items:center; margin-top:42px; }
.btn-primary { background:var(--copper); color:white; padding:17px 23px; display:inline-flex; gap:12px; align-items:center; text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:600; transition:.25s; } .btn-primary:hover { background:#d17a3e; transform:translateY(-2px); }
.btn-primary b { font-size:9px; }
.btn-ghost { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:.14em; font-size:10px; } .btn-ghost span { margin-left:16px; color:var(--gold); }
.hero-note { position:absolute; z-index:2; right:5.5vw; bottom:60px; display:flex; align-items:center; gap:15px; padding-left:24px; border-left:1px solid rgba(255,255,255,.22); }
.compass { border:1px solid rgba(255,255,255,.3); width:43px; height:43px; border-radius:50%; display:grid; place-items:center; color:var(--gold); }
.hero-note p { font-family:'Libre Caslon Display',serif; margin:0; font-size:16px; line-height:1.2; } .hero-note small { display:block; font:600 8px 'DM Sans'; letter-spacing:.18em; color:var(--gold); margin-bottom:4px; } .hero-note i { font-size:11px; color:#aaa; }
.scroll-cue { position:absolute; z-index:2; left:5.5vw; bottom:48px; writing-mode:vertical-rl; font-size:8px; letter-spacing:.3em; opacity:.6; display:flex; gap:12px; align-items:center; }
.manifesto { display:grid; grid-template-columns:120px minmax(400px,1fr) minmax(300px,410px); gap:6vw; padding:140px 8vw; max-width:1500px; margin:auto; }
.manifesto-label { writing-mode:vertical-rl; padding-top:10px; }
.kicker { font-family:'Libre Caslon Display',serif; font-size:17px; color:var(--copper); }
.manifesto h2,.section-heading h2,.contact h2 { font:400 clamp(48px,5vw,78px)/.98 'Libre Caslon Display',serif; margin:23px 0 45px; letter-spacing:-.035em; }
.story-columns { display:grid; grid-template-columns:1fr 1fr; gap:34px; color:#5e625a; font-size:14px; line-height:1.85; }
blockquote { font:400 21px/1.5 'Libre Caslon Display',serif; border-left:2px solid var(--copper); padding-left:22px; margin:50px 0 0; }
.portrait-card { margin:0; position:relative; align-self:center; height:520px; overflow:hidden; background:#c4b59f; }
.portrait-card img { width:100%; height:100%; object-fit:cover; object-position:18% center; filter:saturate(.73) contrast(1.05); }
.portrait-card:after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 10px rgba(255,255,255,.12); }
.portrait-card figcaption { position:absolute; z-index:2; left:24px; right:24px; bottom:20px; padding:15px 17px; background:rgba(16,18,14,.87); color:white; } .portrait-card figcaption span { display:block; font-family:'Libre Caslon Display'; font-size:20px; }.portrait-card figcaption small { font-size:7px; letter-spacing:.2em; color:var(--gold); }
.numbers { background:var(--ink); color:white; padding:58px 8vw; display:grid; grid-template-columns:repeat(3,1fr) 1.7fr; gap:30px; align-items:center; }
.numbers div { display:flex; gap:14px; align-items:center; border-right:1px solid rgba(255,255,255,.15); }
.numbers strong { font:400 48px 'Libre Caslon Display'; color:var(--gold); }.numbers sup { font:500 16px 'DM Sans'; }.numbers span { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#aaa; line-height:1.6; }.numbers p { font:16px/1.6 'Libre Caslon Display'; color:#bbb; margin:0; }.numbers b { color:white; font-weight:400; }
.films { padding:130px 5.5vw; background:#e8e1d3; }
.section-heading { max-width:1320px; margin:0 auto 58px; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.section-heading h2 { margin:18px 0 0; }.section-heading>a { text-transform:uppercase; font-size:9px; letter-spacing:.18em; border-bottom:1px solid #888; padding-bottom:10px; }.section-heading>a span { color:var(--copper); margin-left:12px; }
.film-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:16px; max-width:1320px; margin:auto; }
.film-card { height:510px; position:relative; background-size:cover; background-position:center; overflow:hidden; color:white; transition:.35s; }.film-card:hover { transform:translateY(-7px); box-shadow:0 18px 30px rgba(40,28,15,.22); }.film-card:nth-child(2){background-position:16% center}.film-card:nth-child(3){background-position:67% center}
.film-number { position:absolute; top:22px; left:22px; color:var(--gold); font:14px 'Libre Caslon Display'; }.play { position:absolute; top:42%; left:50%; transform:translate(-50%,-50%); width:56px; height:56px; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:grid; place-items:center; padding-left:3px; background:rgba(0,0,0,.18); transition:.25s; }.film-card:hover .play { background:var(--copper); border-color:var(--copper); }
.film-info { position:absolute; left:25px; right:25px; bottom:25px; }.film-info small { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:8px; }.film-info h3 { font:400 25px/1.14 'Libre Caslon Display'; margin:10px 0 18px; }.film-info>span { text-transform:uppercase; letter-spacing:.15em; font-size:8px; }
.gallery-note { max-width:1320px; margin:20px auto 0; color:#716a5e; font-size:10px; letter-spacing:.05em; }
.universe { background:var(--moss); color:white; padding:130px 8vw; }
.section-heading.light { max-width:1260px; }.section-heading.light>p { max-width:390px; color:#aeb5aa; font-size:14px; line-height:1.8; }.section-heading.light h2 em { color:var(--gold); }
.journey { max-width:1260px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.2); }
.journey article { padding:32px 28px 20px 0; border-right:1px solid rgba(255,255,255,.13); min-height:300px; position:relative; }.journey article+article { padding-left:28px; }.journey-index { font-size:9px; color:#829083; letter-spacing:.15em; }.journey-icon { display:block; color:var(--gold); font-size:35px; margin:45px 0 25px; font-weight:400; }.journey h3 { font-size:11px; letter-spacing:.18em; }.journey p { color:#aeb5aa; font:15px/1.65 'Libre Caslon Display'; }
.statement { min-height:630px; background:linear-gradient(rgba(14,15,12,.55),rgba(14,15,12,.9)),url('images/chamada-mapa.png') center 66%/cover; color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; }.statement p { color:var(--gold); font-size:9px; letter-spacing:.28em; }.statement h2 { font:400 clamp(52px,6vw,82px)/1.02 'Libre Caslon Display'; margin:22px 0 42px; }.statement h2 em { color:var(--gold); }
.contact { padding:130px 8vw; display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:var(--paper); }.contact-main>p:not(.section-label) { color:#666b63; max-width:520px; line-height:1.8; }.contact h2 { margin-top:25px; }.contact-options { border-top:1px solid #c9c3b7; }.contact-options a { display:grid; grid-template-columns:40px 1fr 30px; align-items:center; gap:14px; padding:25px 0; border-bottom:1px solid #c9c3b7; transition:.2s; }.contact-options a:hover { padding-left:10px; background:rgba(183,107,55,.06); }.contact-options a>span { color:var(--copper); font:14px 'Libre Caslon Display'; }.contact-options small { display:block; font-size:8px; letter-spacing:.16em; color:#85877e; margin-bottom:6px; }.contact-options strong { font:400 20px 'Libre Caslon Display'; }.contact-options b { color:var(--copper); }
footer { background:#0d0f0c; color:white; padding:65px 8vw 30px; display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:50px; align-items:start; }footer>p { color:#888d85; font:15px/1.7 'Libre Caslon Display'; margin:0; }footer>div { display:flex; justify-content:flex-end; gap:25px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }footer>small { grid-column:1/-1; border-top:1px solid #262925; padding-top:24px; color:#656861; font-size:8px; letter-spacing:.08em; }
@keyframes reveal { from{opacity:0; transform:scale(1.03)} to{opacity:1;transform:scale(1)} }
@media(max-width:950px){.topbar nav{display:none}.hero-content{left:6vw;right:6vw}.hero h1{font-size:76px}.hero-note{display:none}.manifesto{grid-template-columns:1fr 320px;padding:100px 6vw}.manifesto-label{display:none}.numbers{grid-template-columns:repeat(3,1fr)}.numbers>p{grid-column:1/-1}.film-grid{grid-template-columns:1fr 1fr}.film-card:first-child{grid-column:1/-1}.journey{grid-template-columns:1fr 1fr}.contact{gap:5vw}}
@media(max-width:650px){.topbar{height:74px;padding:0 5vw}.nav-cta{display:none}.hero{min-height:740px}.hero-image{background-position:62% center}.hero-image:after{background:linear-gradient(90deg,rgba(6,7,5,.78),rgba(6,7,5,.12)),linear-gradient(0deg,rgba(6,7,5,.8),transparent 55%)}.hero-content{top:53%}.hero h1{font-size:57px;line-height:.9}.lead{font-size:17px}.hero-actions{align-items:stretch;flex-direction:column;gap:10px;width:max-content}.scroll-cue{display:none}.manifesto{display:block;padding:85px 6vw}.manifesto h2,.section-heading h2,.contact h2{font-size:44px}.story-columns{grid-template-columns:1fr}.portrait-card{height:430px;margin-top:55px}.numbers{grid-template-columns:1fr;padding:55px 8vw}.numbers div{border-right:0;border-bottom:1px solid #333;padding-bottom:20px}.numbers>p{grid-column:auto}.films,.universe,.contact{padding:85px 6vw}.section-heading{display:block}.section-heading>a{display:inline-block;margin-top:25px}.film-grid{display:block}.film-card{display:block;height:420px;margin-bottom:15px}.journey{grid-template-columns:1fr}.journey article{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:30px 0}.journey article+article{padding-left:0}.journey-icon{margin:20px 0}.statement{min-height:520px;padding:0 6vw}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer>div{justify-content:flex-start}footer>small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
section:not(.hero) { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
section.is-visible { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){section:not(.hero){opacity:1;transform:none}}
