/* S2L Full-Site Prototype — shared editorial pages layered on the tested V6 navigation. */
:root { --display: "Iowan Old Style", "Baskerville", "Palatino Linotype", Georgia, serif; }
body.content-page { background:var(--paper); }
body.content-page::before {content:"";position:fixed;inset:0;background:url('assets/grain-tile.png') repeat;opacity:.15;pointer-events:none;z-index:0;}
.site-main, .site-footer, .site-home { position: relative; }
.page-wrap { width: min(1570px, calc(100% - var(--edge)*2)); margin-inline:auto; }
.site-main { min-height: calc(100svh - 115px); padding-top: clamp(130px, 12vw, 200px); }
.site-home {position:fixed;top:calc(var(--edge) + 3px);left:var(--edge);z-index:10;display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;}
.site-home>span{font-family:var(--display);font-size:34px;letter-spacing:-.12em;line-height:1;white-space:nowrap;}
.site-home>span span{color:var(--copper);font-size:.65em;vertical-align:super;margin:0 .08em;}
.site-home small {font-size:9px;letter-spacing:.27em;font-weight:600;}
.skip-link {position:absolute;z-index:1000;left:10px;top:-100px;background:var(--paper);padding:12px;}
.skip-link:focus{top:10px;}
.eyebrow {font-size:10px;letter-spacing:.24em;font-weight:600;color:var(--copper);text-transform:uppercase;}
.section-intro{padding-bottom:clamp(52px,7vw,104px);}
.section-intro__eyebrow{font-size:10px;letter-spacing:.26em;color:var(--copper);font-weight:700;}
.editorial-title{font-family:var(--display);font-size:clamp(66px,9.4vw,174px);line-height:.87;letter-spacing:-.076em;font-weight:400;max-width:1250px;margin:clamp(27px,4vw,62px) 0 clamp(24px,3.5vw,52px);text-wrap:balance;}
.section-intro__copy{max-width:570px;font-size:clamp(15px,1.35vw,20px);line-height:1.72;color:#77746f;margin:0 0 35px;}
.section-intro__line{height:1px;background:#d7d1c7;width:100%;}
.text-link{display:inline-flex;gap:20px;align-items:center;padding:0 0 12px;color:var(--ink);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.07em;border-bottom:1px solid var(--copper);transition:color .2s ease;}
.text-link:hover{color:var(--copper);}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #d3cdc4;margin-top:clamp(100px,10vw,170px);padding-block:27px 35px;font-size:10px;letter-spacing:.17em;color:#97918a;}
.site-footer a{color:var(--ink);text-decoration:none;font-weight:700;}
/* Motion: tiny composited entrance only, no scrolling repaint filters. */
.reveal{opacity:1;transform:none;}
.js-ready .reveal:not(.is-visible){opacity:0;transform:translate3d(0,17px,0);}
.js-ready .reveal{transition:opacity 650ms ease,transform 650ms var(--ease);}
.js-ready .reveal.is-visible{opacity:1;transform:none;}
/* Films */
.film-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(45px,5vw,80px) clamp(15px,2.75vw,44px);}
.film-card{color:inherit;text-decoration:none;min-width:0;display:block;}
.poster-frame{position:relative;width:100%;aspect-ratio:2/3;overflow:hidden;isolation:isolate;background:#181817;color:#e9ded0;}
.poster-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 800ms var(--ease);}
.film-card:hover .poster-frame img{transform:scale(1.038);}
.poster-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(0,0,0,.1);}
.poster-fallback{position:absolute;inset:0;display:flex;justify-content:space-between;flex-direction:column;padding:clamp(22px,3vw,52px);background:radial-gradient(ellipse at 80% 15%,#544135 0%,transparent 52%),linear-gradient(165deg,#2a231f,#090b0b 75%);}
.poster-fallback span{font-size:10px;color:#ccac8f;letter-spacing:.2em;}
.poster-fallback strong{font-family:var(--display);font-size:clamp(45px,6vw,90px);letter-spacing:-.08em;font-weight:400;line-height:.88;overflow-wrap:anywhere;}
.poster-frame--under .poster-fallback{background:radial-gradient(circle at 50% 20%,#424c4d 0%,#161919 57%,#0b0b0a 100%);}
.poster-frame--bar .poster-fallback{background:radial-gradient(circle at 80% 15%,#694026,#14120d 65%);}
.poster-frame--festival .poster-fallback{background:radial-gradient(circle at 20% 15%,#6e5140,#262121 65%,#111 100%);}
.poster-frame--rio .poster-fallback{background:linear-gradient(130deg,#d39b76,#3b2b27 60%,#0b0e14);}
.poster-frame--soberana .poster-fallback{background:linear-gradient(130deg,#4e2315,#140c08 60%,#0b0b0b);}
.film-card__meta{display:flex;justify-content:space-between;gap:10px;margin-top:20px;font-size:10px;letter-spacing:.16em;color:#8c837b;text-transform:uppercase;}
.film-card__meta>span:last-child{font-size:20px;color:var(--copper);line-height:12px;transition:transform .3s var(--ease);}
.film-card:hover .film-card__meta>span:last-child{transform:translate(4px,-4px);}
.film-card__title{font-family:var(--display);font-size:clamp(35px,4vw,63px);font-weight:400;line-height:1;letter-spacing:-.05em;margin:15px 0 10px;}
.film-card__under{font-size:11px;color:#98918b;letter-spacing:.06em;}
.bottom-message{border-top:1px solid #d4d0c9;margin-top:clamp(110px,12vw,210px);padding-top:35px;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:start;}
.bottom-message h2{font-family:var(--display);font-weight:400;font-size:clamp(35px,4.4vw,69px);line-height:1;letter-spacing:-.05em;margin:0;}
/* Project pitch pages */
.project-page{padding-top:clamp(150px,12vw,190px);}
.project-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(45px,7vw,130px);align-items:center;}
.project-words{max-width:650px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-block:30px;}
.back-link{align-self:flex-start;text-decoration:none;color:#837971;font-size:10px;font-weight:600;letter-spacing:.18em;transition:color .2s ease;}
.back-link:hover{color:var(--copper);}
.project-sup{font-size:11px;color:var(--copper);letter-spacing:.16em;margin:clamp(60px,6vw,100px) 0 16px;}
.project-words h1{font-family:var(--display);font-size:clamp(75px,10vw,175px);font-weight:400;line-height:.88;letter-spacing:-.08em;margin:0 0 42px;overflow-wrap:anywhere;}
.project-rule{height:1px;width:100%;background:#d0c9bf;margin-bottom:55px;}
.project-description{font-family:var(--display);font-size:clamp(23px,2.25vw,36px);line-height:1.32;letter-spacing:-.021em;margin:18px 0 32px;}
.project-credit{font-size:11px;line-height:1.8;letter-spacing:.12em;text-transform:uppercase;color:#8b817b;margin:0 0 44px;}
.project-art{width:100%;}
.project-poster-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#888078;letter-spacing:.12em;}
.project-next{display:flex;justify-content:space-between;border-top:1px solid #d4cfc7;margin-top:110px;padding-top:35px;gap:30px;}
.project-next a{display:flex;flex-direction:column;gap:14px;color:#999188;text-decoration:none;font-size:10px;letter-spacing:.18em;}
.project-next a span{color:var(--ink);font-family:var(--display);font-size:clamp(27px,3.2vw,50px);letter-spacing:-.05em;}
.project-follow{text-align:right;align-items:flex-end;}
.project-prev{text-align:left;}
/* Manifesto */
.manifesto-page{padding-top:0;}
.manifesto-lead{padding-top:clamp(175px,14vw,250px);min-height:100svh;display:flex;flex-direction:column;justify-content:center;}
.manifesto-kicker{font-size:11px;color:var(--copper);font-weight:600;letter-spacing:.28em;}
.manifesto-headline{display:flex;flex-direction:column;margin:clamp(45px,5vw,85px) 0 0;line-height:.75;letter-spacing:-.096em;font-family:var(--display);font-size:clamp(84px,13.5vw,245px);font-weight:400;}
.manifesto-headline span{display:block;}
.manifesto-headline span:nth-child(2){padding-left:clamp(60px,12vw,210px);}
.manifesto-headline__last{color:var(--copper);}
.manifesto-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:clamp(55px,8vw,120px);padding-bottom:45px;font-size:10px;letter-spacing:.2em;color:#827a74;}
.manifesto-statement{background:#131312;color:#e9e4db;padding:clamp(85px,10vw,175px) 0;}
.manifesto-statement__inner{max-width:1300px;}
.manifesto-statement blockquote{margin:60px 0 30px;}
.manifesto-statement blockquote p{font-family:var(--display);font-size:clamp(34px,5.5vw,90px);letter-spacing:-.055em;line-height:1.07;}
.manifesto-attribution{font-size:12px;letter-spacing:.16em;color:#b9aca0;text-align:right;}
.manifesto-founder{padding-top:clamp(120px,13vw,230px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,135px);align-items:center;}
.founder-portrait{min-height:clamp(410px,55vw,680px);background:#24221f;color:#c1b4a5;padding:clamp(24px,4vw,60px);display:flex;flex-direction:column;justify-content:space-between;}
.founder-portrait__label{font-size:11px;letter-spacing:.3em;}
.founder-monogram{font-family:var(--display);font-size:clamp(80px,15vw,220px);line-height:.8;letter-spacing:-.1em;color:#efe5d9;}
.founder-monogram span{color:var(--copper);}
.founder-portrait p{max-width:290px;font-family:var(--display);font-size:clamp(20px,2.5vw,35px);line-height:1.2;}
.founder-bio h2{font-family:var(--display);font-size:clamp(50px,6vw,100px);font-weight:400;line-height:.9;letter-spacing:-.07em;margin:28px 0 40px;}
.founder-bio>p{max-width:500px;font-size:17px;line-height:1.85;color:#77716b;margin-bottom:40px;}
/* Media */
.media-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:clamp(40px,8vw,150px);}
.media-heading h2,.press-materials h2{font-family:var(--display);font-size:clamp(48px,6vw,100px);font-weight:400;letter-spacing:-.065em;line-height:.98;margin:25px 0;}
.media-heading>p{font-size:15px;line-height:1.65;color:#88817b;max-width:310px;}
.news-item{display:grid;grid-template-columns:160px minmax(0,1fr) 25px;gap:clamp(14px,3vw,50px);align-items:start;text-decoration:none;color:var(--ink);padding:31px 0;border-top:1px solid #cfc9bf;}
.news-item__publisher{font-size:10px;color:var(--copper);letter-spacing:.17em;line-height:1.6;text-transform:uppercase;display:flex;flex-direction:column;gap:15px;}
.news-item__index{color:#aaa39b;}
.news-item h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.55vw,42px);line-height:1.1;letter-spacing:-.03em;margin:0;}
.news-item__arrow{font-size:22px;color:var(--copper);transition:transform .25s var(--ease);}
.news-item:hover .news-item__arrow{transform:translate(5px,-5px);}
.press-materials{margin-top:clamp(110px,13vw,210px);padding-top:26px;border-top:1px solid #cac4bb;}
.press-materials h2{max-width:900px;}
.press-materials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,5vw,80px);margin-top:80px;}
.press-materials__grid article{border-top:1px solid #d5cfc7;padding-top:30px;}
.press-materials__grid article>span{font-size:10px;color:var(--copper);letter-spacing:.2em;}
.press-materials__grid h3{font-family:var(--display);font-size:clamp(28px,3vw,45px);font-weight:400;letter-spacing:-.045em;margin:35px 0 20px;}
.press-materials__grid p{font-size:14px;color:#827a74;line-height:1.75;}
/* Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,150px);padding-block:25px;}
.contact-left{display:flex;flex-direction:column;justify-content:space-between;min-height:630px;}
.contact-left h2{font-family:var(--display);font-weight:400;font-size:clamp(37px,4.5vw,75px);letter-spacing:-.06em;line-height:1.05;margin:0;}
.contact-left__detail{display:flex;flex-direction:column;gap:15px;font-size:10px;letter-spacing:.17em;color:#928981;}
.social-links{display:flex;gap:28px;margin-top:40px;}
.social-links a{color:var(--ink);text-decoration:none;border-bottom:1px solid #b3a295;padding-bottom:9px;}
.contact-panel{padding:clamp(26px,4vw,55px);background:#e9e6df;}
.contact-panel__top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.17em;border-bottom:1px solid #c6beb4;padding-bottom:27px;}
.contact-panel__top>span:last-child{font-size:20px;color:var(--copper);}
.preview-contact{display:flex;flex-direction:column;padding-top:24px;}
.preview-contact label{font-size:10px;color:#68615b;letter-spacing:.14em;font-weight:600;margin:22px 0 9px;}
.preview-contact input,.preview-contact select,.preview-contact textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #b9b1a8;border-radius:0;padding:11px 0 16px;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif;resize:vertical;}
.preview-contact input:focus,.preview-contact select:focus,.preview-contact textarea:focus{outline:0;border-bottom-color:var(--copper);}
.preview-contact button{display:flex;align-items:center;justify-content:space-between;border:0;background:var(--ink);color:var(--paper);padding:20px 24px;margin-top:40px;text-align:left;font-size:11px;letter-spacing:.18em;cursor:pointer;}
.preview-contact button span{font-size:22px;}
.preview-contact button:hover{background:var(--copper);}
.form-notice{font-size:11px;line-height:1.6;color:#8b837a;margin:17px 0 0;}
@media(max-width:1100px){.bottom-message{grid-template-columns:1fr 1.4fr;}.bottom-message .text-link{grid-column:2;justify-self:start;}.news-item{grid-template-columns:112px 1fr 22px;gap:19px;}.project-stage{gap:45px;}}
@media(max-width:760px){
 .site-main{padding-top:135px;}
 .site-home{top:calc(var(--edge) + 11px);gap:8px;}.site-home>span{font-size:30px;}.site-home small{font-size:8px;letter-spacing:.16em;}
 .editorial-title{font-size:clamp(60px,13.5vw,112px);}
 .section-intro{padding-bottom:40px;}.section-intro__copy{font-size:15px;}
 .film-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 18px;}.film-card__title{font-size:clamp(32px,6vw,52px);}
 .film-card__meta{font-size:8px;letter-spacing:.09em;}.film-card__under{font-size:10px;}
 .poster-fallback{padding:18px;}.poster-fallback strong{font-size:clamp(30px,7vw,60px);}
 .bottom-message{grid-template-columns:1fr;gap:25px;margin-top:95px;}.bottom-message .text-link{grid-column:1;}
 .project-stage{grid-template-columns:1fr;gap:46px;}.project-words{order:1;padding:0;}.project-art{order:2;max-width:600px;margin:auto;}.project-sup{margin:50px 0 15px;}.project-words h1{font-size:clamp(75px,17vw,128px);margin-bottom:32px;}.project-description{font-size:clamp(23px,5.3vw,32px);}.project-rule{margin-bottom:30px;}.project-next{margin-top:65px;}
 .manifesto-lead{padding-top:140px;min-height:80svh;}.manifesto-headline{font-size:clamp(77px,14vw,140px);margin-top:55px;}.manifesto-headline span:nth-child(2){padding-left:0;}.manifesto-bottom span:last-child{display:none;}
 .manifesto-founder{grid-template-columns:1fr;gap:55px;}.founder-portrait{min-height:460px;}.founder-bio h2{font-size:65px;}
 .media-layout{grid-template-columns:1fr;gap:60px;}.news-item{grid-template-columns:115px 1fr 20px;}.press-materials__grid{grid-template-columns:1fr;gap:25px;margin-top:50px;}.press-materials__grid article{padding-top:15px;}.press-materials__grid h3{margin-top:15px;}
 .contact-layout{grid-template-columns:1fr;}.contact-left{min-height:270px;gap:50px;}.contact-panel{margin-top:30px;}
 .site-footer{flex-wrap:wrap;row-gap:20px;font-size:9px;}
}
@media(max-width:420px){.film-gallery{gap:45px 13px;}.poster-frame .poster-fallback strong{font-size:clamp(29px,8vw,50px);}.film-card__title{font-size:clamp(27px,8vw,39px);}.news-item{grid-template-columns:1fr 22px;gap:10px;}.news-item__publisher{grid-column:1/-1;flex-direction:row;align-items:center;}.news-item h3{font-size:30px;}.news-item__arrow{grid-column:2;grid-row:2;}.site-footer>span:last-child{display:none;}.project-next a span{font-size:25px;}}
@media(prefers-reduced-motion:reduce){.js-ready .reveal{opacity:1 !important;transform:none !important;}}
