/* ConFarolas palette: sky blue, deep blue, warm ivory and soft gold. */
:root{color-scheme:dark;--bg:#2f5496;--surface:#284980;--header:#254578;--panel:#24457c;--input:#203f72;--text:#fffaf0;--muted:#e1e8f3;--accent:#ffda91;--accent-hover:#ffe6b2;--button-text:#18315b;--line:rgb(225 232 243 / .25);--panel-line:rgb(255 218 145 / .4);--error:#ffdfd4;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7.5rem}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
::selection{background:var(--accent);color:var(--bg)}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:-100px;padding:12px 20px;background:var(--accent);color:var(--bg);z-index:10}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:50;background:var(--header);border-bottom:1px solid var(--line)}.site-header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:112px}
.wordmark{font-size:1.9rem;font-weight:750;letter-spacing:-1.2px;line-height:1.1;white-space:nowrap}
.wordmark span{color:var(--accent)}
nav{display:flex;gap:30px;align-items:center;font-size:1rem}
.nav-link{padding-block:12px;color:var(--muted)}
.nav-link:hover,.text-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;min-width:0;gap:28px;min-height:58px;padding:14px 24px;border:1px solid var(--accent);border-radius:4px;background:var(--accent);color:var(--button-text);font-weight:700;font-size:1.0625rem;line-height:1.4;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button span{font-size:1.45rem;font-weight:400;line-height:1}
.button-small{min-height:48px;max-width:100%;padding:12px 18px;font-size:.9375rem;white-space:normal;gap:22px}
.button:disabled{opacity:.7;cursor:default}

.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8125rem;font-weight:700;line-height:1.6;color:var(--accent);margin:0 0 23px}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.4rem,4.9vw,4.7rem);font-weight:600;letter-spacing:-.055em;line-height:1.09;margin-bottom:27px}
h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em;color:var(--accent)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:27px;gap:28px}
.facts p{margin:0;padding-inline:26px;border-left:1px solid var(--line)}
@media(min-width:621px){.facts p{text-align:center}}
.facts p:first-child{border-left:0}
.facts strong{display:block;font-size:1.25rem;font-weight:500;line-height:1.4}
.facts span{display:block;color:var(--muted);font-size:.9375rem;margin-top:4px}
.section{padding-block:104px}
h2{font-size:clamp(2.35rem,3.45vw,3.25rem);letter-spacing:-.045em;font-weight:500;line-height:1.16;margin-bottom:0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.intro-copy p{color:var(--muted);margin-bottom:20px}
.intro-copy p:last-child{margin-bottom:0}
.format-band{background:var(--surface);border-block:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:53px}
.section-aside{max-width:355px;color:var(--muted);margin-bottom:4px;font-size:1.0625rem}
.format-grid{display:grid;grid-template-columns:1fr 1fr;gap:66px}
.format-item{border-top:1px solid var(--line);padding-top:26px}
.format-label{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:.875rem;margin-bottom:25px}
.chapter{color:var(--accent);font-family:Georgia,serif;font-size:2rem;line-height:1}
h3{font-size:1.5rem;line-height:1.3;font-weight:500;letter-spacing:-.025em;margin-bottom:14px}
.format-item p{color:var(--muted);margin:0;max-width:510px}
.guest-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);column-gap:42px}
.guest-grid li{border-top:1px solid var(--line);padding:25px 0 31px;min-height:165px;text-align:center}
.guest-topic{font-size:.9375rem;line-height:1.5;color:var(--muted);margin-bottom:12px}
.guest-grid h3{font-size:1.45rem;margin:0}
.program-note{font-size:.875rem;color:var(--muted);margin:18px 0 0}
.centres{background:var(--panel);border:1px solid var(--panel-line);padding:46px 50px 51px}
.centres-content{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.centres h2{font-size:2.625rem}.centres .button{display:flex;width:fit-content;max-width:100%;margin:22px 0 0}
.centres p:not(.eyebrow){color:var(--muted);margin-bottom:17px}
.text-link{display:inline-flex;align-items:center;gap:22px;color:var(--accent);font-weight:700;border-bottom:1px solid var(--panel-line);padding:5px 0;font-size:1rem}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:120px}
.newsletter h2{font-size:clamp(2.8rem,4.2vw,4rem);margin-bottom:25px}
.newsletter-copy>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-bottom:16px}
.signup-panel{padding:39px;background:var(--panel);border:1px solid var(--panel-line);border-radius:5px}
.signup-panel h3{font-size:1.7rem;margin-bottom:30px;line-height:1.3}
label{display:block;font-size:1rem;margin-bottom:9px}
input{display:block;width:100%;height:60px;background:var(--input);border:1px solid #a7bddf;color:var(--text);border-radius:3px;padding:14px 16px;font-size:1.0625rem}
input::placeholder{color:#c5d4eb;opacity:1}
input[aria-invalid=true]{border-color:var(--error)}
.signup-panel .button{width:100%;padding-inline:18px;margin:16px auto 0;text-align:center}
.field-error{color:var(--error);font-size:.9375rem;line-height:1.45;margin:10px 0 0}
.field-error:empty{display:none}
.form-note{color:var(--muted);font-size:.875rem;line-height:1.6;margin:18px 0 0}
.form-result{color:var(--text);font-size:1rem;padding:16px;border-left:3px solid var(--accent);margin:20px 0 0;background:var(--surface)}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:35px;border-top:1px solid var(--line)}
.site-footer .wordmark{font-size:1.55rem}
.site-footer p{font-size:.9375rem;color:var(--muted);margin:0}
.site-footer>span{font-size:.875rem;color:var(--muted)}

@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:20px}h1{font-size:3.5rem}.intro{gap:50px}.newsletter{gap:45px}.signup-panel{padding:28px}.centres-content{gap:40px}.centres{padding:38px}.guest-grid{column-gap:28px}}
@media(max-width:850px){.nav-link{display:none}.intro{gap:35px}.section{padding-block:76px}.section-heading{gap:35px}.section-aside{max-width:260px}.guest-grid{grid-template-columns:1fr 1fr}.centres-content,.newsletter{grid-template-columns:1fr;gap:32px}.centres h2{font-size:2.5rem}.newsletter-copy>p:not(.eyebrow){max-width:540px}.newsletter h2{font-size:clamp(2rem,7vw,2.8rem);text-wrap:balance}.newsletter h2 br:nth-child(2){display:none}.signup-panel{max-width:620px;width:100%;padding:36px}.site-footer{flex-wrap:wrap}.site-footer p{order:3;width:100%}}
@media(max-width:620px){.wrap{width:calc(100% - 40px)}html{scroll-padding-top:6rem}.site-header-inner{min-height:86px;gap:14px}.wordmark{font-size:1.45rem;letter-spacing:-.8px}.button-small{font-size:.875rem;padding:11px 12px;gap:10px;min-height:46px}.button-small span{display:none}.desktop-break{display:none}.facts{grid-template-columns:1fr;padding-block:5px;gap:0}.facts p,.facts p:first-child{border-left:0;border-bottom:1px solid var(--line);padding:17px 0;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.facts p:last-child{border-bottom:0}.facts strong{font-size:1.0625rem;white-space:nowrap}.facts span{font-size:.875rem;text-align:right;width:48%;max-width:48%;min-width:0;flex:0 1 48%;margin:0}.section{padding-block:64px}.eyebrow{font-size:.8125rem;letter-spacing:.13em;margin-bottom:17px}h2{font-size:2.4rem}.intro{grid-template-columns:1fr;gap:27px}.intro-copy p{font-size:1.0625rem}.section-heading{display:block;margin-bottom:34px}.section-aside{max-width:100%;margin:24px 0 0}.format-grid{grid-template-columns:1fr;gap:34px}.format-label{margin-bottom:20px}.format-item p{font-size:1.0625rem}.guest-grid{grid-template-columns:1fr}.guest-grid li{min-height:0;padding:23px 0}.guest-topic{margin-bottom:8px}.guest-grid h3{font-size:1.45rem}.program-note{margin-top:15px}.centres{padding:28px 23px}.centres h2{font-size:2.1rem}.centres-content{gap:23px}.centres p:not(.eyebrow){font-size:1.0625rem}.newsletter{gap:24px}.newsletter h2{font-size:clamp(1.6rem,7.2vw,2.35rem);text-wrap:balance}.newsletter-copy>p:not(.eyebrow){font-size:1.0625rem}.signup-panel{padding:27px 20px}.signup-panel h3{font-size:1.55rem}.signup-panel .button{font-size:.9375rem;gap:12px;padding-inline:14px}.site-footer{padding-block:28px;gap:20px}.site-footer .wordmark{font-size:1.4rem}.site-footer>span{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(forced-colors:active){.button{border:2px solid ButtonText}}




/* Transparent lamp cutout; only the end of the pole fades into the page. */
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  padding-block: 40px;
}
.hero-art {
  width: 100%;
  max-width: 28.5rem;
  aspect-ratio: 3 / 4;
  justify-self: center;
  position: relative;
  background: url('assets/farola-reparada-960.png') center bottom / contain no-repeat;
  background-image: image-set(url('assets/farola-reparada-960.webp') type('image/webp'), url('assets/farola-reparada-960.png') type('image/png'));
  -webkit-mask-image: linear-gradient(180deg, #000 86%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 86%, transparent 100%);
}
.hero-content { min-width: 0; padding-block: 20px; }
.hero h1.hero-brand {
  font-size: clamp(2.5rem, 6.1vw, 5.8rem);
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.05;
  margin-bottom: 22px;
}
.hero-brand span { color: var(--accent); }
.hero-tagline {
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  line-height: 1.25;
  letter-spacing: -.025em;
  margin-bottom: 25px;
}
.hero-tagline em { font-family: Georgia, 'Times New Roman', serif; font-size: 1.14em; font-weight: 400; color: var(--accent); }
.hero-description { color: var(--muted); max-width: 480px; font-size: 1.1875rem; line-height: 1.65; margin-bottom: 30px; }
.hero-note { font-size: .875rem; color: var(--muted); margin: 19px 0 0; max-width: 100%; }
.hero .button { display:flex; width:fit-content; max-width:100%; margin-inline:0; white-space:normal; }
.hero .button span { flex-shrink: 0; }
@media(max-width: 56rem) {
  .hero { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-block: 24px 48px; }
  .hero-art { max-width: 23rem; }
  .hero-content { width: 100%; max-width: 38rem; justify-self: center; padding: 0; }
  .hero h1.hero-brand { font-size: clamp(2.5rem, 9vw, 4.5rem); }
  .hero-tagline { font-size: clamp(1.75rem, 4vw, 2.25rem); }
  .hero-description { max-width: 36rem; }
}
@media(max-width: 620px) {
  .hero { padding-block: 8px 39px; gap: 8px; }
  .hero-art {
    width: min(100%, 20rem);
    aspect-ratio: 4 / 5;
    background-position: center bottom;
    background-image: url('assets/farola-reparada-600.png');
    background-image: image-set(url('assets/farola-reparada-600.webp') type('image/webp'), url('assets/farola-reparada-600.png') type('image/png'));
  }
  .hero .eyebrow { margin-bottom: 17px; }
  .hero h1.hero-brand { font-size: clamp(2.5rem, 12.5vw, 4.2rem); margin-bottom: 18px; }
  .hero-tagline { font-size: 1.75rem; margin-bottom: 22px; }
  .hero-description { font-size: 1.125rem; margin-bottom: 25px; }
  .hero .button { font-size: 1rem; min-height: 59px; padding-inline: 18px; gap: 15px; }
  .hero-note { line-height: 1.6; }
}
@media(forced-colors: active) { .hero-art { forced-color-adjust: none; } }

.whatsapp-field{margin-top:24px}

.field-hint{color:var(--muted);font-size:.875rem;line-height:1.5;margin:10px 0 0}

.consent-field{display:flex;align-items:flex-start;gap:12px;margin-top:24px}
.consent-field input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:3px 0 0;accent-color:var(--accent);padding:0}
.consent-field label{font-size:.875rem;line-height:1.6;margin:0;font-weight:400}
.consent-field a,.legal-page a:not(.button),.site-footer>a:not(.wordmark){color:var(--accent);text-underline-offset:4px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-result.is-error{color:var(--error);border-color:var(--error)}
.legal-page{max-width:850px;padding-block:60px 80px}
.legal-page h1{font-size:clamp(2rem,6vw,3.5rem);line-height:1.15;margin-bottom:24px}
.legal-page h2{font-size:1.5rem;margin:36px 0 16px}
.legal-page p,.legal-page li{font-size:1.0625rem;line-height:1.75;color:var(--muted)}
.legal-page ul{padding-left:24px}.legal-page a{overflow-wrap:anywhere}
