/*
Theme Name: Fligoland – Imprezy plenerowe
Theme URI: https://www.facebook.com/fligoland/
Author: Fligoland
Description: Responsywny motyw Fligoland do wynajmu atrakcji plenerowych. Współpracuje z wtyczką Fligoland Rezerwacje.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fligoland
*/

    :root { --ink:#17183e; --ink-deep:#111330; --muted:#6b6b80; --paper:#fcfbf6; --cream:#f6f3ea; --lime:#cbff69; --pink:#ff78a0; --violet:#8e7cf9; --line:rgba(26,27,65,.12); --radius:24px; --shadow:0 22px 65px rgba(28,26,66,.10); }
    *, *::before, *::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--paper); font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
    body.menu-open { overflow:hidden; }
    a { color:inherit; text-decoration:none; }
    button, input, select, textarea { font:inherit; }
    button { cursor:pointer; }
    svg { display:block; }
    img { max-width:100%; }
    .skip-link { position:absolute; top:-70px; left:16px; z-index:200; color:#111; background:var(--lime); padding:12px; border-radius:8px; }
    .skip-link:focus { top:12px; }
    .container { width:min(1200px, calc(100% - 80px)); margin-inline:auto; }
    .nav { position:relative; z-index:30; height:89px; background:var(--paper); border-bottom:1px solid #eeece5; }
    .nav-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
    .brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; }
    .brand-mark { width:46px; height:46px; }

    .brand-logo-image { width:auto; height:46px; max-width:160px; object-fit:contain; }
    .brand-has-image { gap:12px; }
    .footer .brand-logo-image { height:46px; max-width:170px; }
    .brand-name { font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; font-size:26px; font-weight:800; letter-spacing:-1.8px; line-height:1; }
    .brand-name span { color:#7965ec; }
    .nav-list { display:flex; align-items:center; justify-content:center; gap:30px; list-style:none; padding:0; margin:0; }
    .nav-list a { font-weight:700; font-size:13px; color:#3d3d59; transition:color .2s; }
    .nav-list a:hover { color:#8467ec; }
    .nav-actions { display:flex; align-items:center; gap:12px; }
    .btn { border:0; min-height:49px; display:inline-flex; gap:11px; align-items:center; justify-content:center; padding:0 23px; border-radius:100px; font-size:13px; line-height:1.25; font-weight:800; transition:transform .2s, box-shadow .2s, background .2s; white-space:nowrap; }
    .btn:hover { transform:translateY(-2px); }
    .btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible { outline:3px solid #ad90ff; outline-offset:3px; }
    .btn-dark { color:white; background:var(--ink); box-shadow:0 5px 0 rgba(22,24,58,.10); }
    .btn-dark:hover { background:#303161; }
    .btn-lime { color:var(--ink); background:var(--lime); box-shadow:0 8px 25px rgba(202,255,105,.20); }
    .btn-lime:hover { background:#deff9d; }
    .btn-outline { background:transparent; border:1.5px solid #c8c4da; color:var(--ink); }
    .arrow { font-size:20px; line-height:0; font-weight:400; transform:translateY(-1px); }
    .mobile-menu-toggle { display:none; width:42px; height:42px; border:none; background:#eceaf6; border-radius:50%; color:var(--ink); place-items:center; }
    .mobile-menu-toggle svg { width:21px; }
    .eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
    .eyebrow::before { content:''; width:10px; height:10px; border-radius:50%; background:currentColor; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; }
    .hero { background:var(--ink); color:#fff; overflow:hidden; position:relative; }
    .hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 80%, rgba(119,92,241,.20), transparent 34%),radial-gradient(circle at 95% 15%,rgba(255,115,163,.10),transparent 32%); pointer-events:none; }
    .hero-inner { position:relative; display:grid; grid-template-columns: 1.03fr 1fr; align-items:center; gap:12px; min-height:668px; padding-top:62px; padding-bottom:67px; }
    .hero-copy { position:relative; z-index:5; padding-bottom:16px; }
    .hero-eyebrow { color:var(--lime); margin-bottom:30px; }
    .hero h1 { font-size:clamp(59px,5.85vw,88px); line-height:1.07; letter-spacing:-5.7px; font-weight:800; margin:0 0 24px; max-width:630px; }
    .hero h1 .spark-word { color:var(--lime); position:relative; display:inline-block; }
    .hero h1 .spark-word::after { content:''; position:absolute; width:97%; left:1%; height:7px; bottom:-5px; border-radius:60% 30% 80% 20%; background:#ff789e; transform:rotate(-2deg); }
    .hero-lead { color:#ceccde; line-height:1.75; font-size:16px; max-width:440px; margin-bottom:32px; }
    .hero-actions { display:flex; gap:13px; align-items:center; flex-wrap:wrap; }
    .hero .btn-outline { border-color:rgba(255,255,255,.32); color:white; }
    .hero .btn-outline:hover { background:rgba(255,255,255,.1); }
    .hero-note { display:flex; gap:10px; align-items:center; margin-top:35px; font-size:12px; color:#d0cddd; }
    .hero-note .asterisk { background:#f887b0; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; font-size:15px; color:var(--ink); font-weight:900; }
    .hero-visual { height:568px; position:relative; margin-right:-75px; }
    .hero-art-bg { position:absolute; width:calc(100% - 28px); top:31px; right:0; height:520px; border-radius:45% 35% 43% 40% / 38% 44% 46% 48%; background:#b7a7fa; transform:rotate(-8deg); }
    .hero-art-inner { position:absolute; inset:3px 0 5px 0; overflow:visible; display:flex; align-items:center; }
    .hero-art-inner>svg { width:100%; height:100%; overflow:visible; filter:drop-shadow(0 20px 18px rgba(3,3,26,.14)); }
    .hero-sticker { position:absolute; z-index:2; background:white; color:var(--ink); border-radius:18px; padding:13px 18px; box-shadow:0 18px 42px rgba(12,7,35,.16); font-weight:800; display:flex; gap:10px; align-items:center; }
    .hero-sticker small { display:block; font-size:10px; font-weight:700; margin-top:3px; color:#7e7b8a; }
    .sticker-a { top:79px; right:-7px; transform:rotate(7deg); font-size:15px; }
    .sticker-b { bottom:38px; left:10px; transform:rotate(-6deg); font-size:12px; }
    .sticker-b strong { display:block; font-size:15px; }
    .sticker-icon { background:#edecff; display:grid; place-items:center; border-radius:10px; width:35px; height:35px; font-size:18px; }
    .floating-star { position:absolute; z-index:3; color:#caff6c; font-size:58px; line-height:1; top:49px; left:0; transform:rotate(-16deg); }
    .floating-swish { position:absolute; bottom:37px; right:2px; color:#ff89aa; font-size:54px; transform:rotate(24deg); z-index:3; }
    .ticker { border-top:1px solid rgba(255,255,255,.15); background:#211f51; color:#fff; overflow:hidden; }
    .ticker-track { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:71px; }
    .ticker span { font-size:11px; font-weight:800; white-space:nowrap; letter-spacing:1.7px; text-transform:uppercase; }
    .ticker b { font-size:23px; color:var(--lime); font-weight:400; }
    .section { padding:114px 0; }
    .section-kicker { color:#836bf1; margin-bottom:20px; }
    .section-title { font-size:clamp(36px,4.35vw,61px); letter-spacing:-3.3px; line-height:1.13; max-width:790px; margin-bottom:0; font-weight:800; }
    .section-title .violet { color:#8871f2; }
    .section-title .pink { color:#ff75a0; }
    .section-intro { font-size:15px; color:var(--muted); line-height:1.75; max-width:355px; }
    .section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:45px; margin-bottom:49px; }
    .services { background:#faf9f5; }
    .services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .service-card { background:#fff; border-radius:24px; border:1px solid rgba(31,28,73,.065); padding:13px 13px 27px; overflow:hidden; transition:transform .25s,box-shadow .25s; }
    .service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
    .service-image { height:255px; border-radius:15px; display:grid; place-items:center; position:relative; overflow:hidden; }
    .service-image svg { width:92%; max-height:95%; filter:drop-shadow(0 10px 9px rgba(23,24,62,.12)); }
    .service-image.pink { background:#ffe0e7; }
    .service-image.lavender { background:#e4ddff; }
    .service-image.yellow { background:#fff0c2; }
    .service-index { position:absolute; left:18px; top:17px; background:white; color:var(--ink); width:34px; height:34px; border-radius:10px; display:grid; place-items:center; font-size:12px; font-weight:800; }
    .service-content { padding:24px 17px 0; }
    .service-content h3 { letter-spacing:-1.2px; font-size:25px; font-weight:800; margin-bottom:12px; }
    .service-content p { color:#737180; font-size:14px; line-height:1.75; margin-bottom:21px; min-height:73px; }
    .service-link { font-size:13px; font-weight:800; display:inline-flex; align-items:center; gap:10px; padding-bottom:4px; border-bottom:1.5px solid var(--ink); }
    .service-link:hover { gap:16px; }
    .marquee-band { background:var(--lime); padding:21px 0; overflow:hidden; }
    .marquee-content { white-space:nowrap; display:flex; justify-content:center; align-items:center; gap:41px; font-size:16px; letter-spacing:2px; font-weight:800; text-transform:uppercase; }
    .marquee-content span { color:#5846a7; font-size:24px; }
    .about { background:var(--paper); }
    .about-grid { display:grid; grid-template-columns:.96fr 1.04fr; gap:74px; align-items:center; }
    .about-visual { min-height:510px; border-radius:30px; background:#a995fb; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
    .about-visual::before { content:''; position:absolute; height:450px; width:450px; border:52px solid rgba(255,255,255,.18); border-radius:50%; left:-200px; top:-100px; }
    .about-visual::after { content:''; position:absolute; height:350px; width:350px; border:40px solid rgba(255,255,255,.13); border-radius:50%; right:-145px; bottom:-160px; }
    .about-stage { width:100%; height:100%; position:absolute; inset:0; }
    .about-pill { position:absolute; z-index:3; bottom:33px; left:36px; border-radius:16px; background:var(--lime); padding:16px 22px; font-weight:800; font-size:17px; transform:rotate(-5deg); box-shadow:0 8px 26px rgba(44,28,83,.2); }
    .about-content .section-title { font-size:clamp(36px,3.85vw,54px); margin-bottom:23px; }
    .about-content>p { max-width:520px; color:var(--muted); font-size:15px; line-height:1.85; margin-bottom:35px; }
    .feature-list { list-style:none; padding:0; margin:0; display:grid; gap:0; }
    .feature-list li { border-top:1px solid var(--line); padding:17px 0; display:flex; align-items:center; gap:16px; font-weight:800; font-size:15px; }
    .feature-list li:last-child { border-bottom:1px solid var(--line); }
    .feature-icon { flex:0 0 auto; display:grid; place-items:center; width:36px; height:36px; background:#efebff; color:#7964e8; font-size:17px; border-radius:12px; }
    .event-section { background:#242151; color:white; overflow:hidden; position:relative; }
    .event-section::before { content:''; width:390px; height:390px; border:1px solid rgba(255,255,255,.12); border-radius:50%; position:absolute; right:-150px; top:-170px; box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.025); }
    .event-section .section-kicker { color:var(--lime); }
    .event-section .section-heading-row { position:relative; z-index:1; }
    .event-section .section-title { max-width:675px; }
    .event-section .section-intro { color:#d4d0e8; }
    .event-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; position:relative; z-index:1; }
    .event-card { border-radius:20px; min-height:345px; padding:32px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; overflow:hidden; position:relative; }
    .event-card .event-icon { align-self:flex-end; width:130px; height:130px; filter:drop-shadow(0 12px 2px rgba(0,0,0,.08)); }
    .event-card small { letter-spacing:2px; font-weight:800; font-size:10px; text-transform:uppercase; opacity:.7; }
    .event-card h3 { font-size:31px; letter-spacing:-1.7px; line-height:1.15; font-weight:800; max-width:220px; margin:8px 0 0; }
    .event-card:nth-child(1) { color:var(--ink); background:#c9ff73; }
    .event-card:nth-child(2) { color:var(--ink); background:#ffb9d0; }
    .event-card:nth-child(3) { color:white; background:#7e70ef; }
    .event-card::before { content:''; position:absolute; width:250px; height:250px; background:rgba(255,255,255,.15); border-radius:50%; right:-90px; top:-65px; }
    .event-more { display:flex; justify-content:center; margin-top:35px; }
    .event-more a { color:#fff; display:inline-flex; align-items:center; gap:12px; font-size:13px; font-weight:800; border-bottom:1px solid rgba(255,255,255,.5); padding:4px 0 9px; }
    .process { background:var(--cream); }
    .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:52px; }
    .process-step { padding:25px 8px 14px 0; position:relative; }
    .process-step:not(:last-child)::after { content:'⟶'; position:absolute; color:#a8a1c4; right:26px; top:41px; font-size:30px; }
    .process-number { width:73px; height:73px; border-radius:50%; display:grid; place-items:center; font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; font-size:25px; font-weight:800; background:white; border:1px solid #dfdbea; margin-bottom:26px; }
    .process-step:nth-child(2) .process-number { background:#dbd4ff; border-color:#dbd4ff; }
    .process-step:nth-child(3) .process-number { background:var(--lime); border-color:var(--lime); }
    .process-step h3 { font-size:23px; letter-spacing:-.9px; margin-bottom:13px; }
    .process-step p { font-size:14px; line-height:1.75; color:var(--muted); max-width:325px; }
    .cta-section { background:var(--paper); padding:100px 0 110px; }
    .cta-shell { background:#e9e4ff; border-radius:38px; padding:65px 70px; display:grid; grid-template-columns: 1fr 1fr; gap:55px; position:relative; overflow:hidden; }
    .cta-shell::before { content:''; position:absolute; height:350px; width:350px; border:70px solid #d8ceff; border-radius:50%; left:-175px; bottom:-200px; }
    .cta-left { position:relative; z-index:1; }
    .cta-left .section-title { font-size:clamp(39px,4vw,56px); margin-bottom:20px; }
    .cta-left p { line-height:1.8; color:#646078; max-width:390px; font-size:15px; margin-bottom:28px; }
    .facebook-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; font-weight:800; }
    .fb-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#2662d7; color:#fff; font-weight:800; font-family:Arial,sans-serif; font-size:21px; }
    .cta-stars { display:flex; gap:16px; align-items:center; font-size:75px; color:#ff8bb0; letter-spacing:7px; margin-top:53px; line-height:1; }
    .cta-stars span:nth-child(2) { color:#806cf0; transform:translateY(21px) rotate(14deg); font-size:48px; }
    .cta-stars span:nth-child(3) { color:#bbec6c; font-size:60px; transform:translateY(-8px); }
    .form-card { background:white; padding:32px; border-radius:24px; box-shadow:0 20px 45px rgba(45,31,106,.09); position:relative; z-index:1; }
    .form-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:25px; }
    .form-header h3 { margin:0; font-size:22px; letter-spacing:-.9px; }
    .form-header>span { color:#9a92ba; font-size:23px; }
    .field-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
    .field { margin-bottom:15px; }
    .field label { display:block; color:#48465d; margin-bottom:8px; font-size:11px; font-weight:800; }
    .field input,.field select,.field textarea { width:100%; border:1px solid #e5e1eb; color:var(--ink); background:#fbfafc; outline:none; border-radius:10px; padding:13px 13px; font-size:13px; min-height:45px; transition:border-color .2s; }
    .field input:focus,.field select:focus,.field textarea:focus { border-color:#8c76f1; }
    .field textarea { resize:vertical; min-height:93px; }
    .form-submit { width:100%; }
    .form-disclaimer { margin:12px 0 0; text-align:center; line-height:1.6; font-size:11px; color:#858195; }
    .footer { color:#fff; background:var(--ink-deep); padding:70px 0 28px; }
    .footer-top { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.73fr) minmax(0,1.15fr) minmax(0,1.07fr); gap:clamp(22px,3.3vw,48px); align-items:start; padding-bottom:51px; }
    .footer-top > * { min-width:0; }
    .footer .brand-name { font-size:28px; }
    .footer-brand p { max-width:285px; font-size:13px; line-height:1.8; color:#bcb9d2; margin:22px 0 0; }
    .footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:13px; min-width:0; }
    .footer-col h4 { margin:3px 0 8px; font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; font-size:15px; line-height:1.4; font-weight:800; color:#fff; }
    .footer-col a { display:block; color:#c4c2d8; font-size:13px; line-height:1.6; overflow-wrap:anywhere; transition:color .15s; }
    .footer-col a:hover, .footer-col a:focus-visible { color:var(--lime); }
    .footer-contact a.footer-contact-item { display:flex; align-items:flex-start; gap:9px; }
    .footer-contact-item svg { display:block; width:17px; height:17px; margin-top:2px; flex:0 0 17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
    .footer-company-name { color:#fff; font-size:13px; line-height:1.5; }
    .footer-company address { font-size:13px; line-height:1.75; font-style:normal; color:#c4c2d8; }
    .footer-company p { margin:0; color:#e2e0f0; font-size:13px; line-height:1.5; }
    .footer-company p span { color:#b5b1cb; font-weight:700; }
    .footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; border-top:1px solid rgba(255,255,255,.14); padding-top:25px; font-size:11px; line-height:1.7; color:#aba8c2; }
    .footer-bottom a { color:#c9ff73; }
    .booking-direct-contact { margin-top:25px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 24px; font-size:13px; line-height:1.6; color:#5c5872; text-align:center; }
    .booking-direct-contact a { color:#4937ad; font-weight:800; overflow-wrap:anywhere; }
    .booking-direct-contact a:hover { text-decoration:underline; }
    .modal-backdrop { position:fixed; inset:0; background:rgba(10,11,35,.72); z-index:100; display:none; place-items:center; padding:18px; backdrop-filter:blur(5px); }
    .modal-backdrop.visible { display:grid; }
    .modal { position:relative; width:min(530px,100%); max-height:min(720px,calc(100dvh - 38px)); overflow:auto; background:#fff; border-radius:24px; padding:34px; box-shadow:0 25px 90px rgba(0,0,0,.24); }
    .modal h3 { font-size:25px; letter-spacing:-1px; margin-bottom:8px; }
    .modal p { color:var(--muted); font-size:13px; line-height:1.7; }
    .modal textarea { width:100%; border:1px solid #d9d5e9; border-radius:13px; padding:14px; resize:vertical; min-height:175px; font-size:13px; line-height:1.7; color:var(--ink); background:#fbfaff; }
    .modal-actions { margin-top:17px; display:flex; gap:10px; flex-wrap:wrap; }
    .modal-actions .btn { flex:1; }
    .modal-close { position:absolute; right:20px; top:19px; width:31px; height:31px; border:0; border-radius:50%; background:#eeecf8; font-size:24px; display:grid; place-items:center; line-height:1; }
    .copy-status { font-size:12px; color:#27743e; min-height:19px; margin-top:10px; font-weight:700; }
    @media (max-width:1100px) {
      .container { width:min(100% - 56px,1200px); }
      .nav-list { gap:18px; }
      .hero-inner { min-height:620px; }
      .hero h1 { font-size:clamp(57px,6vw,77px); letter-spacing:-4.7px; }
      .hero-visual { margin-right:-35px; height:530px; }
      .hero-art-bg { height:470px; }
      .service-image { height:215px; }
      .about-grid { gap:45px; }
      .cta-shell { padding:50px; gap:35px; }
    }
    @media (max-width:1020px) {
      .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 48px; }
    }
    @media (max-width:840px) {
      .nav { height:77px; }
      .nav-list { display:none; position:absolute; top:77px; left:0; right:0; background:var(--paper); padding:20px 28px 29px; box-shadow:0 25px 35px rgba(22,20,60,.10); flex-direction:column; align-items:stretch; gap:0; }
      .nav-list.open { display:flex; }
      .nav-list li a { padding:13px 0; display:block; font-size:15px; }
      .mobile-menu-toggle { display:grid; }
      .nav-actions>.btn { display:none; }
      .hero-inner { grid-template-columns:1fr; padding:75px 0 52px; gap:30px; }
      .hero-copy { padding-bottom:0; }
      .hero h1 { max-width:680px; font-size:clamp(60px,9vw,85px); }
      .hero-visual { height:520px; max-width:620px; width:100%; margin:0 auto; }
      .hero-art-bg { right:5%; top:25px; width:88%; height:445px; }
      .hero-art-inner { inset:0; }
      .sticker-a { right:4%; }
      .ticker-track { justify-content:center; gap:26px; }
      .ticker-track span:nth-of-type(n+4),.ticker-track b:nth-of-type(n+4) { display:none; }
      .section { padding:82px 0; }
      .services-grid { grid-template-columns:repeat(2,1fr); }
      .service-card:last-child { grid-column:1 / -1; }
      .service-card:last-child .service-image { height:250px; }
      .about-grid { grid-template-columns:1fr; }
      .about-visual { max-width:620px; min-height:440px; }
      .event-cards { gap:12px; }
      .event-card { min-height:320px; padding:23px; }
      .event-card h3 { font-size:25px; }
      .cta-shell { grid-template-columns:1fr; padding:50px; }
      .cta-left .section-title { max-width:650px; }
      .cta-stars { display:none; }
    }
    @media (max-width:640px) {
      .container { width:calc(100% - 36px); }
      .nav { height:70px; }
      .nav-list { top:70px; }
      .brand-mark { width:38px; height:38px; }
      .brand-logo-image { height:38px; max-width:130px; }
      .brand-name { font-size:24px; }
      .hero-inner { padding-top:67px; padding-bottom:35px; }
      .hero-eyebrow { font-size:10px; margin-bottom:24px; letter-spacing:1.5px; }
      .hero h1 { font-size:clamp(52px,12vw,70px); letter-spacing:-3.4px; line-height:1.08; }
      .hero-lead { font-size:15px; }
      .hero-actions .btn { padding:0 19px; min-height:47px; font-size:12px; }
      .hero-note { margin-top:25px; }
      .hero-visual { height:380px; }
      .hero-art-bg { top:20px; height:320px; }
      .sticker-a { top:22px; right:0; font-size:11px; padding:10px 12px; }
      .sticker-b { bottom:5px; left:0; padding:9px; font-size:10px; }
      .sticker-b strong { font-size:12px; }
      .floating-star { top:5px; font-size:42px; }
      .floating-swish { display:none; }
      .ticker-track { min-height:59px; gap:16px; }
      .ticker-track span { font-size:9px; letter-spacing:1px; }
      .ticker-track span:nth-of-type(n+3),.ticker-track b:nth-of-type(n+3) { display:none; }
      .section { padding:74px 0; }
      .section-kicker { margin-bottom:15px; }
      .section-title { font-size:clamp(34px,9.5vw,46px); letter-spacing:-2px; }
      .section-heading-row { display:block; margin-bottom:32px; }
      .section-intro { margin:18px 0 0; }
      .services-grid,.event-cards,.process-grid { grid-template-columns:1fr; }
      .service-card:last-child { grid-column:auto; }
      .service-image,.service-card:last-child .service-image { height:225px; }
      .service-content p { min-height:auto; }
      .marquee-content { font-size:11px; gap:20px; }
      .about-visual { min-height:360px; }
      .about-pill { left:18px; bottom:19px; font-size:13px; }
      .about-content .section-title { font-size:clamp(34px,9vw,48px); }
      .event-card { min-height:260px; }
      .event-card .event-icon { width:117px; height:117px; }
      .event-card h3 { font-size:30px; }
      .process-grid { gap:8px; margin-top:25px; }
      .process-step { padding:15px 0; display:grid; grid-template-columns:63px 1fr; column-gap:18px; }
      .process-step:not(:last-child)::after { display:none; }
      .process-number { grid-row:span 2; width:57px; height:57px; font-size:20px; }
      .process-step h3 { margin:3px 0 9px; font-size:21px; }
      .process-step p { margin:0; }
      .cta-section { padding:65px 0 78px; }
      .cta-shell { padding:34px 19px; border-radius:24px; gap:30px; }
      .cta-left { padding:0 7px; }
      .cta-left .section-title { font-size:39px; }
      .form-card { padding:23px 18px; }
      .field-grid { grid-template-columns:1fr; gap:0; }
      .form-header h3 { font-size:19px; }
      .footer { padding-top:55px; }
      .footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 24px; padding-bottom:40px; }
      .footer-brand { grid-column:1/-1; }
      .footer-contact, .footer-company { min-width:0; }
      .footer-bottom { flex-direction:column; gap:8px; }
      .modal { padding:28px 20px; }
      .modal-actions { flex-direction:column; }
    }
    @media (max-width:480px) {
      .footer { padding-top:47px; }
      .footer-top { grid-template-columns:minmax(0,1fr); gap:30px; padding-bottom:35px; }
      .footer-brand { grid-column:auto; }
      .footer-col { gap:12px; }
      .footer-col h4 { margin-bottom:4px; }
      .footer-bottom { flex-direction:column; align-items:flex-start; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
  
