/* Swing By - base.css | Brand Book v5 juni 2026 */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:#33141F; --bg-mid:#33141F; --bg-dark:#33141F; --bg-card:#3D1E28;
  --bg-light:#F2DAE2; --bg-base:#FAF5F7;
  --mork-mell:#73505C; --mellanton:#A88792;
  --accent:#FF8BB2; --accent-h:#FF6FA0;
  --muted:#A88792; --muted-2:#73505C;
  --text:#33141F; --text-sub:#73505C;
  --success:#89D76C; --error:#FF4E4E;
  --border:rgba(255,255,255,0.07); --border-2:rgba(255,255,255,0.13);
  --white:#FFFFFF; --r-sm:6px; --r-md:12px; --r-lg:20px; --max:1140px;
}
body { font-family:'Open Sans',system-ui,sans-serif; background:var(--bg); color:var(--white); font-size:16px; line-height:1.6; overflow-x:hidden; }
body::before { content:''; position:fixed; inset:0; z-index:9999; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E"); opacity:0.035; mix-blend-mode:overlay; }
a { color:inherit; text-decoration:none; }
.container { max-width:var(--max); margin:0 auto; padding:0 32px; }
/* HEADER */
header { position:sticky; top:0; z-index:1000; background:rgba(51,20,31,0.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid var(--border); height:64px; }
.header-inner { display:flex; justify-content:space-between; align-items:center; height:64px; }
.logo { display:flex; align-items:center; gap:10px; padding:0; text-decoration:none; }
.logo-flamingo { height:36px; width:auto; display:block; }
.logo-text { height:16px; width:auto; display:block; }
nav { display:flex; align-items:center; gap:32px; }
nav a { font-size:13px; font-weight:500; color:var(--muted); transition:color 0.2s; }
nav a:hover, nav a.active { color:var(--white); }
.header-right { display:flex; align-items:center; gap:32px; }
/* BUTTONS */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:inherit; font-weight:600; border:none; cursor:pointer; transition:all 0.2s; text-decoration:none; border-radius:var(--r-sm); }
.btn-primary { background:var(--accent); color:var(--text); }
.btn-primary:hover { background:var(--accent-h); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--white); border:1px solid var(--border-2); }
.btn-outline:hover { border-color:rgba(255,255,255,0.3); background:rgba(255,255,255,0.05); }
.btn-secondary { background:var(--mork-mell); color:var(--white); border:none; }
.btn-secondary:hover { background:#614455; transform:translateY(-1px); }
.cta-section .btn-secondary { background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.55); }
.cta-section .btn-secondary:hover { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.75); transform:translateY(-1px); }
.cta-section .store-btns .btn { min-width:200px; justify-content:center; }
.btn-sm { padding:8px 16px; font-size:13px; }
.btn-lg { padding:15px 28px; font-size:15px; }
/* SEC MARKER */
.sec-marker { display:flex; align-items:center; gap:14px; margin-bottom:52px; }
.sec-line { width:48px; height:1px; background:var(--border-2); }
.sec-cat { font-size:11px; font-weight:700; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; }
.sec-marker.light .sec-line { background:rgba(51,20,31,0.18); }
.sec-marker.light .sec-cat { color:var(--muted-2); }
.sec-marker.mid .sec-line { width:48px; height:1px; background:rgba(255,255,255,0.25); }
.sec-marker.mid .sec-cat { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,0.85); }
.sec-marker.center { justify-content:center; }
/* CTA SECTION */
.cta-section > .container > p { color:rgba(255,255,255,0.88); }
/* FOOTER */
footer { background:var(--bg); border-top:1px solid var(--border); padding:60px 0 32px; }
.footer-layout { display:grid; grid-template-columns:1fr auto auto; gap:80px; margin-bottom:48px; align-items:start; }
.footer-logo { font-size:18px; font-weight:900; display:block; margin-bottom:8px; }
.footer-tagline { font-size:14px; color:var(--muted); }
.footer-col-heading { font-size:11px; font-weight:700; letter-spacing:2px; color:var(--muted); text-transform:uppercase; margin-bottom:18px; }
.footer-links { display:flex; flex-direction:column; gap:12px; }
.footer-links a { font-size:14px; color:var(--muted); transition:color 0.2s; }
.footer-links a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid var(--border); padding-top:24px; display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); }
/* PAGE HERO SUBTITLE */
.page-hero-sub { color:rgba(255,255,255,0.88); }
.dl-hero-sub { color:rgba(255,255,255,0.88); }
/* SECTION BACKGROUNDS */
.page-hero { background:var(--bg); }
.hero { background:var(--bg); }
.cta-section { background:var(--mork-mell); }
.proof { background:var(--mellanton); }
/* HAMBURGER */
.hamburger { display:none; flex-direction:column; justify-content:center; gap:5px; background:none; border:none; cursor:pointer; padding:6px; margin-left:-20px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--white); border-radius:2px; transition:transform 0.3s, opacity 0.3s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* MOBILE NAV */
.mobile-nav { display:none; position:fixed; top:64px; left:0; right:0; bottom:0; background:var(--bg); z-index:998; padding:32px; overflow-y:auto; flex-direction:column; }
.mobile-nav.open { display:flex; }
.mobile-nav-links { display:flex; flex-direction:column; }
.mobile-nav-links a { font-size:18px; font-weight:600; color:var(--white); padding:18px 0; border-bottom:1px solid var(--border); transition:color 0.2s; }
.mobile-nav-links a:hover, .mobile-nav-links a.active { color:var(--accent); }
.mobile-nav-links .btn-primary { margin-top:28px; padding:15px; font-size:15px; text-align:center; border-radius:var(--r-sm); }
/* RESPONSIVE */
@media (max-width:920px) { .hamburger { display:flex; } .header-right .btn-sm { display:none; } }
@media (max-width:900px) { .footer-layout { grid-template-columns:1fr 1fr; gap:40px; } }
@media (max-width:600px) { .container { padding:0 20px; } nav { display:none; } .footer-layout { grid-template-columns:1fr; gap:32px; } .footer-bottom { flex-direction:column; gap:8px; text-align:center; } }
