:root { --paper:#f8efe4; --paper-2:#fffaf4; --ink:#392319; --brown:#a4572f; --brown-deep:#70371f; --copper:#bd7040; --muted:#795f51; --line:#e5d2bf; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--serif); line-height:1.45; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px,calc(100% - 11vw)); margin:0 auto; }
.container-dark { background:var(--brown-deep); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link { position:absolute; top:-60px; left:20px; z-index:100; padding:10px 15px; color:#fff; background:var(--brown); }
.skip-link:focus { top:10px; }
.site-header { position:absolute; z-index:20; width:100%; height:62px; border-bottom:1px solid rgba(110,73,48,.18); background:rgba(246,237,226,.6); }
.header-inner { height:100%; display:flex; align-items:center; gap:28px; }
.brand { font-size:23px; letter-spacing:.4em; text-transform:uppercase; white-space:nowrap; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-left:auto; font-size:12px; }
.main-nav a { position:relative; padding:22px 0 18px; }
.main-nav a:hover { color:var(--copper); }
.header-social,.social-row { display:flex; align-items:center; gap:15px; font-family:var(--sans); font-size:14px; }
.header-social { order:2; }
.header-social a:hover,.social-row a:hover { color:var(--copper); }
.header-cta { order:3; }
.menu-toggle { display:none; border:0; background:none; padding:7px; }
.menu-toggle span { display:block; width:24px; height:1px; margin:5px 0; background:var(--ink); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:37px; padding:0 18px; border:1px solid transparent; border-radius:22px; font:700 10px var(--sans); letter-spacing:.12em; text-transform:uppercase; transition:.2s ease; }
.button:hover,.button:focus { transform:translateY(-2px); }
.button-dark { color:var(--paper); background:var(--brown); }
.button-dark:hover,.button-dark:focus { color:#fff; background:var(--brown-deep); }
.button-outline-dark { color:var(--brown); border-color:var(--copper); background:transparent; }
.button-outline-dark:hover,.button-outline-dark:focus { color:var(--paper); background:var(--brown); }
.button-outline-light { color:var(--paper); border-color:#e8b47d; background:transparent; }
.button-outline-light:hover,.button-outline-light:focus { color:var(--ink); background:#f4bd80; }
.play-dot { font-size:10px; }
.eyebrow { margin:0; color:var(--brown); font:10px var(--sans); letter-spacing:.35em; text-transform:uppercase; }
.hero-section { position:relative; overflow:hidden; }
.new-hero { min-height:374px; padding-top:62px; display:flex; align-items:center; }
.hero-image { position:absolute; inset:0; background-position:right 14%; background-size:cover; }
.hero-content { position:relative; z-index:1; padding:22px 0 30px; }
.hero-content h1 { max-width:430px; margin:10px 0 10px; font-size:clamp(52px,6.1vw,82px); font-weight:400; line-height:.87; letter-spacing:-.065em; }
.hero-content h1::first-line { color:#1e120e; }
.hero-content .lead { max-width:365px; margin:0 0 14px; color:var(--ink); font-size:15px; line-height:1.2; }
.hero-note { position:absolute; text-shadow: 1px 1px 2px #ff9966; z-index:1; top:25%; right:7%; color:var(--brown-deep); font-size:20px; font-style:italic; line-height:1.2; transform:rotate(-7deg); }
.hero-note b { display:block; margin-top:11px; font-size:16px; font-weight:400; }
.music-section { padding:27px 0 30px; background:var(--paper-2); }
.music-grid { display:grid; grid-template-columns:260px 250px 1fr; align-items:center; gap:34px; }
.music-copy h2,.ministry-copy h2,.schedule-intro h2 { margin:9px 0 7px; font-size:clamp(42px,4vw,65px); font-weight:400; line-height:.88; letter-spacing:-.065em; }
.music-copy p:not(.eyebrow),.ministry-copy p:not(.eyebrow),.schedule-intro p:not(.eyebrow) { margin:0 0 14px; color:var(--muted); font-size:14px; line-height:1.22; }
.music-actions { display:grid; justify-items:start; gap:8px; }
.album-cover { position:relative; overflow:hidden; aspect-ratio:1/1; border-radius:6px; color:#fff; background:#956039; box-shadow:0 5px 14px rgba(54,27,14,.12); }
.album-cover img { width:100%; height:100%; object-fit:cover; }
.album-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(20deg,rgba(45,13,7,.58),transparent 58%); }
.album-cover > span { position:absolute; z-index:1; bottom:41px; left:18px; font-size:39px; font-style:italic; line-height:.78; }
.album-cover > small { position:absolute; z-index:1; bottom:18px; left:20px; font:9px var(--sans); letter-spacing:.35em; }
.player-card { padding:14px 17px; border-radius:12px; background:#fffdfa; box-shadow:0 4px 18px rgba(91,56,34,.08); }
.player-heading { display:grid; grid-template-columns:41px 1fr 20px; gap:12px; align-items:center; }
.player-heading img { width:41px; height:41px; border-radius:4px; object-fit:cover; }
.player-heading strong,.player-heading small { display:block; }
.player-heading strong { font-size:14px; font-weight:400; }
.player-heading small { color:var(--muted); font-size:12px; }
.player-heading b { align-self:start; font:22px var(--sans); }
.player-controls { display:grid; grid-template-columns:42px 1fr; gap:17px; align-items:center; margin:10px 0 9px; }
.player-play { display:grid; place-items:center; width:37px; height:37px; border-radius:50%; color:#fff; background:var(--brown); font:12px var(--sans); }
.player-progress > span { display:block; height:3px; border-radius:3px; background:#d9c9ba; }
.player-progress > span::after { content:''; display:block; width:28%; height:100%; background:var(--brown); }
.player-progress div { display:flex; justify-content:space-between; margin-top:4px; color:var(--muted); font:10px var(--sans); }
.track-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.track-list li { display:grid; grid-template-columns:25px 1fr auto; gap:7px; align-items:center; min-height:30px; padding:0 7px; font-size:11px; }
.track-list li:nth-child(2) { border-radius:4px; background:#f5ede5; }
.track-list li > span,.track-list time { color:var(--muted); font:10px var(--sans); }
.platform-row { display:flex; align-items:center; justify-content:flex-end; gap:25px; margin:15px auto 0; width:min(780px,100%); font-family:var(--sans); font-size:15px; }
.platform-row span { margin-right:auto; color:var(--muted); font:12px var(--serif); }
.project-section { position:relative; overflow:hidden; min-height:250px; background:#e8cdb4; }
.project-photo { position:absolute; top:0; left:33%; width:37%; height:100%; background-position:center; background-size:cover; }
.project-grid { position:relative; z-index:1; min-height:250px; display:grid; grid-template-columns:33% 37% 30%; align-items:center; }
.new-project::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#e8cdb4 0%,rgba(232,205,180,.75) 31%,transparent 42%,transparent 71%,rgba(232,205,180,.95) 100%); }
.project-copy { grid-column:1; width:100%; min-width:0; max-width:340px; padding:25px 42px 25px 0; }
.project-copy h2 { max-width:320px; margin:5px 0 0; color:var(--brown); font-size:clamp(48px,4.3vw,60px); font-weight:400; line-height:.8; letter-spacing:-.08em; overflow-wrap:normal; }
.project-subtitle { margin:12px 0 7px; color:var(--brown); font:10px var(--sans); letter-spacing:.28em; }
.project-copy p:not(.eyebrow) { margin:0 0 13px; max-width:360px; font-size:13px; line-height:1.15; }
.project-values { grid-column:3; justify-self:end; display:grid; gap:9px; width:220px; }
.project-values div { display:flex; align-items:center; gap:11px; font-size:13px; }
.project-values i { display:grid; place-items:center; width:39px; height:39px; border:1px solid var(--brown); border-radius:50%; color:var(--brown); font-size:21px; font-style:normal; }
.ministry-section { padding:26px 0 29px; background:var(--paper-2); }
.ministry-grid { display:grid; grid-template-columns:270px 1fr; gap:30px; align-items:center; }
.ministry-copy h2 { margin-bottom:10px; }
.ministry-copy p:not(.eyebrow) { font-size:13px; }
.ministry-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.ministry-card { position:relative; overflow:hidden; aspect-ratio:.86/1; border-radius:5px; background:#a45d37; }
.ministry-card::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(38,17,10,.85)); }
.ministry-card img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.ministry-card:hover img { transform:scale(1.04); }
.ministry-card span { position:absolute; z-index:1; bottom:16px; left:15px; color:#fff; font-size:22px; line-height:.93; }
.schedule-section { padding:27px 0; color:var(--paper); background-position:center; background-size:cover; }
.schedule-grid { display:grid; grid-template-columns:310px 1fr; align-items:center; gap:50px; }
.schedule-intro h2 { max-width:310px; margin-bottom:10px; }
.schedule-intro p:not(.eyebrow) { color:#f4dfcc; }
.schedule-section .eyebrow { color:#e9b477; }
.event-list { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.event-card { min-height:116px; display:grid; grid-template-columns:53px 1fr 20px; gap:9px; align-items:center; padding:13px 10px; border:1px solid rgba(248,202,151,.62); border-radius:4px; background:rgba(145,72,37,.38); }
.event-card:hover { border-color:#f0bd82; background:rgba(164,83,43,.62); }
.event-date { color:#edb06c; text-align:center; }
.event-date b { display:block; font-size:31px; font-weight:400; line-height:.9; }
.event-date span { font:10px var(--sans); letter-spacing:.14em; }
.event-card strong,.event-card span,.event-card small { display:block; }
.event-card strong { font-size:12px; font-weight:400; }
.event-card span,.event-card small { color:#f2d9c2; font-size:11px; line-height:1.15; }
.event-card i { display:grid; place-items:center; width:21px; height:21px; border:1px solid #e9b477; border-radius:50%; font-style:normal; }
.empty-note { color:var(--muted); }
.new-about { position:relative; min-height:260px; overflow:hidden; background:var(--paper); }
.about-photo { position:absolute; inset:0 auto 0 0; width:47%; background-position:center 35%; background-size:cover; }
.new-about::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 0 35%,rgba(246,237,226,.12) 42%,var(--paper) 69%); }
.about-grid { position:relative; z-index:1; min-height:260px; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
.about-note { text-shadow: 1px 1px 2px #ff9966; align-self:center; margin-left:4%; color:var(--brown); font-size:21px; font-style:italic; line-height:1; transform:rotate(-8deg); }
.about-copy { grid-column:2; max-width:510px; padding:30px 0 30px 15px; }
.about-copy p:not(.eyebrow) { margin:8px 0 15px; font-size:13px; line-height:1.25; }
.site-footer { padding:32px 0 20px; color:var(--paper); background:var(--brown-deep); }
.footer-main { display:flex; align-items:center; gap:30px; }
.footer-nav { display:flex; flex-wrap:wrap; gap:17px; margin-left:auto; font:11px var(--sans); }
.footer-main .social-row { font-size:11px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:24px; padding-top:12px; border-top:1px solid rgba(246,237,226,.2); color:#cbb4a3; font:9px var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.inner-hero { min-height:400px; display:flex; align-items:flex-end; padding:100px 0 57px; background-position:center; background-size:cover; }
.light-inner { background:var(--paper); }
.project-inner,.ministry-inner,.about-inner { background-position:center; background-size:cover; }
.project-inner { color:var(--paper); }
.project-inner .eyebrow { color:#f0bd8a; }
.project-inner .lead { color:#fff1e3; }
.page-banner { position:relative; isolation:isolate; overflow:hidden; color:#fff8ef; background-color:var(--brown-deep); }
.page-banner::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(112,56,30,.90) 0%,rgba(132,67,35,.76) 43%,rgba(132,67,35,.38) 76%,rgba(132,67,35,.2) 100%); }
.page-banner > .container { position:relative; z-index:1; }
.page-banner .eyebrow { color:#f4c082; text-shadow:0 1px 8px rgba(22,10,5,.55); }
.page-banner h1 { color:#fff8ef; text-shadow:0 3px 18px rgba(22,10,5,.64); }
.page-banner .lead { color:#fff8ef; text-shadow:0 2px 10px rgba(22,10,5,.72); }
.ministry-inner { background-position:center 45%; }
.schedule-inner { background-position:center 46%; }
.contact-inner { background-position:center 40%; }
.about-inner { background-position:center 38%; }
.inner-hero h1 { max-width:730px; margin:11px 0 8px; font-size:clamp(48px,6vw,80px); font-weight:400; line-height:.88; letter-spacing:-.06em; }
.inner-hero .lead { max-width:500px; margin:0; color:var(--line); font-size:16px; }
.page-section { padding:60px 0; }
.light-section { background:var(--paper-2); }
.music-page-grid,.two-column-copy { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.album-cover.large { width:min(390px,100%); }
.music-page-grid h2,.two-column-copy h2,.narrow-copy h2 { margin:8px 0 12px; font-size:50px; font-weight:400; line-height:.9; letter-spacing:-.05em; }
.body-copy { color:var(--muted); font-size:16px; line-height:1.5; }
.narrow-copy { max-width:760px; }
.narrow-copy h2 { color:var(--brown); }
.photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; padding:0 4px 4px; }
.photo-grid img { width:100%; height:235px; object-fit:cover; }
.ministry-page { max-width:1080px; }
.ministry-cards-page { margin-top:20px; }
.agenda-page-list { display:grid; gap:12px; }
.agenda-row { display:grid; grid-template-columns:80px 1fr auto; gap:25px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }
.agenda-row h2 { margin:4px 0; font-size:28px; font-weight:400; }
.agenda-row p { margin:0; color:var(--muted); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.contact-card { padding:30px; border:1px solid var(--line); background:#fffdfa; }
.contact-card > a { display:block; margin-top:10px; color:var(--brown); font-size:24px; }
.contact-card .social-row { justify-content:flex-start; margin-top:14px; }
@media (max-width:1000px) { .container{width:min(100% - 46px,760px)} .main-nav{gap:15px} .header-social{display:none} .music-grid{grid-template-columns:1fr 210px 1.4fr;gap:18px} .project-photo{left:34%;width:36%} .ministry-grid{grid-template-columns:230px 1fr}.schedule-grid{grid-template-columns:260px 1fr;gap:25px} .event-list{gap:7px} .event-card{grid-template-columns:41px 1fr 15px;padding:8px 6px}.event-card strong,.event-card span,.event-card small{font-size:10px} }
@media (max-width:700px) { .container{width:calc(100% - 32px)} .site-header{height:58px} .header-inner{gap:14px}.brand{font-size:19px}.menu-toggle{display:block;margin-left:auto}.main-nav{position:absolute;top:58px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px;background:rgba(246,237,226,.98);border:1px solid var(--line)} .main-nav.is-open{display:flex}.main-nav a{padding:11px}.header-cta{display:none}.new-hero{min-height:630px;align-items:start;padding-top:125px}.hero-image{background-position:66% center}.hero-content h1{font-size:clamp(48px,15vw,72px);max-width:340px}.hero-content .lead{max-width:290px}.hero-note{display:none}.music-grid{grid-template-columns:1fr;gap:20px}.music-copy h2,.ministry-copy h2,.schedule-intro h2{font-size:54px}.album-cover{width:min(330px,100%);margin:auto}.player-card{width:100%}.platform-row{flex-wrap:wrap;justify-content:flex-start;gap:12px}.platform-row span{width:100%}.new-project{min-height:680px}.project-photo{left:0;width:100%;opacity:.5;background-position:center}.new-project::after{background:linear-gradient(90deg,rgba(232,205,180,.94),rgba(232,205,180,.5))}.project-grid{display:block;min-height:680px}.project-copy{padding-top:85px}.project-copy h2{font-size:60px}.project-values{position:absolute;right:0;bottom:35px;width:200px}.ministry-grid,.schedule-grid,.music-page-grid,.two-column-copy,.contact-grid{grid-template-columns:1fr}.ministry-grid{gap:25px}.ministry-cards{gap:7px}.ministry-card span{font-size:17px;left:9px;bottom:10px}.new-schedule{padding:40px 0}.event-list{grid-template-columns:1fr;gap:9px}.event-card{grid-template-columns:57px 1fr 20px;min-height:80px;padding:10px}.event-card strong,.event-card span,.event-card small{font-size:12px}.new-about{min-height:650px}.about-photo{width:100%;height:53%;background-position:center top}.new-about::after{background:linear-gradient(0deg,var(--paper) 0 42%,transparent 70%)}.about-grid{display:block;min-height:650px;padding-top:40px}.about-note{position:relative;z-index:2;margin:0 0 275px 11px}.about-copy{padding:0;max-width:100%}.footer-main{align-items:flex-start;flex-direction:column;gap:18px}.footer-nav{margin-left:0;gap:12px 17px}.footer-main .social-row{margin-left:0}.footer-bottom{flex-direction:column;gap:8px}.inner-hero{min-height:420px;padding-top:100px;padding-bottom:45px}.inner-hero h1{font-size:clamp(48px,14vw,70px)}.project-inner .lead,.page-banner .lead{color:#fff8ef}.page-banner::after{background:linear-gradient(90deg,rgba(112,56,30,.94),rgba(132,67,35,.75))}.page-section{padding:45px 0}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid img{height:180px}.agenda-row{grid-template-columns:62px 1fr;gap:15px}.agenda-row .button{grid-column:2;width:max-content}.music-page-grid .album-cover{margin:0}.contact-card>a{font-size:20px;word-break:break-word} }

@media (min-width:701px) and (max-width:1100px) {
    .project-copy { max-width:100%; padding-right:26px; }
    .project-copy h2 { font-size:clamp(44px,5vw,56px); }
    .project-values { width:190px; }
    .project-values div { font-size:12px; }
}

@media (max-width:700px) {
    .new-project { min-height:0; padding-bottom:34px; }
    .new-project::after { display:none; }
    .new-project .project-photo { position:relative; top:auto; left:auto; width:100%; height:245px; opacity:1; background-position:center; }
    .new-project .project-grid { display:block; min-height:0; }
    .new-project .project-copy { width:100%; max-width:none; padding:34px 0 0; }
    .new-project .project-copy h2 { max-width:100%; font-size:clamp(52px,14vw,74px); line-height:.82; }
    .new-project .project-copy p:not(.eyebrow) { max-width:none; font-size:14px; line-height:1.28; }
    .new-project .project-values { position:static; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; margin-top:28px; }
    .new-project .project-values div { min-width:0; gap:9px; font-size:13px; }
    .new-project .project-values i { flex:0 0 39px; }
}

/* Menus hierárquicos editáveis */
.main-nav .nav-item { position:relative; }
.main-nav .nav-submenu { display:none; position:absolute; z-index:20; top:100%; left:-12px; min-width:190px; padding:8px; background:rgba(255,250,244,.98); border:1px solid var(--line); box-shadow:0 10px 25px rgba(77,43,27,.12); }
.main-nav .nav-item:hover > .nav-submenu,.main-nav .nav-item:focus-within > .nav-submenu { display:grid; gap:2px; }
.main-nav .nav-submenu .nav-item a { display:block; padding:10px 12px; white-space:nowrap; }
.footer-nav .nav-item { position:relative; }
.footer-nav .nav-submenu { display:grid; gap:4px; }
@media (max-width:700px) {
    .main-nav .nav-item { display:flex; flex-direction:column; }
    .main-nav .nav-submenu { position:static; min-width:0; padding:0 0 0 12px; border:0; box-shadow:none; background:transparent; }
    .main-nav .nav-item:hover > .nav-submenu,.main-nav .nav-item:focus-within > .nav-submenu { display:grid; }
    .main-nav .nav-submenu .nav-item a { padding:9px 11px; }
    .footer-nav .nav-item { display:block; }
    .footer-nav .nav-submenu { padding-left:12px; }
}
