/* Base reset (the preview tool added this automatically) */
html,body{margin:0}
[hidden]{display:none!important}
img{max-width:100%}

/* Layout: short home that routes to focused pages (Corporate, Weddings, Christmas, DJs, Events, Contact). White page, black type, brand green for every action and hover. Lime only on black bands. Single light theme by brand choice. */
:root{
  /* Dark test: white and black swapped; lime and green swapped (brand kit: lime on black, green on white) */
  --white:#0b0b0d; --paper:#17181b; --black:#ffffff; --grey:#a7a99f; --rule:#2b2c30; --dark-rule:#dcddd6; --dark-text:#5b5d56; --tile-dark:#eef0ea;
  --green:#c6fc18; --green-dark:#a9dc0a; --green-tint:rgba(198,252,24,.10); --lime:#4a9600; --booked:#45474c;
  --on-green-soft:rgba(11,11,13,.72); --on-green-tile:rgba(11,11,13,.08); --on-green-line:rgba(11,11,13,.22);
  --head:"Chakra Petch","Avenir Next Condensed",system-ui,sans-serif;
  --body:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  --wrap:1200px; --r:4px;
  color-scheme:dark;
  --star:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22999.7685799999999 238.14758 2213.51984 2142.21884%22%3E%3Cg%3E%3Cpath d=%22M 2047.424 359.476 C 2046.425 361, 2044.487 370.515, 2042.383 384.226 C 2035.611 428.343, 2028.888 471.729, 2027 483.500 C 2025.942 490.100, 2023.706 504.050, 2022.032 514.500 C 1985.008 745.586, 1949.759 918.843, 1924.988 991.500 C 1922.738 998.100, 1919.586 1008.900, 1917.983 1015.500 C 1904.601 1070.611, 1880.751 1113.491, 1842.857 1150.570 C 1801.542 1190.997, 1755.242 1212.300, 1686.595 1222.467 C 1664.745 1225.703, 1661.434 1228.199, 1672.500 1233.094 C 1681.786 1237.202, 1734.335 1249.064, 1765 1253.974 C 1864.717 1269.941, 1936.904 1260.105, 1972.770 1225.665 C 2003.983 1195.693, 2029.155 1100.394, 2048.489 939 C 2057.511 863.686, 2074.228 776.482, 2089.092 727.195 C 2096.922 701.232, 2099.479 697.093, 2105.674 700.361 C 2108.629 701.920, 2108.458 701.661, 2188.440 825.347 C 2236.544 899.736, 2240.204 905, 2243.827 905 C 2247.958 905, 2244.933 895.202, 2214.035 808.500 C 2204.038 780.450, 2190.298 741.750, 2183.500 722.500 C 2176.702 703.250, 2164.104 667.700, 2155.503 643.500 C 2146.902 619.300, 2135.879 588.250, 2131.008 574.500 C 2126.137 560.750, 2118.708 539.825, 2114.499 528 C 2110.289 516.175, 2103.997 498.400, 2100.515 488.500 C 2097.033 478.600, 2089.373 457, 2083.492 440.500 C 2077.612 424, 2071.093 405.550, 2069.007 399.500 C 2057.937 367.405, 2054.294 358.710, 2051.461 357.623 C 2049.181 356.749, 2049.224 356.729, 2047.424 359.476 M 2148.850 927.250 C 2144.928 934.484, 2148.226 1003.711, 2154.524 1046.320 C 2163.360 1106.111, 2179.140 1154.153, 2200.172 1185.302 C 2207.627 1196.343, 2225.161 1214.114, 2233.344 1218.923 C 2244.930 1225.732, 2261.309 1230.045, 2287.500 1233.182 C 2301.639 1234.876, 2367.767 1234.874, 2388.500 1233.180 C 2423.215 1230.342, 2464.371 1225.834, 2486 1222.500 C 2526.095 1216.319, 2601.774 1206.798, 2628.500 1204.572 C 2632.350 1204.251, 2642.925 1203.331, 2652 1202.528 C 2688.302 1199.313, 2757.779 1198.367, 2770.250 1200.917 C 2771.937 1201.262, 2774.189 1202.712, 2775.254 1204.138 C 2777.991 1207.805, 2776.911 1209.517, 2759.831 1228.589 C 2725.563 1266.854, 2632.779 1371.115, 2627.312 1377.500 C 2615.564 1391.221, 2612.913 1396, 2617.050 1396 C 2621.307 1396, 2623.096 1394.835, 2684 1352.425 C 2794.810 1275.263, 2856.103 1232.554, 2880.500 1215.504 C 2923.770 1185.265, 3003.107 1129.987, 3045.500 1100.541 C 3093.028 1067.529, 3094.707 1066.107, 3090.800 1062.200 C 3089.026 1060.426, 3085.123 1060.660, 3052.878 1064.478 C 3019.417 1068.439, 2967.970 1074.337, 2948 1076.502 C 2901.825 1081.507, 2885.798 1083.200, 2872 1084.531 C 2863.475 1085.353, 2855.150 1086.254, 2853.500 1086.534 C 2851.850 1086.813, 2843.300 1087.696, 2834.500 1088.497 C 2825.700 1089.297, 2796.675 1091.977, 2770 1094.452 C 2716.896 1099.378, 2682.029 1102.275, 2649 1104.503 C 2637.175 1105.301, 2621.650 1106.391, 2614.500 1106.927 C 2607.350 1107.462, 2589.350 1108.370, 2574.500 1108.945 C 2559.650 1109.519, 2540.525 1110.491, 2532 1111.103 C 2510.197 1112.671, 2387.851 1110.365, 2372 1108.088 C 2273.901 1093.996, 2202.807 1038.278, 2162.058 943.551 C 2153.840 924.447, 2151.761 921.882, 2148.850 927.250 M 1120.750 1122.054 C 1118.350 1123.488, 1118.556 1126.239, 1121.250 1128.743 C 1122.487 1129.893, 1141.245 1141.035, 1162.934 1153.503 C 1402.429 1291.177, 1584.017 1405.202, 1655.360 1462.715 C 1672.771 1476.751, 1680.541 1482.712, 1696.138 1494 C 1708.475 1502.929, 1736.069 1529.587, 1746.974 1543.113 C 1784.514 1589.670, 1803 1642.535, 1803 1703.334 C 1803 1731.245, 1801.294 1744.515, 1792.514 1784.924 C 1787.353 1808.673, 1796.310 1800.852, 1826.313 1755.409 C 1860.781 1703.204, 1884.615 1656.322, 1897.948 1614.500 C 1913.612 1565.370, 1912.135 1524.046, 1893.779 1497.868 C 1883.088 1482.621, 1852.477 1455.189, 1821.400 1433.005 C 1784.239 1406.477, 1745.366 1382.888, 1685.054 1350.264 C 1613.707 1311.672, 1574.055 1288.362, 1529 1258.524 C 1484.278 1228.907, 1457.981 1208.012, 1458.015 1202.122 C 1458.048 1196.562, 1459.481 1195.926, 1483.179 1190.944 C 1503.073 1186.762, 1596.175 1167.491, 1647.500 1156.932 C 1688.886 1148.418, 1697.653 1146.204, 1700.813 1143.474 C 1703.500 1141.154, 1703.500 1141.154, 1700.783 1140.114 C 1695.922 1138.254, 1678.142 1137.136, 1644 1136.541 C 1625.575 1136.221, 1603.525 1135.502, 1595 1134.945 C 1586.475 1134.387, 1552.050 1133.263, 1518.500 1132.446 C 1451.509 1130.814, 1454.735 1130.904, 1400 1129.156 C 1327.084 1126.827, 1303.284 1126.121, 1231 1124.143 C 1191.125 1123.052, 1150.400 1121.900, 1140.500 1121.584 C 1128.737 1121.207, 1121.894 1121.370, 1120.750 1122.054 M 2620.209 1261.499 C 2523.716 1286.434, 2432.852 1332.154, 2398.308 1373.151 C 2374.378 1401.552, 2367.839 1420.941, 2371.423 1452.867 C 2377.971 1511.207, 2397.590 1572.427, 2451.262 1702 C 2486.401 1786.831, 2512.949 1865.442, 2522.978 1914.360 C 2525.818 1928.208, 2525.700 1933.495, 2522.507 1935.587 C 2518.866 1937.973, 2518.037 1937.633, 2481.048 1918.579 C 2296.594 1823.562, 2305.442 1828, 2300.463 1828 C 2292.904 1828, 2299.186 1834.123, 2362.777 1888.732 C 2393.370 1915.005, 2442.765 1957.425, 2472.544 1983 C 2684.400 2164.948, 2730.443 2204.244, 2733.474 2205.689 C 2736.370 2207.070, 2737.157 2207.115, 2738.528 2205.976 C 2741.029 2203.901, 2740.100 2200.879, 2725.028 2162.069 C 2680.697 2047.916, 2630.810 1912.903, 2603.809 1834 C 2563.546 1716.341, 2542.625 1646.823, 2532.033 1595.500 C 2530.330 1587.250, 2527.377 1575.042, 2525.471 1568.370 C 2505.658 1499.039, 2511.975 1425.790, 2542.745 1368.065 C 2561.350 1333.162, 2586.734 1304.071, 2623.747 1275.235 C 2636.147 1265.574, 2638 1263.648, 2638 1260.418 C 2638 1258.279, 2631.035 1258.702, 2620.209 1261.499 M 2073.500 1617.863 C 2053.865 1623.881, 2029.485 1638.017, 1997.536 1661.906 C 1958.388 1691.180, 1932.325 1714.777, 1861 1785.529 C 1768.705 1877.082, 1720.809 1919.569, 1677.665 1948.158 C 1657.904 1961.252, 1655.104 1958.883, 1657.980 1931.500 C 1658.499 1926.550, 1659.618 1912.600, 1660.466 1900.500 C 1661.314 1888.400, 1662.234 1876.925, 1662.509 1875 C 1662.784 1873.075, 1663.904 1859.800, 1664.998 1845.500 C 1666.092 1831.200, 1668.785 1797, 1670.984 1769.500 C 1673.182 1742, 1674.985 1716.774, 1674.991 1713.441 C 1675.002 1706.372, 1673.187 1702.770, 1670.668 1704.861 C 1667.694 1707.329, 1667.409 1708.189, 1577.505 1985.500 C 1559.495 2041.050, 1533.356 2121.600, 1519.416 2164.500 C 1487.806 2261.785, 1488.801 2258, 1494.837 2258 C 1498.690 2258, 1503.573 2253.652, 1547.697 2210.932 C 1569.039 2190.269, 1590.100 2170.056, 1594.500 2166.015 C 1598.900 2161.973, 1614.427 2147.379, 1629.005 2133.583 C 1643.583 2119.787, 1660.908 2103.508, 1667.505 2097.406 C 1674.102 2091.305, 1688.950 2077.566, 1700.500 2066.876 C 1819.679 1956.570, 1920.944 1870.476, 1975 1833.500 C 1981.325 1829.174, 1992.125 1821.287, 1999 1815.974 C 2043.038 1781.940, 2082.816 1764.110, 2132.111 1756.307 C 2148.263 1753.750, 2188.763 1753.749, 2204.889 1756.305 C 2239.502 1761.790, 2271.902 1773.249, 2304.702 1791.603 C 2321.663 1801.095, 2327 1802.824, 2327 1798.827 C 2327 1788.192, 2254.626 1707.278, 2217 1675.848 C 2181.500 1646.193, 2149.667 1627.859, 2119 1619.405 C 2106.043 1615.833, 2082.703 1615.042, 2073.500 1617.863%22 fill=%22%234A9600%22 fill-rule=%22evenodd%22/%3E%3C/g%3E%3C/svg%3E");
}
/* Brand star used as the bullet / separator mark everywhere (not for ratings or checkmarks) */
.star-mark,.marquee .track span::before,.day li::before,.reasons li::before,.label::before,.announce .wrap > span::before{content:"";display:inline-block;flex-shrink:0;background:var(--green);-webkit-mask:var(--star) center/contain no-repeat;mask:var(--star) center/contain no-repeat}
*{box-sizing:border-box}
body{background:var(--white);color:var(--black);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--head);font-weight:600;line-height:1.05;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(40px,5.6vw,72px);font-weight:700}
h2{font-size:clamp(32px,3.8vw,48px)}
h3{font-size:24px}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(56px,7vw,88px)}
.intro{color:var(--grey);font-size:18px;max-width:56ch}
.label{font:600 13px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:8px}
.label::before{width:18px;height:18px;background:currentColor}
.announce .wrap > span::before{width:18px;height:18px;margin-right:8px;vertical-align:-4px;background:var(--lime)}
.cover{width:100%;height:100%;object-fit:cover}
.photo{border-radius:var(--r);overflow:hidden}
.zoom img{transition:transform .5s ease}
.zoom:hover img{transform:scale(1.05)}
.sample{display:inline-block;font:600 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;background:var(--paper);color:var(--grey);border:1px dashed var(--booked);padding:5px 7px;border-radius:3px}
.on-black .sample{background:transparent;color:var(--dark-text);border-color:var(--dark-rule)}

/* Controls: everything turns brand green on hover */
.btn{display:inline-block;font:600 15px/1 var(--body);padding:15px 22px;border-radius:var(--r);text-decoration:none;border:2px solid var(--black);background:var(--black);color:var(--white);cursor:pointer;text-align:center;transition:background .18s,border-color .18s,color .18s}
.btn.line{background:transparent;color:var(--black)}
.btn.green{background:var(--green);border-color:var(--green)}
.on-black .btn.line{color:var(--white);border-color:var(--white)}
.btn:hover,.btn.line:hover,.on-black .btn.line:hover{background:var(--green);border-color:var(--green);color:var(--white)}
.btn.green:hover{background:var(--green-dark);border-color:var(--green-dark)}
.arrow{font-weight:600;text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:2px;transition:color .18s}
.arrow:hover{color:var(--green)}
.on-black .arrow:hover{color:var(--lime)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.chip{font:600 14px var(--body);background:var(--white);border:1px solid var(--rule);border-radius:var(--r);padding:9px 14px;cursor:pointer;color:var(--black);transition:all .18s}
.chip:hover{border-color:var(--green);color:var(--green)}
.chip[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--white)}

/* Announcement + header */
.announce{background:var(--black);color:var(--white);font-size:14px}
.announce .wrap{display:flex;justify-content:center;gap:6px 14px;flex-wrap:wrap;padding-block:10px;text-align:center}
.announce a{color:var(--lime);font-weight:600;text-decoration:none}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--white);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:24px;height:74px}
.top .logo img{height:40px;width:auto}
nav.main{display:flex;gap:22px;margin-left:auto;font-weight:500;font-size:15px}
nav.main a{text-decoration:none;padding-block:6px;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
nav.main a:hover,nav.main a.on{border-color:var(--green);color:var(--green)}
nav.main a.on{font-weight:700}
.lang{display:flex;border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.lang button{font:600 13px var(--body);background:var(--white);border:0;padding:8px 10px;cursor:pointer;color:var(--grey)}
.lang button:hover{color:var(--green)}
.lang button[aria-pressed="true"]{background:var(--green);color:var(--white)}
.top .btn{padding:12px 18px;font-size:14px}
.menu-btn{display:none;background:none;border:2px solid var(--black);border-radius:var(--r);padding:8px 12px;font:600 14px var(--body);color:var(--black);cursor:pointer}
.menu-btn:hover,.menu-btn[aria-expanded="true"]{background:var(--green);border-color:var(--green);color:var(--white)}
@media (max-width:1060px){
  nav.main{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:var(--white);border-bottom:1px solid var(--rule);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}
  nav.main a{padding:13px 0;border-bottom:1px solid var(--rule)}
  nav.main.open{display:flex}
  .lang{margin-left:auto}
  .menu-btn{display:block}
  .top .btn{display:none}
}

.page[hidden],[hidden]{display:none!important}
.page-head{padding-block:clamp(40px,5vw,64px) 0}
.page-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.page-head h1{margin:14px 0 18px}
.page-head .photo{aspect-ratio:3/2}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media (max-width:900px){.page-head-grid{grid-template-columns:1fr;gap:28px}}

/* Long text pages (privacy) */
.prose{max-width:72ch}
.prose h2{font-size:clamp(22px,2.4vw,28px);margin:40px 0 12px}
.prose p{color:var(--grey);margin:0 0 16px}
.prose a{color:var(--green)}

/* Hero with moving reel (stand-in for a video loop) */
.hero{padding-block:clamp(36px,5vw,60px) 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1 span{color:var(--green)}
.hero .intro{margin-top:20px}
.reel{position:relative;aspect-ratio:5/4;border-radius:6px;overflow:hidden;background:var(--black)}
.reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.2s ease,transform 6s linear}
.reel img.on{opacity:1;transform:scale(1)}
.reel img:first-child{opacity:1;transform:none}
.reel.started img:first-child:not(.on){opacity:0}
.reel .rec{position:absolute;top:14px;left:14px;display:flex;gap:8px;align-items:center;background:rgba(11,11,13,.7);color:#fff;font:600 12px var(--body);padding:7px 10px;border-radius:3px}
.reel .rec i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.reel .badge{position:absolute;left:14px;bottom:14px;background:var(--white);border-radius:var(--r);padding:12px 14px;display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.3;box-shadow:0 8px 24px rgba(11,11,13,.25)}
.badge b{font:700 26px/1 var(--head);color:var(--green)}
.reel .dots{position:absolute;right:14px;bottom:14px;display:flex;gap:6px}
.reel .dots i{width:22px;height:3px;background:rgba(255,255,255,.4);border-radius:2px}
.reel .dots i.on{background:var(--lime)}

/* I'm planning a… */
.planning{margin-top:44px;background:var(--green);color:var(--white);border-radius:6px;padding:22px;display:grid;grid-template-columns:190px repeat(4,1fr);gap:12px;position:relative;overflow:hidden}
.planning::before{content:"";position:absolute;right:-60px;top:-70px;width:260px;height:260px;background:url(/assets/logo/smg-isotipo-negro.svg) center/contain no-repeat;opacity:.08;pointer-events:none}
.planning .ask{font:700 28px/1.02 var(--head);align-self:center;padding:4px 6px;position:relative}
.planning .ask small{display:block;font:500 14px/1.35 var(--body);color:var(--on-green-soft);margin-top:10px}
.planning a{position:relative;text-decoration:none;color:var(--white);background:var(--on-green-tile);border:1px solid var(--on-green-line);border-radius:5px;padding:18px;display:grid;grid-template-rows:auto 1fr auto;gap:12px;transition:transform .22s ease,background .22s,color .22s,box-shadow .22s}
.planning .ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--on-green-tile);transition:background .22s}
.planning .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.planning b{font:600 21px/1.1 var(--head);display:block}
.planning a small{display:block;font-size:14px;color:var(--on-green-soft);margin-top:4px;transition:color .22s}
.planning .go{font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}
.planning .go::after{content:"→";font-size:18px;transition:transform .22s}
.planning a:hover,.planning a:focus-visible{transform:translateY(-6px) scale(1.04);background:var(--white);color:var(--black);box-shadow:0 18px 34px rgba(11,11,13,.28);z-index:1;outline:none}
.planning a:hover small,.planning a:focus-visible small{color:var(--grey)}
.planning a:hover .ic,.planning a:focus-visible .ic{background:var(--green);color:var(--white)}
.planning a:hover .go,.planning a:focus-visible .go{color:var(--green)}
.planning a:hover .go::after,.planning a:focus-visible .go::after{transform:translateX(5px)}
.planning a.hot::before{content:attr(data-flag);position:absolute;top:14px;right:14px;font:700 11px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;background:var(--lime);color:var(--black);padding:5px 7px;border-radius:3px}
@media (max-width:1000px){.planning{grid-template-columns:1fr 1fr}.planning .ask{grid-column:1/-1}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}}
@media (max-width:440px){.planning{grid-template-columns:1fr;padding:16px}.planning a{grid-template-columns:auto 1fr;grid-template-rows:auto;align-items:center}.planning .go{display:none}}

/* Numbers + client marquee */
.numbers{background:var(--paper);padding-block:36px 0;margin-top:56px}
.numbers .row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.num b{display:block;font:700 clamp(40px,4.4vw,56px)/1 var(--head);color:var(--green);font-variant-numeric:tabular-nums}
.num span{font-size:15px;color:var(--grey)}
.marquee{margin-top:32px;border-top:1px solid var(--rule);overflow:hidden;padding-block:18px}
.marquee .track{display:flex;gap:56px;width:max-content;animation:slide 38s linear infinite;font:600 20px var(--head);color:var(--grey);white-space:nowrap}
.marquee .track span::before{width:26px;height:26px;margin-right:56px;vertical-align:-6px}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
@media (max-width:760px){.numbers .row{grid-template-columns:1fr 1fr}}

.head-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service{text-decoration:none;display:grid;gap:14px;align-content:start}
.service .photo{aspect-ratio:4/3}
.service h3{display:flex;justify-content:space-between;gap:12px;transition:color .18s}
.service h3::after{content:"→";color:var(--green);transition:transform .2s}
.service:hover h3{color:var(--green)}
.service:hover h3::after{transform:translateX(4px)}
.service p{color:var(--grey)}
@media (max-width:900px){.services{grid-template-columns:1fr;gap:36px}.service .photo{aspect-ratio:16/9}}

/* Case studies */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.case{display:grid;gap:12px;align-content:start}
.case[hidden]{display:none}
.case .photo{aspect-ratio:3/2;position:relative}
.case .tag{position:absolute;top:12px;left:12px;background:var(--white);color:var(--black);font:500 12px/1 var(--body);padding:6px 10px;border-radius:999px}
.case h3{font-size:22px}
.case dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:15px}
.case dt{color:var(--grey)}
.case dd{margin:0;font-weight:500}
@media (max-width:900px){.cases{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cases{grid-template-columns:1fr}}

/* Reviews carousel */
.reviews{background:var(--black);color:var(--white)}
.rv-top{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.reviews .label{color:var(--lime)}
.rv-score{display:flex;gap:16px;align-items:center}
.rv-score b{font:700 56px/1 var(--head);color:var(--lime)}
.rv-score span{color:var(--dark-text);font-size:15px}
.stars{color:var(--lime);letter-spacing:2px;font-size:18px}
.light .stars,.stars.g{color:var(--green)}
.rv-viewport{overflow:hidden}
.rv-track{display:flex;transition:transform .45s ease}
.rv{flex:0 0 50%;padding-right:24px}
.rv-card{border:1px solid var(--dark-rule);border-radius:6px;padding:28px;height:100%;display:grid;gap:16px;align-content:space-between}
.rv-card blockquote{margin:0;font:600 clamp(20px,2.2vw,26px)/1.3 var(--head)}
.rv-card blockquote.tbd{color:var(--dark-text);font:italic 400 18px/1.5 var(--body)}
.rv-who{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--dark-text)}
.rv-who i{width:38px;height:38px;border-radius:50%;background:var(--tile-dark);display:grid;place-items:center;font:700 15px var(--head);color:var(--lime);font-style:normal}
.rv-who b{color:var(--white);display:block}
.rv-nav{display:flex;gap:8px;align-items:center;margin-top:24px}
.rv-nav button.arr{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--dark-rule);background:transparent;color:var(--white);font-size:18px;cursor:pointer;transition:all .18s}
.rv-nav button.arr:hover{background:var(--green);border-color:var(--green)}
.rv-dots{display:flex;gap:6px;margin-left:12px}
.rv-dots button{width:24px;height:4px;border:0;border-radius:2px;background:var(--dark-rule);cursor:pointer;padding:0}
.rv-dots button[aria-current="true"]{background:var(--lime)}
@media (max-width:760px){.rv{flex-basis:100%;padding-right:0}}

/* Instagram */
.insta{background:var(--paper)}
.ig-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.ig-avatar{width:76px;height:76px;border-radius:50%;background:var(--black);display:grid;place-items:center;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--green)}
.ig-avatar img{width:62%}
.ig-name{display:grid;gap:2px}
.ig-name b{font:600 22px var(--head)}
.ig-name span{color:var(--grey);font-size:15px}
.ig-head .btn{margin-left:auto;display:inline-flex;gap:10px;align-items:center}
.ig-head .btn svg{width:18px;height:18px}
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.ig-post{position:relative;aspect-ratio:1;overflow:hidden;border-radius:2px;display:block}
.ig-post img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ig-post::after{content:"";position:absolute;inset:0;background:rgba(74,150,0,0);transition:background .2s}
.ig-post:hover::after{background:rgba(74,150,0,.35)}
.ig-post:hover img{transform:scale(1.06)}
.ig-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--grey)}
@media (max-width:760px){.ig-grid{grid-template-columns:repeat(3,1fr)}.ig-head .btn{margin-left:0;width:100%;justify-content:center}}

.cta-band{background:var(--green);color:var(--white)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-band p{color:var(--on-green-soft);margin-top:10px}
.cta-band .btn{background:var(--white);border-color:var(--white);color:var(--black)}
.cta-band .btn:hover{background:var(--black);border-color:var(--black);color:var(--white)}
.cta-band .btn.line{background:transparent;color:var(--white)}

/* Packages */
.table-scroll{overflow-x:auto}
table.compare{width:100%;border-collapse:collapse;min-width:640px}
.compare th,.compare td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--rule);vertical-align:middle}
.compare thead th{font:600 26px/1 var(--head);border-bottom:2px solid var(--black);padding-top:22px}
.compare thead th small{display:block;font:600 12px var(--body);color:var(--green);margin-bottom:6px;min-height:15px}
.compare thead th:first-child{font:500 14px var(--body);color:var(--grey);vertical-align:bottom}
.compare td:not(:first-child),.compare thead th:not(:first-child){text-align:center;width:20%}
.compare .pop{background:var(--paper)}
.yes{display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--green);position:relative;vertical-align:middle}
.yes::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:10px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}
.no{color:var(--booked)}
.compare tfoot td{border-bottom:0;padding-top:18px}
.compare tfoot .btn{padding:12px 14px;font-size:14px;width:100%}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;counter-reset:n}
.steps li{border-top:2px solid var(--black);padding-top:14px}
.steps li::before{counter-increment:n;content:counter(n);font:700 34px/1 var(--head);color:var(--green);display:block;margin-bottom:8px}
.steps b{display:block;margin-bottom:4px}
.steps span{color:var(--grey);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.steps.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.steps.four{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps.four{grid-template-columns:1fr}}

/* Columns of star lists (Christmas "What's included", home "Group") */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.cols3 .reasons{margin-top:12px}
.reasons.cols2{grid-template-columns:1fr 1fr;gap:0 36px}
.reasons.cols2 li{align-items:start}
.reasons.cols2 .arrow{display:inline-block;margin-top:6px}
@media (max-width:900px){.cols3,.reasons.cols2{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split .photo{aspect-ratio:4/3}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:28px}}
.day{list-style:none;margin:20px 0 0;padding:0}
.day li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.day li::before{width:22px;height:22px;align-self:center}
.day li b{display:block}
.day li span{display:block;color:var(--grey);font-size:15px;margin-top:2px}
.genres{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 32px}
/* Tags are info, not actions: small rounded pills, no border, neutral fill. Buttons stay square with a solid fill or outline. */
.genres span,.tags span{font-size:13px;font-weight:500;line-height:1;background:var(--paper);color:var(--grey);border-radius:999px;padding:7px 12px;cursor:default}
.on-black{background:var(--black);color:var(--white)}
.on-black .intro{color:var(--dark-text)}
.on-black .label{color:var(--lime)}
.on-black .genres span,.on-black .tags span{background:var(--tile-dark);color:var(--dark-text)}

.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px}
details{border-bottom:1px solid var(--rule)}
details:first-child{border-top:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px;transition:color .18s}
summary:hover{color:var(--green)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--green);font-size:24px;line-height:1}
details[open] summary::after{content:"−"}
details p{color:var(--grey);padding-bottom:20px;max-width:62ch}
@media (max-width:900px){.faq{grid-template-columns:1fr;gap:20px}}

/* Christmas calendar */
.xmas-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.cal{border:1px solid var(--rule);border-radius:6px;padding:22px}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.cal-head h3{font-size:26px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-grid .dow{font:600 12px var(--body);color:var(--grey);text-align:center;padding-bottom:4px}
.day-btn{aspect-ratio:1;border:1px solid var(--rule);border-radius:var(--r);background:var(--white);font:600 15px var(--head);cursor:pointer;position:relative;color:var(--black);transition:all .18s;min-width:0}
.day-btn:hover{background:var(--green);border-color:var(--green);color:var(--white);transform:scale(1.06)}
.day-btn.few::after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1px var(--green)}
.day-btn.booked{background:var(--paper);color:var(--booked);text-decoration:line-through;cursor:not-allowed}
.day-btn.booked:hover{transform:none;background:var(--paper);border-color:var(--rule);color:var(--booked)}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--grey)}
.legend span{display:flex;gap:6px;align-items:center}
.legend i{width:12px;height:12px;border-radius:3px;border:1px solid var(--rule);display:inline-block}
.legend i.f{background:var(--lime);border-color:var(--green)}
.legend i.b{background:var(--paper)}
.reasons{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:0}
.reasons li{padding:14px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:26px 1fr;gap:14px;align-items:center}
.reasons li::before{width:26px;height:26px;margin-top:0}
.suggest{margin-top:24px;background:var(--paper);border-radius:6px;padding:22px;display:grid;gap:10px}
@media (max-width:900px){.xmas-grid{grid-template-columns:1fr}}
.cal[hidden]{display:none}
.xmas-grid:has(> .cal[hidden]){grid-template-columns:minmax(0,760px)}

/* DJs */
.djs-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.dj{display:grid;gap:16px;align-content:start}
.dj .photo{aspect-ratio:4/3}
.dj .role{font:600 13px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--lime)}
.dj h3{font-size:32px}
.dj p{color:var(--dark-text)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.player{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--tile-dark);border-radius:6px;padding:12px 14px}
.play{width:44px;height:44px;border-radius:50%;border:0;background:var(--lime);color:var(--black);cursor:pointer;display:grid;place-items:center;transition:background .18s,transform .18s}
.play:hover{background:var(--green);color:var(--white);transform:scale(1.08)}
.play svg{width:18px;height:18px;fill:currentColor}
.wave{display:flex;gap:2px;align-items:center;height:34px;min-width:0;overflow:hidden}
.wave i{flex:1;min-width:2px;background:var(--dark-rule);border-radius:1px;transition:background .2s}
.wave i.done{background:var(--lime)}
.player.playing .wave i.done{animation:pulse .6s ease-in-out infinite alternate}
@keyframes pulse{to{opacity:.55}}
.player .meta{font-size:13px;color:var(--dark-text);text-align:right;white-space:nowrap}
.player .meta b{display:block;color:var(--white);font-weight:600}
.guests{margin-top:36px;padding-top:20px;border-top:1px solid var(--dark-rule);color:var(--dark-text)}
.guests b{color:var(--white)}
.radio{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--dark-rule);border-radius:6px;padding:16px 18px}
.radio .live{display:flex;gap:8px;align-items:center;font:700 12px var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--black);background:var(--lime);padding:6px 10px;border-radius:999px}
.radio .live i{width:7px;height:7px;border-radius:50%;background:var(--black);animation:blink 1.2s infinite}
@keyframes blink{50%{opacity:.2}}
.radio p{flex:1;min-width:200px;color:var(--dark-text)}
.radio p b{color:var(--white)}
@media (max-width:760px){.djs-grid{grid-template-columns:1fr}}
.platforms{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--black)}
.plat{padding:26px 32px 26px 0}
.plat + .plat{border-left:1px solid var(--rule);padding-left:32px}
.plat h3{margin-bottom:8px}
.plat p{color:var(--grey);margin-bottom:14px}
@media (max-width:760px){.platforms{grid-template-columns:1fr}.plat + .plat{border-left:0;border-top:1px solid var(--rule);padding-left:0}}

/* Contact: multi-step quote */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.direct{margin-top:28px;display:grid}
.direct div{border-top:1px solid var(--rule);padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}
.direct small{display:block;color:var(--grey);font-size:13px}
.direct b{font-weight:600;font-size:18px;user-select:all;word-break:break-all}
.copy{background:none;border:1px solid var(--rule);color:var(--black);border-radius:var(--r);padding:7px 11px;font:500 13px var(--body);cursor:pointer;flex-shrink:0;transition:all .18s}
.copy:hover{border-color:var(--green);background:var(--green);color:var(--white)}
.social-row{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.social-row a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--rule);border-radius:var(--r);padding:9px 12px;transition:all .18s}
.social-row a:hover{border-color:var(--green);background:var(--green);color:var(--white)}
.social-row svg{width:18px;height:18px}
.mini-review{margin-top:28px;background:var(--paper);border-radius:6px;padding:20px;display:grid;gap:8px}
.mini-review blockquote{margin:0;font:600 19px/1.3 var(--head)}
.mini-review small{color:var(--grey)}
.wizard{background:var(--paper);border-radius:6px;padding:30px}
.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}
.progress div{font:600 13px var(--body);color:var(--grey);display:grid;gap:8px}
.progress div::before{content:"";height:4px;border-radius:2px;background:var(--rule);transition:background .3s}
.progress div.done{color:var(--black)}
.progress div.done::before{background:var(--green)}
.step[hidden]{display:none}
.step h3{font-size:28px;margin-bottom:6px}
.step > p{color:var(--grey);margin-bottom:20px}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.type-card{text-align:left;background:var(--white);border:1px solid var(--rule);border-radius:6px;padding:16px;cursor:pointer;font:inherit;color:var(--black);display:grid;gap:4px;transition:all .2s}
.type-card b{font:600 18px var(--head)}
.type-card small{color:var(--grey);font-size:13px;line-height:1.35}
.type-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 10px 22px rgba(11,11,13,.08)}
.type-card[aria-pressed="true"]{border-color:var(--green);background:var(--green);color:var(--white)}
.type-card[aria-pressed="true"] small{color:var(--on-green-soft)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
label{font-size:14px;font-weight:600}
input,select,textarea{font:400 16px var(--body);color:var(--black);background:var(--white);border:1px solid #45474c;border-radius:var(--r);padding:12px 13px;width:100%}
input:hover,select:hover,textarea:hover{border-color:var(--green)}
input:focus,select:focus,textarea:focus{border-color:var(--green);outline:2px solid var(--green);outline-offset:-1px}
textarea{min-height:96px;resize:vertical}
.step-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.form-msg{font-size:14px;color:#a33a1a;margin-top:12px;min-height:1em}
.done-box{text-align:center;padding:24px 8px;display:grid;gap:12px;justify-items:center}
.done-box .tick{width:64px;height:64px;border-radius:50%;background:var(--green);position:relative}
.done-box .tick::after{content:"";position:absolute;left:24px;top:14px;width:13px;height:26px;border:solid var(--white);border-width:0 4px 4px 0;transform:rotate(45deg)}
.summary{font-size:15px;color:var(--grey)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:36px}}
@media (max-width:600px){.type-grid{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.wizard{padding:20px}}

footer{background:var(--black);color:var(--dark-text);font-size:14px;padding-block:48px}
footer .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
footer img{height:44px;width:auto;margin-bottom:16px}
footer h4{font:600 14px var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}
footer a:hover{color:var(--lime)}
footer .legal{grid-column:1/-1;border-top:1px solid var(--dark-rule);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
@media (max-width:860px){footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .wrap{grid-template-columns:1fr}}

.wa-float{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;width:56px;height:56px;border-radius:50%;background:var(--green);color:var(--white);display:grid;place-items:center;box-shadow:0 10px 24px rgba(11,11,13,.25);transition:transform .2s,background .2s}
.wa-float:hover{transform:scale(1.08);background:var(--green-dark)}
.wa-float svg{width:28px;height:28px}
.mobile-bar{display:none}
@media (max-width:900px){
  .wa-float{display:none}
  .mobile-bar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--white);border-top:1px solid var(--rule);padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
  .mobile-bar .btn{flex:1;padding:14px}
  body{padding-bottom:70px}
}
@media (prefers-reduced-motion:reduce){
  .marquee .track,.radio .live i,.player.playing .wave i.done{animation:none}
  .zoom img,.ig-post img,.reel img,.planning a{transition:none}
}

/* ===== Glow concept: softer, warmer, more alive. Gradients come from the logo star (lime #CCFC0C → #ADFD48) into brand green #4A9600. ===== */
:root{
  --grad:linear-gradient(120deg,#e4ff5c 0%,#c6fc18 30%,#8fd400 65%,#4a9600 100%);
  --grad-soft:linear-gradient(135deg,rgba(198,252,24,.16),rgba(74,150,0,.08));
  --ink-on-grad:#0b0b0d; --glass:rgba(20,26,22,.72); --glass-line:rgba(255,255,255,.09);
  --r:12px; --R:24px;
}
body{background:
  radial-gradient(1100px 620px at 92% -8%,rgba(198,252,24,.11),transparent 62%),
  radial-gradient(900px 700px at -12% 28%,rgba(74,150,0,.16),transparent 62%),
  radial-gradient(800px 600px at 60% 110%,rgba(74,150,0,.10),transparent 60%),
  #0b0d0c;background-attachment:fixed}
header.top{background:rgba(11,13,12,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--glass-line)}
.announce{background:var(--grad);color:var(--ink-on-grad)}
.announce a{color:var(--ink-on-grad);text-decoration:underline;text-underline-offset:3px}
.announce .wrap > span::before{background:var(--ink-on-grad)}

/* Buttons: gradient fill, soft lift and glow on hover */
.btn{border-radius:var(--r);border:0;padding:16px 24px;background:var(--grad);background-size:160% 100%;background-position:0 0;color:var(--ink-on-grad);transition:transform .2s,box-shadow .25s,background-position .4s}
.btn.line{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.btn:hover,.btn.line:hover,.on-black .btn.line:hover{background:var(--grad);background-position:100% 0;color:var(--ink-on-grad);transform:translateY(-2px);box-shadow:0 10px 30px rgba(143,212,0,.35)}
.on-black .btn.line{color:var(--black);box-shadow:inset 0 0 0 1.5px rgba(11,11,13,.3)}
.top .btn{padding:12px 18px}
.menu-btn{border-radius:var(--r)}
.lang{border-radius:999px;border-color:var(--glass-line)}
.lang button[aria-pressed="true"]{background:var(--grad);color:var(--ink-on-grad)}
nav.main a:hover,nav.main a.on{color:#d7ff4a;border-color:#c6fc18}

/* Gradient type */
.hero h1 span,.num b,.rv-score b,.badge b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.label{color:#c6fc18}

/* Hero: ambient light + founders card */
html,body{overflow-x:clip}
.hero{position:relative;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:-1}
.hero::before{width:420px;height:420px;right:6%;top:40px;background:rgba(198,252,24,.20);animation:drift 14s ease-in-out infinite alternate}
.hero::after{width:360px;height:360px;left:-80px;top:260px;background:rgba(74,150,0,.28);animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(-60px,50px) scale(1.15)}}
.reel{border-radius:var(--R);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px var(--glass-line)}
.reel .badge{border-radius:16px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;box-shadow:none;border:1px solid var(--glass-line)}
.hello{position:absolute;top:14px;right:14px;display:flex;gap:10px;align-items:center;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-line);border-radius:999px;padding:6px 14px 6px 6px;color:#fff;font-size:13px;line-height:1.25;max-width:calc(100% - 28px)}
.hello img{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:50% 25%;box-shadow:0 0 0 2px #c6fc18}
.hello b{display:block;font-weight:700}
.hello span{color:#c9cdc4}
.reel .rec{border-radius:999px}
@media (max-width:520px){.hello{display:none}}

/* I'm planning a… : gradient panel, tiles with a light that follows the cursor */
.planning{background:var(--grad);border-radius:28px;padding:26px;box-shadow:0 24px 60px rgba(74,150,0,.25)}
.planning a{border-radius:18px;overflow:hidden;transform-style:preserve-3d}
.planning a::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(180px circle at var(--mx,50%) var(--my,50%),rgba(198,252,24,.35),transparent 70%)}
.planning a:hover::after{opacity:1}
.planning a:hover,.planning a:focus-visible{background:#0b0d0c;color:#fff;box-shadow:0 22px 40px rgba(11,11,13,.35)}
.planning a:hover small,.planning a:focus-visible small{color:#b9beb3}
.planning a:hover .ic,.planning a:focus-visible .ic{background:var(--grad);color:var(--ink-on-grad)}
.planning a:hover .go,.planning a:focus-visible .go{color:#c6fc18}
.planning .ic{border-radius:14px}

/* Easy booking strip (didactic) */
.easy{padding-block:clamp(56px,7vw,88px) 0}
.easy-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.easy-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.easy-steps::before{content:"";position:absolute;left:8%;right:8%;top:44px;height:2px;background:linear-gradient(90deg,transparent,#8fd400 15%,#c6fc18 50%,#8fd400 85%,transparent);opacity:.5}
.easy-steps li{position:relative;background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--R);padding:24px;display:grid;gap:10px;transition:transform .25s,border-color .25s}
.easy-steps li:hover{transform:translateY(-4px);border-color:rgba(198,252,24,.45)}
.easy-steps .bubble{width:44px;height:44px;border-radius:50%;background:var(--grad);color:var(--ink-on-grad);display:grid;place-items:center;font:700 18px var(--head);box-shadow:0 0 0 6px #0b0d0c}
.easy-steps b{font:600 21px/1.15 var(--head)}
.easy-steps span{color:#b3b8ae;font-size:15px}
@media (max-width:760px){.easy-steps{grid-template-columns:1fr}.easy-steps::before{display:none}}

/* Softer surfaces */
.numbers{background:transparent}
.numbers .row{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--R);padding:28px}
.marquee{border-top:0}
.photo,.service .photo,.case .photo,.dj .photo,.split .photo,.page-head .photo{border-radius:20px}
.service{transition:transform .25s}
.service:hover{transform:translateY(-4px)}
.service:hover h3{color:#d7ff4a}
.ig-post{border-radius:14px}
.ig-grid{gap:10px}
.ig-post::after{background:linear-gradient(135deg,rgba(198,252,24,0),rgba(74,150,0,0))}
.ig-post:hover::after{background:linear-gradient(135deg,rgba(198,252,24,.35),rgba(74,150,0,.45))}
.insta{background:transparent}
.insta .wrap{background:var(--glass);border:1px solid var(--glass-line);border-radius:28px;padding-block:32px}
.ig-avatar{box-shadow:0 0 0 3px #0b0d0c,0 0 0 5px #c6fc18}

/* Light islands instead of hard full-width bands */
.reviews,.on-black,.cta-band{margin-inline:max(10px,env(safe-area-inset-left,0px));border-radius:32px}
.reviews,.on-black{background:#f6f8f2}
.cta-band{background:var(--grad);color:var(--ink-on-grad);margin-block:24px}
.cta-band p{color:rgba(11,11,13,.72)}
.cta-band .btn{background:#0b0b0d;color:#fff}
.cta-band .btn:hover{background:#fff;color:#0b0b0d;box-shadow:0 10px 30px rgba(11,11,13,.25)}
.cta-band .btn.line{background:transparent;color:#0b0b0d;box-shadow:inset 0 0 0 1.5px rgba(11,11,13,.4)}
.rv-card{border-radius:var(--R);background:#fff;border-color:#e3e6dc;transition:transform .25s,box-shadow .25s}
.rv-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(11,11,13,.08)}
.rv-nav button.arr{border-radius:50%}
.rv-nav button.arr:hover{background:var(--grad);color:#0b0b0d;border-color:transparent}
.rv-dots button[aria-current="true"]{background:linear-gradient(90deg,#8fd400,#4a9600)}
.player,.radio,.tags span{border-radius:16px}
.play{background:var(--grad)}
.wizard,.cal,.suggest,.mini-review{border-radius:var(--R)}
.wizard{background:var(--glass);border:1px solid var(--glass-line)}
.type-card{border-radius:16px}
.type-card[aria-pressed="true"]{background:var(--grad);color:var(--ink-on-grad);border-color:transparent}
.type-card[aria-pressed="true"] small{color:rgba(11,11,13,.7)}
.progress div.done::before{background:var(--grad)}
input,select,textarea{border-radius:10px}
.day-btn{border-radius:12px}
.day-btn:hover{background:var(--grad);color:var(--ink-on-grad);border-color:transparent}
.chip{border-radius:999px}
.chip[aria-pressed="true"]{background:var(--grad);color:var(--ink-on-grad);border-color:transparent}
.wa-float{background:var(--grad);color:var(--ink-on-grad);box-shadow:0 10px 30px rgba(143,212,0,.4)}
.done-box .tick{background:var(--grad)}
footer{border-radius:32px 32px 0 0;margin-top:24px}
details{border-color:var(--glass-line)}

.reviews .rv-score b,.on-black .num b{background:linear-gradient(120deg,#7cc400,#4a9600);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Gentle reveal on scroll (content stays readable even before it animates) */
.js-reveal .reveal{opacity:.35;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js-reveal .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none}
  .js-reveal .reveal{opacity:1;transform:none;transition:none}
  .btn:hover,.service:hover,.easy-steps li:hover,.rv-card:hover{transform:none}
}
