:root{color-scheme:dark;--bone:#eee7d9;--red:#ec171e;--title:"Cinzel",Georgia,serif;--body:"Cormorant Garamond",Georgia,serif}
*{box-sizing:border-box}
html{background:#071014}
body{margin:0;color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased}
.landing{min-height:100svh;padding:clamp(32px,5.7vh,70px) 0 60px 3%;background-image:linear-gradient(90deg,#07101455,transparent 60%),url("assets/images/carabelas-desktop.webp");background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;gap:clamp(22px,4vh,45px)}
.intro,.announcement{width:43%;text-align:center;text-shadow:0 2px 12px #0009}
p,h1,h2{margin:0}
.credit{position:relative;display:inline-block;font-family:var(--title);font-size:clamp(12px,1.12vw,20px);letter-spacing:.34em;line-height:1.5}
.credit strong{display:block;font-size:1.6em;font-weight:500;letter-spacing:.28em}
.credit::before,.credit::after{content:"";position:absolute;top:55%;width:5.8vw;height:2px;background:var(--red)}
.credit::before{right:calc(100% + 20px)}.credit::after{left:calc(100% + 20px)}
h1{margin-top:clamp(20px,3.5vh,42px);font-family:var(--title);font-size:clamp(38px,4.5vw,82px);font-weight:700;line-height:1.04;letter-spacing:-.035em}
h1 span{display:block}.title-last{font-size:.81em;white-space:nowrap}
.rule{width:18%;height:2px;background:var(--red);margin:clamp(15px,2.5vh,28px) auto}
.subtitle{font-family:var(--title);font-size:clamp(12px,1.35vw,24px);letter-spacing:.24em;white-space:nowrap}
.swords{width:clamp(25px,2.4vw,42px);height:auto;color:var(--red);display:block;margin:0 auto 12px}
h2{font-family:var(--title);font-size:clamp(15px,1.8vw,32px);font-weight:500;letter-spacing:.21em;white-space:nowrap}
.date{font-family:var(--title);font-size:clamp(16px,1.7vw,30px);letter-spacing:.23em;font-weight:500}
.description{font-size:clamp(16px,1.55vw,27px);letter-spacing:.04em;line-height:1.3;margin-top:7px}
.logo{display:block;width:43%;max-width:285px;height:auto;object-fit:contain;margin:9px auto 2px}
.mobile-rule{display:none}
.sound-toggle{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));z-index:2;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;border:1px solid #eee7d938;border-radius:30px;background:#071014ba;color:var(--bone);cursor:pointer;font:10px var(--title);letter-spacing:.1em}
.sound-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle:hover{background:#142128}.sound-toggle:focus-visible{outline:2px solid var(--bone);outline-offset:4px}
.sound-waves{display:none}.sound-toggle[aria-pressed="true"] .sound-waves{display:block}.sound-toggle[aria-pressed="true"] .sound-off{display:none}
@media(min-width:901px) and (max-aspect-ratio:4/3){.landing{background-position:60% center;padding-left:3%;background-image:linear-gradient(90deg,#07101490,transparent 75%),url("assets/images/carabelas-desktop.webp")}.intro,.announcement{width:52%}}
/* Localized desktop shading; retain the photograph's size and position. */
@media(min-width:901px){
.landing{background-image:linear-gradient(90deg,rgba(3,8,11,.88) 0%,rgba(3,8,11,.85) 25%,rgba(3,8,11,.65) 36%,rgba(3,8,11,.3) 43%,transparent 52%),url("assets/images/carabelas-desktop.webp");gap:clamp(16px,2.8vh,32px)}
.intro,.announcement{text-shadow:0 1px 3px rgba(0,0,0,.7)}
.logo{width:30.1%;max-width:199.5px}
}
@media(max-width:900px){
.landing{min-height:100svh;padding:6vw 5% max(64px,11vw);background-image:linear-gradient(to bottom,#071014e6 0%,#071014b3 22%,#07101480 32%,transparent 44%),linear-gradient(to bottom,transparent 62%,#071014a6 73%,#071014e6 91%,#071014 100%),url("assets/images/carabelas-mobile.webp");background-position:center top;background-size:100% 178vw;background-repeat:no-repeat;display:grid;grid-template-rows:auto auto;align-content:start;gap:64vw}
.intro,.announcement{width:100%;text-shadow:0 1px 3px #000b}
.credit{font-size:2.4vw;letter-spacing:.32em}.credit strong{font-size:1.55em;letter-spacing:.28em}.credit::before,.credit::after{width:10vw}.credit::before{right:calc(100% + 3vw)}.credit::after{left:calc(100% + 3vw)}
h1{font-size:10.2vw;margin-top:5vw;line-height:1.05}.title-last{font-size:.8em}
.rule{width:18%;margin:2.7vw auto;height:2px}.subtitle{font-size:2.9vw;font-weight:600;letter-spacing:.16em}
.swords{width:5.3vw;margin-bottom:3vw}
h2{font-size:3.4vw;letter-spacing:.18em}.announcement>.rule{margin:3.8vw auto}
.date{font-size:3.6vw;letter-spacing:.22em}.description{font-size:3.55vw;line-height:1.35;margin-top:1.5vw}
.logo{width:34%;max-width:none;margin:1.5vw auto .3vw}.mobile-rule{display:block}.sound-toggle{padding:10px;bottom:12px;right:12px}.sound-toggle span{display:none}
}
@media(max-width:360px){.description{font-size:14px}.subtitle{letter-spacing:.12em}.landing{padding-bottom:max(64px,env(safe-area-inset-bottom))}}
