:root { --cream:#f5efe4; --paper:#fffaf2; --ink:#251a14; --muted:#756960; --brown:#633221; --dark:#281811; --clay:#965039; --gold:#be8e48; --line:rgba(73,45,29,.14); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",system-ui,sans-serif; } a { color:inherit; text-decoration:none; } button { font:inherit; cursor:pointer; }
.info-header { position:sticky; z-index:30; top:0; display:flex; min-height:76px; align-items:center; justify-content:space-between; padding:0 max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid var(--line); background:rgba(245,239,228,.96); backdrop-filter:blur(12px); }.info-brand { display:flex; align-items:center; gap:11px; }.info-brand span { display:grid; width:44px; height:44px; place-items:center; border:1px solid var(--gold); border-radius:8px; color:var(--brown); font-family:"Playfair Display",serif; font-size:13px; }.info-brand b { font-family:"Playfair Display",serif; }.info-header nav { display:flex; align-items:center; gap:24px; font-weight:700; }.info-header nav a:last-child { min-height:44px; padding:12px 16px; border-radius:8px; color:#fff; background:var(--brown); }
.info-language { display:flex; margin-left:auto; margin-right:18px; padding:3px; border:1px solid var(--line); border-radius:999px; background:#fffaf2; }.info-language a { display:grid; min-width:38px; min-height:36px; place-items:center; border-radius:999px; font-size:12px; font-weight:800; }.info-language a.active { color:#fff; background:var(--brown); }
.info-hero { display:grid; grid-template-columns:1fr 1.05fr; min-height:620px; }.info-hero>div:first-child { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:70px max(40px,calc((100vw - 1180px)/2)); padding-right:7vw; }.info-hero-image { min-height:540px; background-position:center; background-size:cover; }.info-kicker { margin:0 0 12px; color:var(--clay); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.info-hero h1,.contact-section h2,.schedule-section h2,.faq-section h2,.support-band h2 { margin:0; font-family:"Playfair Display",serif; font-size:clamp(40px,5.3vw,72px); line-height:1.02; letter-spacing:-.035em; }.info-hero>div>p:not(.info-kicker) { max-width:600px; margin:22px 0; color:var(--muted); font-size:17px; line-height:1.7; }.info-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 20px; border:1px solid transparent; border-radius:8px; color:#fff; background:var(--brown); font-weight:800; }
.contact-section,.schedule-section,.faq-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:100px 0; scroll-margin-top:90px; }.section-copy { max-width:620px; }.section-copy>p:last-child { color:var(--muted); line-height:1.7; }.contact-section h2,.schedule-section h2,.faq-section h2,.support-band h2 { font-size:clamp(36px,4vw,56px); }.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:42px; }.contact-cards article { min-height:230px; padding:25px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }.contact-cards span { color:var(--clay); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.contact-cards h3 { margin:28px 0 35px; font-family:"Playfair Display",serif; font-size:24px; line-height:1.25; }.contact-cards article>a { color:var(--brown); font-weight:800; }.contact-cards p { color:var(--muted); }
.schedule-section { padding-top:10px; }.schedule-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 50px; margin-top:32px; border-top:1px solid var(--line); }.schedule-grid div { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }.schedule-grid span { color:var(--muted); }.schedule-grid b { font-size:15px; }
.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; min-height:78px; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-size:18px; font-weight:700; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { font-size:27px; font-weight:400; transition:.2s; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list details p { margin:-5px 50px 24px 0; color:var(--muted); line-height:1.7; }
.support-band { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:70px max(24px,calc((100vw - 1180px)/2)); color:#fff; background:var(--dark); }.support-band .info-kicker { color:#deb77c; }.support-band p:last-child { color:rgba(255,255,255,.6); }.support-band>div:last-child { display:flex; gap:10px; }.info-button.light { color:var(--dark); background:#e4c18b; }.info-button.outline { border-color:rgba(255,255,255,.3); background:transparent; }.info-footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:25px; padding:38px max(24px,calc((100vw - 1180px)/2)); color:#fff; background:#1d120d; }.info-footer .info-brand span { color:#e0bb82; }.info-footer>div { display:flex; gap:20px; color:rgba(255,255,255,.7); font-size:13px; }.info-footer>p { grid-column:1/-1; margin:15px 0 0; color:rgba(255,255,255,.35); font-size:11px; }.info-mobile-menu { position:fixed; z-index:40; right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); box-shadow:0 8px 24px rgba(39,23,16,.25); }
.info-button.complaint { color:#fff; background:#a44332; }
@media (max-width:760px) { .info-header { min-height:66px; padding:0 14px; }.info-header nav { display:none; }.info-language { margin-right:10px; }.info-language a { min-width:34px; min-height:34px; }.info-hero { grid-template-columns:1fr; min-height:0; }.info-hero>div:first-child { padding:56px 18px 42px; }.info-hero-image { min-height:360px; order:-1; }.contact-section,.schedule-section,.faq-section { width:calc(100% - 32px); padding:64px 0; }.contact-cards { grid-template-columns:1fr; }.contact-cards article { min-height:190px; }.schedule-grid { grid-template-columns:1fr; }.faq-section { grid-template-columns:1fr; gap:25px; }.support-band { align-items:stretch; flex-direction:column; padding:54px 18px; }.support-band>div:last-child { flex-direction:column; }.info-footer { grid-template-columns:1fr; padding:34px 18px 90px; }.info-footer>div { align-items:flex-start; flex-direction:column; }.info-footer>p { grid-column:auto; }.info-brand b { font-size:14px; } }
