/* Bover — campaign landing. Single stylesheet, no framework. */
:root{
  --sand:#F4EFE7; --ink:#211E1A; --ink-soft:#5F594F; --muted:#8A8175;
  --red:#B23122; --red-dark:#8F2417; --coral:#E67A63; --cream:#F6F1E9;
  --rule:rgba(33,30,26,.12); --pad:clamp(20px,5vw,72px);
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif; --serif:'Spectral',Georgia,serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--red-dark)}
.wrap{max-width:1320px;margin:0 auto}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eyebrow{font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
.eyebrow.dark{color:var(--ink)}
.eyebrow.light{color:var(--coral);font-size:12px;letter-spacing:.24em;margin-bottom:24px}

/* Header */
.topbar{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:clamp(12px,3vw,24px);padding:clamp(18px,4vw,26px) var(--pad) 0}
.logo{height:clamp(40px,11vw,54px);width:auto;flex:0 0 auto}
.langs{display:flex;align-items:center;gap:clamp(8px,2.4vw,14px);flex:0 0 auto}
.langs button{font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  background:none;border:none;border-bottom:1px solid transparent;padding:2px 0;cursor:pointer;
  color:rgba(244,239,231,.6);font-weight:400;transition:color .2s ease}
.langs button:hover{color:var(--cream)}
.langs button[aria-current="true"]{color:var(--cream);font-weight:600;border-bottom-color:var(--cream)}

/* Hero */
.hero{position:relative;width:100%;height:min(88vh,820px);min-height:540px;display:flex;
  align-items:flex-end;background:var(--ink);overflow:hidden}
.hero .cover{object-position:center 62%}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.34) 0%,
  rgba(20,17,13,.06) 30%,rgba(20,17,13,.30) 60%,rgba(20,17,13,.78) 100%)}
.hero-body{position:relative;width:100%;padding:0 var(--pad) clamp(48px,7vw,96px)}
.hero-body h1{font-family:var(--serif);font-weight:300;color:var(--cream);
  font-size:clamp(42px,6.6vw,92px);line-height:1.02;letter-spacing:-.01em;max-width:15ch;text-wrap:balance}
.hero-sub{font-family:var(--serif);font-weight:300;color:rgba(246,241,233,.9);
  font-size:clamp(17px,1.9vw,22px);line-height:1.5;max-width:46ch;margin-top:28px;text-wrap:pretty}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.btn{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  padding:17px 34px;text-decoration:none;transition:all .25s ease}
.btn-solid{background:var(--red);color:var(--cream)}
.btn-solid:hover{background:var(--red-dark);color:var(--cream)}
.btn-ghost{color:var(--sand);border:1px solid rgba(244,239,231,.55)}
.btn-ghost:hover{color:var(--sand);border-color:var(--sand);background:rgba(244,239,231,.1)}

/* Manifesto */
.manifesto{padding:clamp(80px,12vw,160px) var(--pad);text-align:center}
.manifesto p{font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(26px,4vw,50px);line-height:1.24;max-width:20ch;margin:0 auto;text-wrap:balance}

/* Split sections */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));max-width:1320px;
  margin:0 auto;border-top:1px solid var(--rule)}
.bordered{border-bottom:1px solid var(--rule)}
.split-text{padding:clamp(56px,7vw,104px) var(--pad);display:flex;flex-direction:column;
  justify-content:center;border-right:1px solid var(--rule)}
.split-text h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,52px);
  line-height:1.08;letter-spacing:-.01em;max-width:16ch;color:var(--red);margin-top:26px}
.split-text .eyebrow{margin-bottom:4px}
.lead{font-family:var(--serif);font-weight:300;font-size:clamp(21px,2.4vw,30px);line-height:1.42;
  color:#2E2A24;margin-top:30px;text-wrap:pretty}
.body{font-size:17px;line-height:1.62;color:var(--ink-soft);max-width:44ch;margin-top:26px;text-wrap:pretty}
.split-img{position:relative;min-height:460px;overflow:hidden}

/* Principles */
.principles{padding:clamp(80px,11vw,150px) var(--pad)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-bottom:clamp(48px,6vw,80px)}
.section-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4vw,52px);
  line-height:1.06;letter-spacing:-.01em;max-width:14ch;color:var(--red)}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(36px,4vw,64px)}
.card{display:flex;flex-direction:column;gap:22px}
.card-img{position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;background:#E4DBCC}
.num{font-size:13px;font-weight:500;letter-spacing:.16em;color:var(--red)}
.card h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,27px);
  line-height:1.14;letter-spacing:-.01em}
.card p{font-size:16px;line-height:1.62;color:var(--ink-soft);text-wrap:pretty}

/* Editorial */
.editorial{position:relative;width:100%;height:min(72vh,660px);min-height:440px;display:flex;
  align-items:center;justify-content:center;background:var(--ink);text-align:center;overflow:hidden}
.editorial .cover{object-position:center 40%}
.editorial-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,15,11,.62) 0%,
  rgba(18,15,11,.42) 50%,rgba(18,15,11,.66) 100%)}
.editorial-body{position:relative;padding:0 24px}
.editorial-body p{font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(30px,5vw,64px);line-height:1.08;color:var(--cream);max-width:16ch;margin:0 auto;text-wrap:balance}

/* Form */
.split-form{padding:clamp(60px,8vw,120px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.form-intro{font-family:var(--serif);font-weight:300;font-size:clamp(20px,2.2vw,26px);
  line-height:1.34;color:#2E2A24;margin-bottom:34px;text-wrap:pretty}
#lead-form{display:flex;flex-direction:column;gap:22px}
#lead-form label{display:flex;flex-direction:column;gap:9px}
#lead-form label>span{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#lead-form input[type=text],#lead-form input[type=email]{font-family:var(--sans);font-size:16px;
  color:var(--ink);background:transparent;border:none;border-bottom:1px solid rgba(33,30,26,.3);
  padding:10px 0;outline:none;transition:border-color .25s ease;border-radius:0}
#lead-form input:focus{border-bottom-color:var(--red)}
#lead-form input[aria-invalid="true"]{border-bottom-color:var(--red)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{flex-direction:row!important;align-items:flex-start;gap:11px!important;cursor:pointer}
.consent input{margin-top:3px;accent-color:var(--red);width:16px;height:16px;flex:0 0 auto}
#lead-form label.consent>span{font-size:13px;line-height:1.55;color:var(--ink-soft);
  letter-spacing:normal;text-transform:none;font-weight:400}
#submit-btn{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;background:var(--red);color:var(--cream);border:none;padding:18px 34px;
  cursor:pointer;margin-top:12px;align-self:flex-start;transition:background .25s ease}
#submit-btn:hover{background:var(--red-dark)}
#submit-btn[disabled]{background:var(--muted);cursor:wait}
.form-err{font-size:14px;line-height:1.5;color:var(--red)}
.form-note{font-size:13px;color:var(--muted);margin-top:4px}
.form-ok{border-top:2px solid var(--red);padding:34px 0 0}
.ok-title{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.4vw,30px);
  line-height:1.28;color:var(--red);margin-bottom:14px;text-wrap:pretty}
.ok-text{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:42ch;text-wrap:pretty}

/* Closing */
.closing{background:var(--ink);color:var(--cream);padding:clamp(72px,10vw,132px) var(--pad)}
.closing-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:40px}
.closing-row p{font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,66px);
  line-height:1.1;letter-spacing:-.01em;max-width:18ch;text-wrap:balance}

/* Cookie bar */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;flex-wrap:wrap;
  align-items:center;justify-content:space-between;gap:20px;padding:20px var(--pad);
  background:rgba(33,30,26,.97);color:var(--cream);
  box-shadow:0 -1px 0 rgba(244,239,231,.14)}
.cookiebar p{font-size:13.5px;line-height:1.6;max-width:78ch}
.cookiebar a{color:var(--coral);text-decoration:underline}
.cookiebar a:hover{color:var(--cream)}
.cookie-actions{display:flex;gap:10px;flex:0 0 auto}
.cookie-btn{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;background:var(--red);color:var(--cream);border:1px solid var(--red);
  padding:13px 26px;cursor:pointer;transition:background .25s ease}
.cookie-btn:hover{background:var(--red-dark);border-color:var(--red-dark)}
.cookie-btn.ghost{background:transparent;border-color:rgba(244,239,231,.4);color:var(--cream)}
.cookie-btn.ghost:hover{background:rgba(244,239,231,.1);border-color:var(--cream)}

@media (max-width:640px){
  .split-text{border-right:none;border-bottom:1px solid var(--rule)}
  .cookiebar{flex-direction:column;align-items:stretch}
  .cookie-actions{justify-content:stretch}
  .cookie-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
