:root { --ink:#171411; --paper:#f2ecdf; --gold:#d7a54d; --rust:#a84325; --muted:#736c63; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1140px, calc(100% - 48px)); margin:auto; }
.hero { min-height:760px; color:#fff; position:relative; isolation:isolate; background:linear-gradient(90deg,rgba(16,10,6,.86) 0%,rgba(16,10,6,.54) 45%,rgba(16,10,6,.12)),url("assets/bruno-hero.jpg") center 38% / cover; }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(0,0,0,.38),transparent 38%); }
.nav { height:94px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.25); }
.brand { font-size:2rem; font-family:"Playfair Display",serif; font-weight:800; letter-spacing:-.1em; }.brand span { color:var(--gold); }
.nav-links { display:flex; gap:28px; font-size:.87rem; }.nav-links a:hover { color:var(--gold); }.nav-cta { border:1px solid rgba(255,255,255,.6); padding:10px 16px; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.hero-content { padding-top:142px; }.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.18em; font-size:.7rem; font-weight:700; }.eyebrow { color:var(--gold); }.hero h1,.about h2,.events h2,.videos h2,.contact h2 { font-family:"Playfair Display",serif; font-weight:800; letter-spacing:-.055em; line-height:.87; margin:19px 0; }.hero h1 { font-size:clamp(4.5rem,11vw,8.8rem); }.hero em,.contact em { color:var(--gold); }.tagline { margin:0; font-family:"Playfair Display",serif; font-style:italic; font-size:clamp(1.3rem,2.5vw,2rem); }.intro { width:min(440px,100%); line-height:1.55; font-size:1.05rem; margin:24px 0 28px; }.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; gap:28px; padding:16px 20px; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:700; transition:transform .2s; }.button:hover { transform:translateY(-2px); }.button .arw,.social-link .arw { font-size:1.2em; }.button-primary { background:var(--gold); color:var(--ink); }.button-ghost { border:1px solid rgba(255,255,255,.6); }.hero-credit { position:absolute; bottom:28px; right:3%; writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.2em; opacity:.76; }
.about { padding:130px 0; display:grid; grid-template-columns:1fr 2fr; gap:10%; }.section-label { color:var(--rust); }.about-copy h2,.events h2,.videos h2,.contact h2 { font-size:clamp(2.5rem,5vw,4.5rem); }.about-copy p { max-width:590px; line-height:1.75; color:var(--muted); font-size:1.05rem; }.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }.social-link { display:inline-flex; align-items:center; gap:15px; margin-top:28px; font-weight:700; font-size:1.05rem; }.social-icon { flex:none; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:var(--ink); color:var(--paper); transition:background .2s,color .2s,transform .2s; }.social-icon svg { width:23px; height:23px; fill:currentColor; display:block; }.social-label { border-bottom:2px solid currentColor; padding-bottom:5px; }.social-link:hover .social-icon { background:var(--gold); color:var(--ink); transform:translateY(-3px); }.social-link:focus-visible { outline:2px solid var(--rust); outline-offset:6px; }
.events { background:var(--ink); color:var(--paper); padding:105px 0; }.light { color:var(--gold); }.events h2 { margin:20px 0 60px; }.event-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.25); }.event-grid article { padding:28px 23px 10px 0; border-right:1px solid rgba(255,255,255,.25); min-height:180px; }.event-grid article+article { padding-left:23px; }.event-grid article:last-child { border:0; }.event-grid span { color:var(--gold); font-size:.78rem; }.event-grid h3 { font-family:"Playfair Display",serif; font-size:1.55rem; margin:40px 0 8px; }.event-grid p { font-size:.87rem; line-height:1.5; color:#c3bbb0; margin:0; }
.videos { padding:130px 0 64px; }.section-heading { display:grid; grid-template-columns:1fr 1.3fr 1fr; align-items:end; gap:25px; margin-bottom:42px; }.section-heading h2 { margin:0; }.section-heading .social-link { justify-self:end; }.video-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }.yt { margin:0; }.yt-thumb { display:block; position:relative; width:100%; aspect-ratio:16/9; padding:0; border:0; background:#000; cursor:pointer; overflow:hidden; }.yt-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s,opacity .3s; }.yt-thumb:hover img { transform:scale(1.04); opacity:.82; }.yt-play { position:absolute; inset:0; display:grid; place-items:center; }.yt-play svg { width:68px; height:48px; filter:drop-shadow(0 3px 10px rgba(0,0,0,.45)); transition:transform .2s; }.yt-play .bg { fill:#212121; fill-opacity:.8; transition:fill .2s,fill-opacity .2s; }.yt-thumb:hover .yt-play svg { transform:scale(1.12); }.yt-thumb:hover .yt-play .bg { fill:#f00; fill-opacity:1; }.yt-thumb:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }.video-grid iframe { width:100%; aspect-ratio:16/9; border:0; display:block; background:#000; }.yt figcaption { margin-top:13px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.gallery { display:grid; grid-template-columns:1.1fr .7fr 1fr; gap:18px; padding:36px 0 130px; align-items:start; }.gallery img { width:100%; height:auto; display:block; object-fit:cover; }.gallery img:nth-child(1) { aspect-ratio:1; }.gallery img:nth-child(2) { aspect-ratio:.8; margin-top:60px; }.gallery img:nth-child(3) { aspect-ratio:.8; }
.contact { text-align:center; color:#fff; padding:120px 0; background:linear-gradient(rgba(18,12,7,.75),rgba(18,12,7,.88)),url("assets/bruno-03.jpg") center / cover; }.contact h2 { font-size:clamp(3.3rem,7vw,6rem); }.contact-inner > p:not(.eyebrow):not(.phone) { max-width:455px; margin:26px auto 30px; line-height:1.6; }.phone { font-size:.82rem; letter-spacing:.12em; margin:24px 0 0; }.footer { padding:30px 0; display:flex; align-items:center; justify-content:space-between; font-size:.78rem; color:var(--muted); }.footer-social { display:flex; gap:26px; }.footer-social a { display:inline-flex; align-items:center; gap:9px; font-size:.95rem; font-weight:700; color:var(--ink); }.footer-social svg { width:19px; height:19px; fill:currentColor; display:block; }.footer-social a:hover { color:var(--rust); }.footer a:hover { color:var(--rust); }
@media (max-width:720px) { .wrap { width:min(100% - 32px,1140px); }.hero { min-height:700px; background-position:58% center; }.nav { height:78px; }.nav-links { display:none; }.nav-cta { padding:9px 12px; }.hero-content { padding-top:130px; }.hero h1 { font-size:5rem; }.about { grid-template-columns:1fr; padding:80px 0; gap:24px; }.events { padding:76px 0; }.event-grid { grid-template-columns:1fr 1fr; }.event-grid article:nth-child(2) { border-right:0; }.event-grid article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.25); }.video-grid,.section-heading { grid-template-columns:1fr; }.section-heading .social-link { justify-self:start; }.videos { padding:80px 0 30px; }.yt-play svg { width:56px; height:40px; }.gallery { grid-template-columns:1fr 1fr; gap:10px; padding:28px 0 80px; }.gallery img:nth-child(2) { margin-top:35px; }.gallery img:nth-child(3) { grid-column:1 / -1; aspect-ratio:1.4; }.contact { padding:90px 0; }.footer { flex-wrap:wrap; gap:18px; }.footer p { order:3; width:100%; margin:0; } }
.lang-switch { position:fixed; left:20px; bottom:20px; z-index:60; display:flex; gap:2px; padding:4px; border-radius:999px; background:rgba(23,20,17,.9); border:1px solid rgba(255,255,255,.22); box-shadow:0 8px 26px rgba(0,0,0,.3); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }.lang-switch button { appearance:none; -webkit-appearance:none; border:0; background:transparent; color:#cfc7bb; font-family:inherit; font-size:.72rem; font-weight:700; letter-spacing:.1em; padding:8px 14px; border-radius:999px; cursor:pointer; transition:background .2s,color .2s; }.lang-switch button:hover { color:#fff; }.lang-switch button[aria-pressed="true"] { background:var(--gold); color:var(--ink); }.lang-switch button:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
@media (max-width:720px) { .lang-switch { left:14px; bottom:14px; padding:3px; }.lang-switch button { padding:7px 12px; font-size:.68rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button,.lang-switch button { transition:none; } }
@media (min-width:721px) and (max-width:1000px) { .event-grid { grid-template-columns:1fr 1fr; }.event-grid article:nth-child(2) { border-right:0; }.event-grid article:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.25); }.section-heading { grid-template-columns:1fr; }.section-heading .social-link { justify-self:start; } }
@media (max-width:1000px) { .event-grid article:nth-child(odd) { padding-left:0; } }
