/*
Theme Name: Areli Cortés
Theme URI: https://example.com/areli-cortes
Author: Custom theme for Areli Cortés
Description: A multilingual portfolio theme for harpsichordist, organist and basso continuo player Areli Cortés.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: areli-cortes
*/

:root{--ivory:#f2eee7;--paper:#fbf8f2;--ink:#171714;--muted:#6e675f;--wine:#8d3234;--green:#23473c;--line:rgba(23,23,20,.12);--dark:#131311;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--radius:30px;--shadow:0 26px 70px rgba(43,34,24,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit}img{display:block;width:100%}button{font:inherit}.section{padding:clamp(78px,8vw,132px) clamp(20px,5vw,82px)}.display{font-family:var(--serif);font-weight:500;line-height:.91;letter-spacing:-.048em;margin:0}.eyebrow{margin:0 0 14px;color:var(--wine);font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,62px);background:rgba(242,238,231,.91);border-bottom:1px solid rgba(23,23,20,.08);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800}.monogram{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 21px/1 var(--serif)}.nav{display:flex;align-items:center;gap:21px}.nav>a{text-decoration:none;font-size:14px;font-weight:750}.langs{display:flex;gap:6px;margin-left:6px}.langs button{cursor:pointer;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.66);padding:6px 9px;font-size:13px;font-weight:800}.langs button.active{background:var(--ink);color:#fff}.menu{display:none;border:0;background:none;padding:10px;font-weight:800;cursor:pointer}.hero{min-height:calc(100svh - 71px);display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5vw;align-items:center;padding-top:clamp(44px,6vw,82px);padding-bottom:clamp(64px,7vw,105px)}.hero-copy h1{font-size:clamp(72px,9vw,142px);max-width:7ch}.role{font:600 clamp(27px,3vw,44px)/1.04 var(--serif);margin:21px 0 0;color:var(--wine)}.lead{font-size:clamp(19px,1.7vw,25px);max-width:690px;margin:24px 0 0}.hero-body{font-size:17px;color:var(--muted);max-width:650px;margin:18px 0 0}.buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:29px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 19px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:14px;font-weight:850;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.15)}.btn-light{background:rgba(255,255,255,.67);border-color:rgba(23,23,20,.1)}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-meta span{border-left:2px solid var(--wine);padding-left:10px;font-size:13px;font-weight:750;color:var(--muted)}.hero-video-wrap{position:relative}.hero-video{aspect-ratio:16/10;border-radius:40px;overflow:hidden;background:#000;box-shadow:var(--shadow)}.hero-video iframe{width:100%;height:100%;border:0;display:block}.video-caption{position:absolute;left:22px;bottom:20px;z-index:2;padding:11px 14px;border-radius:16px;background:rgba(15,15,14,.82);color:#fff;backdrop-filter:blur(12px);font-size:13px;font-weight:750;pointer-events:none}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:31px}.section-head h2{font-size:clamp(54px,7vw,102px);max-width:13ch}.section-head>p{max-width:500px;color:var(--muted);font-size:17px;margin:0}.performances{background:var(--dark);color:#fff}.performances .eyebrow{color:#d78e7e}.performances .section-head>p{color:rgba(255,255,255,.62)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.video-card{border:1px solid rgba(255,255,255,.08);border-radius:25px;overflow:hidden;background:rgba(255,255,255,.05)}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-info{padding:17px}.video-info h3{font:500 25px/1.06 var(--serif);margin:0}.video-info p{margin:8px 0 0;color:rgba(255,255,255,.58);font-size:13px}.bio{background:var(--paper)}.bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:start}.bio-photo{position:sticky;top:100px}.bio-photo img{aspect-ratio:4/5;object-fit:cover;border-radius:36px;box-shadow:var(--shadow)}.bio-copy h2{font-size:clamp(64px,8vw,122px)}.bio-short{font-size:22px;max-width:840px}.bio-extra{max-height:0;overflow:hidden;transition:max-height .42s ease}.bio-extra.open{max-height:680px}.bio-extra p{color:var(--muted);font-size:17px}.bio-toggle{margin-top:18px;border:0;background:none;color:var(--wine);padding:0;font-weight:900;cursor:pointer}.photo-strip{display:grid;grid-template-columns:1.3fr .9fr 1.1fr;gap:14px;margin-top:48px}.photo-strip figure{margin:0;border-radius:27px;overflow:hidden;box-shadow:0 14px 38px rgba(40,31,22,.09)}.photo-strip img{height:330px;object-fit:cover}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.experience-card{padding:28px;border-radius:27px;background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.72);box-shadow:0 13px 35px rgba(39,30,20,.07)}.experience-card h3{font:500 35px/1 var(--serif);margin:0 0 15px}.experience-card p{color:var(--muted);margin:0}.studies{background:var(--green);color:#fff}.studies-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:5vw;align-items:start}.studies-intro h2{font-size:clamp(54px,7vw,102px);max-width:10ch}.studies-intro>p:last-child{font-size:17px;color:rgba(255,255,255,.68);max-width:500px}.studies-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.18)}.study{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.18)}.study time{font:500 27px/1 var(--serif);color:#efd5c8}.study h3{font:500 28px/1.05 var(--serif);margin:0}.study p{margin:7px 0 0;color:rgba(255,255,255,.66)}.further{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.further span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:12px;color:rgba(255,255,255,.78)}.agenda-box{padding:29px;border-radius:29px;background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.74);box-shadow:0 14px 40px rgba(39,30,20,.07);display:flex;justify-content:space-between;align-items:center;gap:30px}.agenda-box h3{font:500 35px/1 var(--serif);margin:0 0 8px}.agenda-box p{color:var(--muted);margin:0}.contact{background:var(--dark);color:#fff}.contact-card{border-radius:39px;padding:clamp(36px,6vw,88px);background:linear-gradient(135deg,#24231f,#0e0e0d);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(0,0,0,.3)}.contact-card h2{font-size:clamp(60px,8vw,118px);max-width:10ch}.contact-card>p{color:rgba(255,255,255,.66);font-size:18px;max-width:690px}.contact-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:12px;margin-top:40px}.contact-item{padding:22px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.contact-item small{display:block;color:rgba(255,255,255,.5);letter-spacing:.14em;text-transform:uppercase;font-size:11px;margin-bottom:10px}.contact-item a,.contact-item p{font:500 24px/1.15 var(--serif);margin:0;text-decoration:none;overflow-wrap:anywhere}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.contact .btn-dark{background:#fff;color:var(--ink)}.contact .btn-light{color:#fff;border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06)}.footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(20px,5vw,82px);background:var(--dark);color:rgba(255,255,255,.48);border-top:1px solid rgba(255,255,255,.08);font-size:13px}.reveal{opacity:0;transform:translateY(24px);transition:.66s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-video-wrap{max-width:980px}.video-grid{grid-template-columns:repeat(2,1fr)}.bio-grid,.studies-layout{grid-template-columns:1fr}.bio-photo{position:relative;top:auto;max-width:630px}.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.menu{display:block}.nav{position:fixed;inset:71px 0 auto 0;background:rgba(242,238,231,.985);padding:20px;display:none;flex-direction:column;align-items:flex-start;box-shadow:0 22px 45px rgba(0,0,0,.08)}.nav.open{display:flex}.langs{margin:8px 0 0}.section-head{align-items:flex-start;flex-direction:column}.experience-grid,.contact-grid{grid-template-columns:1fr}.study{grid-template-columns:1fr}.agenda-box{align-items:flex-start;flex-direction:column}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip figure:first-child{grid-column:span 2}}
@media(max-width:580px){.section{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(64px,22vw,98px)}.hero-video{border-radius:26px;aspect-ratio:16/11}.video-caption{left:12px;bottom:12px;right:12px}.video-grid{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr}.photo-strip figure:first-child{grid-column:auto}.photo-strip img{height:260px}.contact-card{border-radius:28px;padding:30px 22px}.footer{flex-direction:column}}

/* WordPress agenda entries */
.agenda-list{border-radius:29px;background:rgba(255,255,255,.63);border:1px solid rgba(255,255,255,.74);box-shadow:0 14px 40px rgba(39,30,20,.07);overflow:hidden}
.agenda-row{display:grid;grid-template-columns:150px 1.25fr 1fr auto;gap:24px;align-items:center;padding:23px 28px;border-bottom:1px solid var(--line)}
.agenda-row:last-child{border-bottom:0}.agenda-row time{font:500 27px/1 var(--serif);color:var(--wine)}.agenda-row h3{font:500 29px/1.05 var(--serif);margin:0}.agenda-row p{margin:5px 0 0;color:var(--muted)}.agenda-row .agenda-link{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;text-decoration:none;font-weight:900}
@media(max-width:820px){.agenda-row{grid-template-columns:1fr;gap:8px}.agenda-row .agenda-link{margin-top:8px}}
