/* Quincho Los Maitenes · landing v2 (elegante y festiva) */
:root{
  --green-950:#142a1b; --green-900:#1f3d27; --green-700:#2f5d3a; --green-500:#4f8a4f; --green-300:#9cc48f; --green-100:#e9f2e4;
  --wood-700:#7a4e2d; --wood-500:#a8754a; --wood-100:#f6eee3;
  --gold:#d9a441; --gold-soft:#f3dfae; --coral:#e9805f; --berry:#d46a7e; --sky:#8ec5d6;
  --cream:#fcf9f3; --ink:#23281f; --muted:#5f665a; --line:#e8e1d4;
  --wa:#25d366; --wa-dark:#128c4a; --busy:#d6d1c7; --fest:#f6e2bf; --high:#c4a574; --danger:#c45c4a;
  --radius:22px; --radius-sm:14px;
  --shadow-sm:0 2px 6px rgba(31,61,39,.06),0 6px 18px rgba(31,61,39,.06);
  --shadow:0 4px 10px rgba(31,61,39,.06),0 18px 40px rgba(31,61,39,.12);
  --shadow-lg:0 10px 20px rgba(31,61,39,.08),0 30px 60px rgba(31,61,39,.18);
  --font-head:"Fraunces",Georgia,serif; --font-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif; --font-script:"Caveat","Segoe Script",cursive;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-head);line-height:1.12;margin:0 0 .5em;color:var(--green-900);font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,9vw,4rem);color:#fff;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,6vw,2.6rem)}
h2 em,.brand em,.footer-brand em{font-style:italic;font-weight:500;color:var(--wood-500)}
h3{font-size:1.12rem}
a{color:var(--green-700)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.section{padding:76px 0;position:relative}
.section-alt{background:linear-gradient(180deg,var(--green-100),#f2f7ee)}
.section-wood{background:var(--wood-100)}
.section-dispo{background:radial-gradient(1200px 400px at 10% 0%,rgba(243,223,174,.35),transparent 60%),var(--cream)}
.section-head{margin-bottom:28px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:800;color:var(--wood-700);margin:0 0 .7em}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--coral))}
.muted{color:var(--muted)}

/* topbar */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:rgba(252,249,243,.82);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(232,225,212,.8)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--green-900);font-family:var(--font-head);font-weight:700;font-size:1.08rem}
.brand-mark{font-size:1.4rem;display:inline-block;transform-origin:50% 90%}
.brand:hover .brand-mark{animation:sway 1.2s var(--ease)}

/* buttons */
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 24px;border-radius:999px;font-weight:800;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;font-family:inherit;letter-spacing:.01em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s,color .25s,border-color .25s;-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0) scale(.97);box-shadow:var(--shadow-sm)}
.btn:focus-visible,.cal-day:focus-visible,.cal-nav:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn-shine::after{content:"";position:absolute;z-index:-1;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn-shine:hover::after{left:130%}
.btn .arrow{transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn:hover .wa-ico{animation:wiggle .6s ease}
.btn-primary{background:linear-gradient(135deg,#e2b04f,var(--wood-500));color:#fff;box-shadow:0 8px 22px rgba(168,117,74,.35)}
.btn-primary:hover{box-shadow:0 12px 30px rgba(168,117,74,.45)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:var(--green-900)}
.btn-wa{background:linear-gradient(135deg,#34e077,var(--wa));color:#053a1b;box-shadow:0 8px 22px rgba(37,211,102,.28)}
.btn-wa:hover{box-shadow:0 12px 30px rgba(37,211,102,.4)}
.btn-outline{background:#fff;color:var(--green-700);border-color:var(--green-700)}
.btn-outline:hover{background:var(--green-700);color:#fff}
.btn-sm{padding:8px 15px;font-size:.88rem;gap:6px;box-shadow:none}
.btn-block{width:100%}

/* hero */
.hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--green-950)}
.hero-bg{position:absolute;inset:-2%;background:url("img/hero.jpg") center/cover no-repeat;transform-origin:60% 40%;animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
.hero-overlay{position:absolute;inset:0;background:
  radial-gradient(120% 70% at 85% 0%,rgba(243,223,174,.28),transparent 55%),
  linear-gradient(180deg,rgba(20,42,27,.25) 0%,rgba(20,42,27,.35) 35%,rgba(20,42,27,.82) 72%,rgba(20,42,27,.96) 100%)}
.bunting{position:absolute;top:0;left:0;width:100%;height:46px;opacity:.9}
.bunting .flags path{transform-box:fill-box;transform-origin:50% 0;animation:flutter 3.5s ease-in-out infinite}
.bunting .flags path:nth-child(2n){animation-delay:-1.2s}.bunting .flags path:nth-child(3n){animation-delay:-2.1s}
.particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.particles i{position:absolute;bottom:-12px;width:var(--s,6px);height:var(--s,6px);border-radius:50%;background:var(--c,#fff3c9);opacity:0;filter:blur(.3px);box-shadow:0 0 10px var(--c,#fff3c9);animation:rise var(--t,14s) linear infinite;animation-delay:var(--dl,0s)}
.particles i.sq{border-radius:2px;box-shadow:none;filter:none}
.balloons{position:absolute;right:4%;top:14%;width:120px;height:220px;pointer-events:none}
.balloon{position:absolute;width:44px;height:54px;border-radius:50% 50% 48% 48%/55% 55% 45% 45%;opacity:.82;animation:float 7s ease-in-out infinite}
.balloon::before{content:"";position:absolute;top:10px;left:10px;width:10px;height:14px;border-radius:50%;background:rgba(255,255,255,.45);transform:rotate(25deg)}
.balloon::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:70px;background:linear-gradient(rgba(255,255,255,.55),transparent)}
.b1{left:0;top:30px;background:radial-gradient(circle at 35% 30%,#f7d98a,var(--gold))}
.b2{left:42px;top:0;width:50px;height:62px;background:radial-gradient(circle at 35% 30%,#f6b39b,var(--coral));animation-delay:-2.3s}
.b3{left:78px;top:46px;width:38px;height:47px;background:radial-gradient(circle at 35% 30%,#c4e2b6,var(--green-500));animation-delay:-4.1s}
.hero-content{position:relative;max-width:1120px;margin:0 auto;padding:110px 20px 64px;width:100%}
.hero .eyebrow{color:var(--gold-soft)}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.25);max-width:14ch}
.hero h1 .script{display:block;font-family:var(--font-script);font-weight:700;font-size:1.12em;line-height:1;color:var(--gold-soft);letter-spacing:0;margin-top:.08em;transform:rotate(-2deg);transform-origin:left}
.lead{font-size:1.1rem;max-width:38ch;opacity:.95;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 30px}
.hero-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:540px}
.hero-facts li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:12px 12px;display:flex;flex-direction:column;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-facts strong{font-family:var(--font-head);font-size:1.2rem;font-weight:700}
.hero-facts span{font-size:.76rem;opacity:.85;letter-spacing:.02em}
.scroll-cue{position:absolute;left:50%;bottom:14px;width:24px;height:38px;margin-left:-12px;border:2px solid rgba(255,255,255,.6);border-radius:14px;display:none}
.scroll-cue span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s ease-in-out infinite}
.hero-in{opacity:0;transform:translateY(18px);animation:heroIn .9s var(--ease) forwards;animation-delay:var(--d,0s)}

/* services */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0 0 30px}
.service{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.service::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,var(--gold),var(--coral),var(--green-500));opacity:0;transition:opacity .35s}
.service:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.service:hover::before{opacity:1}
.service .ico{width:48px;height:48px;display:grid;place-items:center;font-size:1.6rem;margin-bottom:10px;border-radius:16px;background:linear-gradient(135deg,var(--wood-100),var(--gold-soft));transition:transform .4s var(--ease)}
.service:hover .ico{transform:rotate(-8deg) scale(1.08)}
.service:nth-child(3n+2) .ico{background:linear-gradient(135deg,var(--green-100),#d4e8ca)}
.service:nth-child(3n) .ico{background:linear-gradient(135deg,#fde8df,#f8d2c2)}
.service h3{margin-bottom:.3em}
.service p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}
.gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 14px;margin:0 -20px;scrollbar-width:thin}
.gallery figure{position:relative;margin:0;flex:0 0 72%;scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;background:var(--green-100);box-shadow:var(--shadow-sm)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery figure:hover img{transform:scale(1.06)}
.gallery figcaption{position:absolute;left:12px;bottom:12px;padding:5px 12px;border-radius:999px;background:rgba(252,249,243,.92);color:var(--green-900);font-weight:800;font-size:.8rem}
.callout{display:flex;gap:14px;align-items:center;margin-top:26px;background:linear-gradient(120deg,#fff7e6,var(--wood-100));border:1px solid var(--gold-soft);padding:18px;border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.callout-ico{flex:0 0 auto;font-size:1.7rem;width:52px;height:52px;display:grid;place-items:center;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);animation:bob 3s ease-in-out infinite}
.callout p{margin:0}

/* prices */
.price-grid{display:grid;gap:18px}
.price-card{position:relative;background:#fff;border-radius:var(--radius);padding:24px 20px 20px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.price-card h3{font-size:1.35rem;margin:0}
.season-sub{margin:.2em 0 14px;color:var(--muted);font-size:.9rem}
.price-card dl{margin:0;display:grid;gap:10px}
.price-card dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--cream);border:1px solid var(--line)}
.price-card dt{font-weight:700;font-size:.93rem;line-height:1.3}
.price-card dd{margin:0;font-family:var(--font-head);font-weight:700;font-size:1.35rem;color:var(--green-900);white-space:nowrap}
.price-card-high{background:linear-gradient(160deg,#fffaf0,#fff)}
.price-card-high::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,var(--gold),var(--wood-500),var(--gold-soft));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.price-card-high dd{color:var(--wood-700)}
.badge-now{display:none;position:absolute;top:-12px;right:18px;padding:5px 12px;border-radius:999px;background:linear-gradient(135deg,var(--green-500),var(--green-700));color:#fff;font-size:.74rem;font-weight:800;letter-spacing:.04em;box-shadow:0 6px 14px rgba(47,93,58,.3)}
.price-card.is-now{border-color:var(--green-300);box-shadow:var(--shadow)}
.price-card.is-now .badge-now{display:inline-block}
.note{margin:22px 0 0;font-size:.95rem;background:#fff;border:1.5px dashed var(--gold);border-radius:var(--radius-sm);padding:14px 16px}

/* calendar */
.grid-2{display:grid;gap:44px}
.calendar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 16px 16px;border:1px solid var(--line);position:relative}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-head h3{margin:0;text-transform:capitalize;font-size:1.3rem;font-style:italic;font-weight:500}
.cal-nav{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--cream);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--green-900);transition:background .2s,color .2s,transform .2s var(--ease)}
.cal-nav:hover:not(:disabled){background:var(--green-700);color:#fff;transform:scale(1.06)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-dow span{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);padding:4px 0;letter-spacing:.06em;text-transform:uppercase}
.cal-dow span:nth-child(n+5){color:var(--wood-700)}
.cal-grid.anim .cal-day{animation:dayIn .4s var(--ease) both;animation-delay:calc(var(--n,0) * 12ms)}
.cal-day{position:relative;aspect-ratio:1;border:0;border-radius:12px;background:var(--green-100);color:var(--green-900);font:700 .95rem var(--font-body);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),background .2s,color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.cal-day:hover:not(:disabled):not(.busy){background:var(--green-500);color:#fff;transform:translateY(-2px);box-shadow:0 6px 12px rgba(47,93,58,.25)}
.cal-day:active:not(:disabled){transform:scale(.94)}
.cal-day.fest{background:var(--fest)}
.cal-day.high::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--high)}
.cal-day.busy{background:repeating-linear-gradient(135deg,var(--busy) 0 5px,#e2ddd3 5px 10px);color:#7b766c;text-decoration:line-through;cursor:not-allowed}
.cal-day.past{background:transparent;color:#c9c4ba;cursor:default}
.cal-day.today{box-shadow:inset 0 0 0 2px var(--gold)}
.cal-day.sel{background:linear-gradient(135deg,var(--green-500),var(--green-700))!important;color:#fff!important;transform:scale(1.08);box-shadow:0 8px 18px rgba(47,93,58,.35);z-index:1;animation:selPulse 1.8s ease-out infinite}
.cal-day.sel.busy{background:var(--busy)!important;color:#7b766c!important;animation:none;transform:none;box-shadow:none}
.cal-empty{aspect-ratio:1}
.legend{list-style:none;padding:12px 0 0;margin:14px 0 0;border-top:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.8rem;color:var(--muted)}
.dot{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.dot-free{background:var(--green-100);border:1px solid #c9dcc0}.dot-fest{background:var(--fest)}.dot-busy{background:var(--busy)}.dot-high{background:var(--high);border-radius:50%;width:8px;height:8px}
.selected{margin-top:16px;background:#fff;border-radius:var(--radius);padding:16px 18px;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:box-shadow .3s}
.selected.pop{animation:pop .5s var(--ease)}
.selected.has-date{border-color:var(--gold-soft);background:linear-gradient(140deg,#fffaf0,#fff)}
.selected p{margin:0}
.selected .price{font-family:var(--font-head);font-size:2.1rem;font-weight:700;color:var(--green-700);margin:2px 0;letter-spacing:-.01em}
.selected .tag{display:inline-block;font-size:.74rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--wood-100);color:var(--wood-700);margin:0 6px 6px 0}
.selected .tag.busy{background:#eee;color:#777}

/* confetti */
.confetti{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:50}
.confetti i{position:absolute;left:0;top:0;width:8px;height:12px;border-radius:2px;opacity:0;animation:burst 1.1s cubic-bezier(.15,.7,.3,1) forwards}

/* form */
.form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 20px;border:1px solid var(--line)}
.field{margin-bottom:16px;display:flex;flex-direction:column}
label{font-weight:700;margin-bottom:6px;font-size:.95rem}
input,textarea{font:inherit;padding:13px 15px;border:1.5px solid var(--line);border-radius:14px;background:var(--cream);color:var(--ink);width:100%;transition:border-color .2s,box-shadow .2s,background .2s}
input:focus,textarea:focus{border-color:var(--green-500);background:#fff;box-shadow:0 0 0 4px rgba(79,138,79,.14);outline:none}
input[aria-invalid="true"]{border-color:var(--danger);background:#fff5f2}
.hint{color:var(--muted);margin-top:4px}
.err{color:#b4382a;font-weight:700;margin-top:4px;min-height:0}
.err:empty{display:none}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 18px;background:linear-gradient(135deg,var(--green-100),#f3f8ef);border:1px solid #d4e6cb;border-radius:var(--radius-sm);padding:14px 16px;animation:pop .45s var(--ease)}
.summary span{display:block;font-size:.78rem;color:var(--muted)}
.summary strong{font-size:1.05rem;color:var(--green-900)}
.summary #s-price{font-family:var(--font-head);font-size:1.35rem}
.fine{font-size:.82rem;color:var(--muted);margin:12px 0 0}

/* contact */
.info{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.info li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.6);border-radius:var(--radius-sm);padding:10px 14px}
.contact-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 20px;display:grid;gap:12px;align-content:start;border:1px solid var(--line)}
.contact-card h3{margin:0 0 4px;font-size:1.3rem}
.socials{display:flex;flex-wrap:wrap;gap:16px;font-weight:700;font-size:.92rem;margin-top:4px}

.footer{text-align:center;padding:36px 20px 96px;background:var(--green-950);color:#cddbc6;font-size:.88rem;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--coral),var(--green-500),var(--gold))}
.footer p{margin:.2em 0}
.footer-brand{font-family:var(--font-head);font-size:1.3rem;color:#fff}
.footer-brand em{color:var(--gold-soft)}
.fab{position:fixed;right:16px;bottom:16px;z-index:30;background:linear-gradient(135deg,#34e077,var(--wa));color:#053a1b;font-weight:800;text-decoration:none;padding:15px 22px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .25s var(--ease)}
.fab::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(37,211,102,.55);animation:ring 2.6s ease-out infinite}
.fab:active{transform:scale(.95)}

/* reveal on scroll (solo con JS) */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* keyframes */
@keyframes kenburns{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.16) translate(-2%,-1.5%)}}
@keyframes heroIn{to{opacity:1;transform:none}}
@keyframes rise{0%{transform:translate(0,0);opacity:0}10%{opacity:var(--o,.7)}85%{opacity:var(--o,.7)}100%{transform:translate(var(--x,20px),-95vh) rotate(260deg);opacity:0}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(3deg)}}
@keyframes flutter{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}
@keyframes sway{0%,100%{transform:rotate(0)}30%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}50%{transform:rotate(12deg)}75%{transform:rotate(-6deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@keyframes dayIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes selPulse{0%{box-shadow:0 8px 18px rgba(47,93,58,.35),0 0 0 0 rgba(217,164,65,.6)}70%{box-shadow:0 8px 18px rgba(47,93,58,.35),0 0 0 10px rgba(217,164,65,0)}100%{box-shadow:0 8px 18px rgba(47,93,58,.35),0 0 0 0 rgba(217,164,65,0)}}
@keyframes pop{0%{transform:scale(.97);opacity:.6}60%{transform:scale(1.01);opacity:1}100%{transform:none}}
@keyframes burst{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%,100%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}

@media (min-width:720px){
  .services{grid-template-columns:repeat(4,1fr)}
  .gallery figure{flex-basis:30%}
  .hero{min-height:86vh}
  .price-grid{grid-template-columns:1fr 1fr}
  .balloons{right:8%;top:18%;transform:scale(1.3)}
  .scroll-cue{display:block}
}
@media (min-width:960px){
  .grid-2{grid-template-columns:1.1fr 1fr;align-items:start}
  .fab{display:none}
  .footer{padding-bottom:36px}
  .section{padding:96px 0}
}
@media (max-width:480px){
  .balloons{transform:scale(.7);transform-origin:top right;right:2%;top:9%;opacity:.85}
  .price-card dd{font-size:1.2rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-in{opacity:1;transform:none}
  .js [data-reveal]{opacity:1;transform:none}
  .particles,.confetti{display:none}
  .cal-day.sel{transform:none}
}
