/* Bramador: a campaign of real objects, not a synthetic landscape. */
:root { --campaign-black: #06090c; --campaign-edge: #ffffff24; --copper-dark:#80431f; }
.site-header { display:grid; grid-template-columns:1fr auto 1fr; height:116px; gap:24px; padding:24px 40px; border:0; background:none; }
.site-header .brand { width:164px; }
.site-header .brand img { width:100%; height:64px; object-fit:contain; }
.site-header .header-start { justify-self:start; }
.site-header .header-actions { justify-self:end; display:flex; align-items:center; gap:20px; }
.site-header .menu-toggle { display:flex; width:auto; height:48px; gap:12px; align-items:center; padding:0 8px; }
.site-header .menu-toggle span { width:auto; height:auto; background:none; }
.site-header .menu-icon { display:flex; flex-direction:column; gap:6px; }
.site-header .menu-icon i { display:block; width:22px; height:1px; background:var(--bone); transition:width .2s; }
.site-header .menu-toggle:hover .menu-icon i:last-child { width:14px; }
.site-header .menu-caption { font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.site-header .header-language { gap:0; }
.site-header .header-language a { min-width:44px; min-height:44px; font-size:12px; }
.site-header .cart-toggle { display:flex; width:auto; min-width:80px; height:44px; gap:8px; font-size:12px; }
.site-header .cart-count { position:static; font-size:12px; min-width:18px; }
.site-header.inner-header { position:relative; background:var(--black); border-bottom:1px solid var(--line); }

/* Original mobile photograph; a separate horizontal adaptation for desktop. */
.campaign-hero { --campaign-height:clamp(820px,100svh,1080px); position:relative; isolation:isolate; height:var(--campaign-height); overflow:hidden; color:var(--bone); background:var(--campaign-black); }
.campaign-photograph { --photo-height:calc(var(--campaign-height) - 158px); position:absolute; z-index:-1; inset:auto 0 92px; width:calc(var(--photo-height) * .4775); height:var(--photo-height); margin:auto; }
.campaign-photograph picture { display:block; width:100%; height:100%; }
.campaign-photograph img { width:100%; height:100%; object-fit:cover; mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); mask-composite:intersect; }
.campaign-heading { position:absolute; top:142px; left:24px; right:24px; text-align:center; }
.campaign-kicker { font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--sand); margin-bottom:18px; }
.campaign-title { font-family:var(--serif); font-weight:400; font-size:clamp(100px,10.5vw,154px); line-height:.89; letter-spacing:-.045em; margin:0; }
.campaign-title>span:not(.sr-only),.campaign-title>em { display:block; }
.campaign-title>em { font-weight:400; font-size:.95em; color:var(--bone); margin-top:6px; }
.campaign-origin { position:absolute; left:max(40px,6vw); top:58%; transform:translateY(-50%); }
.campaign-index { display:block; text-transform:uppercase; font-size:12px; letter-spacing:.14em; color:var(--sand); }
.campaign-origin p { font:18px/1.6 var(--serif); margin-top:18px; }
.campaign-origin:before { content:''; display:block; width:40px; height:1px; background:var(--campaign-edge); margin-bottom:24px; }
.campaign-recognition { position:absolute; right:max(40px,6vw); top:58%; transform:translateY(-50%); text-align:right; }
.campaign-recognition>span:nth-child(2) { display:block; font:30px/1.4 var(--serif); margin-top:14px; }
.campaign-rule { display:block; width:40px; height:1px; background:var(--campaign-edge); margin:24px 0 0 auto; transition:width .25s; }
.campaign-recognition:hover .campaign-rule { width:72px; }
.campaign-bottom { position:absolute; bottom:24px; left:40px; right:40px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.campaign-responsible,.campaign-credit { font-size:12px; color:#c7c2bb; }
.campaign-credit { text-align:right; padding-right:176px; }
.campaign-discover { display:flex; align-items:center; gap:28px; min-height:56px; padding:8px 0; font-size:14px; border-bottom:1px solid var(--campaign-edge); }
.campaign-arrow { display:grid; place-items:center; width:44px; height:44px; border:1px solid #d7c09a70; border-radius:50%; font:24px/1 var(--serif); transition:background .2s,transform .2s; }
.campaign-discover:hover .campaign-arrow { background:#80431f66; transform:translate(2px,2px); }
.campaign-discover:hover { border-bottom-color:var(--sand); }
.whatsapp-float { display:flex; align-items:center; justify-content:center; gap:12px; width:auto; min-width:52px; height:52px; padding:0 16px; background:var(--sand); color:var(--black); border:1px solid var(--sand); box-shadow:0 6px 24px #0005; transition:background .2s,border-color .2s; }
.whatsapp-float img { width:28px; height:28px; filter:none; }
.whatsapp-label { font-size:13px; font-weight:600; line-height:1; }
.whatsapp-float:hover { background:var(--bone); border-color:var(--bone); }
.whatsapp-float:focus-visible { outline:2px solid var(--bone); outline-offset:5px; }

/* An editorial index: one predictable menu on every screen. */
.menu-open { overflow:hidden; }
.site-menu { position:fixed; inset:0; border:0; padding:32px max(32px,6vw); width:100%; height:100%; max-width:none; max-height:none; margin:0; background:var(--bone); color:var(--coal); overflow:auto; }
.site-menu::backdrop { background:var(--black); }
.menu-topline { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-bottom:24px; border-bottom:1px solid #17171725; }
.site-menu .eyebrow { color:var(--copper-dark); }
.menu-close { display:flex; align-items:center; gap:24px; min-height:48px; padding:4px 8px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
.menu-close>span { font-size:32px; line-height:1; }
.menu-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); gap:8vw; padding:40px 0; }
.menu-chapters { display:flex; flex-direction:column; }
.menu-chapters a { display:flex; align-items:baseline; gap:28px; padding:7px 0; font:clamp(30px,3.7vw,56px)/1.15 var(--serif); transition:color .2s; }
.menu-chapters a>span { font:12px/1 var(--sans); color:var(--copper-dark); min-width:20px; }
.menu-chapters a:hover { color:var(--copper-dark); }
.menu-aside { align-self:center; }
.menu-aside figure { width:190px; height:220px; margin:0 0 28px; overflow:hidden; }
.menu-aside img { width:100%; height:100%; object-fit:cover; object-position:50% 60%; }
.menu-aside p { line-height:1.8; margin-bottom:18px; }
.menu-phone { display:block; font:24px/1.5 var(--serif); }
.site-menu .text-link { display:inline-block; font-size:12px; margin-top:14px; }
.site-menu .text-link:hover { color:var(--copper-dark); }
.menu-footnote { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid #17171725; font-size:12px; color:#575048; }
.site-menu :focus-visible { outline-color:var(--copper-dark); }
.site-menu .cart-toggle { display:flex; align-items:center; width:auto; min-width:150px; gap:12px; font-size:14px; border-bottom:1px solid var(--copper-dark); }
.site-menu .cart-count { position:static; color:var(--copper-dark); }
.site-menu .header-language a { min-width:44px; min-height:44px; color:var(--coal); }

@media(min-width:1001px) {
 .campaign-photograph { inset:0 0 72px; width:100%; height:calc(100% - 72px); margin:0; }
 .campaign-photograph img { object-position:50% 50%; mask-image:none; mask-composite:add; }
 .campaign-photograph::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#06090cd9,transparent 28%,transparent 72%,#06090c99),linear-gradient(180deg,#06090c20,transparent 35%,transparent 80%,var(--campaign-black)); }
}
@media(min-width:1600px) { .campaign-heading { top:160px; } }
@media(max-width:1000px) { .campaign-origin { left:32px; } .campaign-recognition { right:32px; } .campaign-title { font-size:96px; } .campaign-bottom { left:32px; right:32px; } .campaign-credit { display:none; } .campaign-bottom { grid-template-columns:1fr auto; } .campaign-discover { grid-column:2; margin-right:80px; } .whatsapp-float { width:52px; padding:0; } .whatsapp-label { display:none; } }
@media(max-width:700px) {
 .whatsapp-float { width:52px; padding:0; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); }
 .whatsapp-label { display:none; }
 .site-header { height:94px; padding:16px 20px; grid-template-columns:1fr auto 1fr; gap:8px; }
 .site-header .brand { width:120px; }
 .site-header .brand img { height:54px; }
 .site-header .header-actions { gap:0; }
 .site-header .cart-toggle { display:none; }
 .site-header .menu-caption { display:none; }
 .site-header .menu-toggle { width:44px; padding:0; }
 .campaign-hero { --campaign-height:clamp(800px,100svh,960px); }
 .campaign-heading { top:118px; left:16px; right:16px; }
 .campaign-kicker { font-size:12px; letter-spacing:.15em; margin-bottom:18px; }
 .campaign-title { font-size:clamp(62px,16vw,88px); }
 .campaign-photograph { --photo-height:min(calc(var(--campaign-height) - 170px),calc(90vw * 2.0943)); bottom:132px; }
 .campaign-origin,.campaign-recognition { display:none; }
 .campaign-bottom { bottom:18px; left:20px; right:20px; display:flex; flex-direction:column-reverse; gap:40px; }
 .campaign-discover { gap:28px; min-height:54px; margin-right:0; }
 .campaign-responsible { font-size:12px; align-self:flex-start; }
 .site-menu { padding:20px; }
 .menu-layout { grid-template-columns:1fr; padding:32px 0; gap:32px; }
 .menu-chapters a { font-size:clamp(31px,7.8vw,46px); gap:18px; padding:10px 0; }
 .menu-aside figure { display:none; }
 .menu-aside { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; }
 .menu-aside p { flex-basis:100%; margin:0; }
 .menu-aside .text-link { margin:0; }
 .menu-footnote { gap:16px; }
}
@media(max-width:360px) { .site-header { padding-inline:12px; } .site-header .brand { width:108px; } .campaign-title { font-size:62px; } .campaign-kicker { font-size:12px; letter-spacing:.1em; } .campaign-hero { --campaign-height:clamp(780px,100svh,960px); } .campaign-discover { align-self:flex-start; gap:20px; } .menu-chapters a { font-size:30px; } }
@media(max-height:650px) and (min-width:701px) { .campaign-hero { --campaign-height:760px; } .campaign-heading { top:128px; } .campaign-title { font-size:96px; } }
@media(prefers-reduced-motion:reduce) { .campaign-arrow,.campaign-rule,.menu-chapters a,.menu-icon i,.whatsapp-float { transition:none; } }
