/* about page */
.about-hero{background:var(--soft)}
.about-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:center;padding-top:72px;padding-bottom:56px}
.about-hero .lead{max-width:36rem}
.about-points{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;max-width:36rem}
.about-points li{position:relative;padding-left:36px;font-size:18px;line-height:1.45;color:#3E2A33}
.about-points li::before{content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.about-points strong{color:var(--ink)}
.about-stickers{position:relative;min-height:340px}
.ab-sticker{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:170px;height:170px;border-radius:50%;border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);font-weight:800;font-size:16px;text-align:center;line-height:1.1;animation:stickfloat 4s ease-in-out infinite}
.ab-sticker strong{font-family:'Fraunces',Georgia,serif;font-size:52px;font-weight:900;line-height:1}
.s-lime{background:var(--lime);top:0;left:10%;--r:-8deg}
.s-pink{background:var(--pink);top:90px;right:0;--r:7deg;animation-delay:-1.3s}
.s-ink{background:var(--ink);color:var(--lime);bottom:0;left:22%;--r:-3deg;animation-delay:-2.6s}
.s-ink strong{font-size:46px}
@keyframes stickfloat{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-10px)}}
.press{background:var(--ink);color:#fff}
.press .wave-top{display:block;width:100%;height:46px}
.press-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:88px}
.press-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blush)}
.press-card{background:#fff;color:var(--ink);border-radius:32px;padding:30px;box-shadow:0 10px 0 var(--pink);transform:rotate(-1deg);display:flex;flex-direction:column;gap:10px;margin-top:8px}
.press-meta{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.press-title{font-size:clamp(34px,4vw,52px);line-height:1}
.press-by{font-weight:700}
.about-vendors{display:flex;flex-direction:column;gap:12px;margin-top:10px;padding-top:22px;border-top:2px dashed rgba(26,16,20,.25);max-width:36rem}
.vendors-h{margin:0;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--ink)}
.logo-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:18px 36px}
.logo-row li{display:flex;align-items:center;justify-content:center}
.logo-row img{height:56px;width:auto;max-width:240px;object-fit:contain}
.clients-more{margin:0;font-size:15px;font-weight:700;color:var(--muted)}
.about-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media (max-width:860px){
  .about-hero-grid,.press-grid{grid-template-columns:1fr;gap:28px}
  .about-hero-grid{padding-top:48px}
  .about-stickers{min-height:260px;max-width:420px}
  .ab-sticker{width:130px;height:130px;font-size:14px}.ab-sticker strong{font-size:40px}.s-ink strong{font-size:36px}
  .s-pink{top:60px}
  .logo-row{gap:16px 28px}.logo-row img{height:44px}
}
@media (prefers-reduced-motion:reduce){.ab-sticker{animation:none;transform:rotate(var(--r))}}
.press-logo{margin:4px 0 6px}
.press-logo img{display:block;width:100%;max-width:460px;height:auto}
.press-video{display:flex;justify-content:center}
.press-video .instagram-media{border-radius:14px!important;box-shadow:0 12px 0 var(--lime)!important;overflow:hidden}
.press-video-fallback{display:block;padding:40px 24px;text-align:center;font-weight:800;color:var(--ink)}

/* wavy edge under the pink header */
.head-wave{display:block;width:100%;height:46px;margin-top:-1px}
.about-hero-grid{padding-top:40px}
/* colour fills: no white strips between sections */
.press .wave-top{background:var(--ink)}
.press .wave-top path{fill:#FFE4EA}
.site-footer .wave-top{background:var(--ink)}

/* FAQ */
.faq{background:#FFFFFF;position:relative}
.faq-wave{display:block;width:100%;height:46px;background:var(--ink)}
.faq-wrap{display:flex;flex-direction:column;gap:14px;padding-top:40px;padding-bottom:88px}
.faq-list{display:flex;flex-direction:column;gap:14px;margin-top:10px;max-width:860px}
.faq-item{background:#FFE4EA;border:2.5px solid #1A1014;border-radius:24px;box-shadow:0 4px 0 #1A1014;padding:0}
.faq-item:nth-child(3n+2){background:#F6FAC8}
.faq-item:nth-child(3n){background:#C3EBD3}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-family:'Fraunces',Georgia,serif;font-weight:900;font-size:21px;line-height:1.2}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';flex:none;width:34px;height:34px;border-radius:50%;background:#1A1014;color:#E4F229;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-size:22px;font-weight:800;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:focus-visible{outline:3px solid #1A1014;outline-offset:3px;border-radius:20px}
.faq-item p{margin:0;padding:0 22px 20px;font-size:17px;line-height:1.6}
.faq-item a{color:#C8174A;font-weight:700}
.site-footer .wave-top{background:#FFFFFF}
@media (max-width:600px){.faq-item summary{font-size:18px;padding:16px 18px}.faq-item p{padding:0 18px 18px;font-size:16px}}

/* six floating bubbles */
.about-stickers{min-height:600px}
.ab-sticker strong.sm{font-size:30px;margin-bottom:2px}
.s-lime{top:0;left:2%;right:auto;bottom:auto}
.s-pink{top:6%;right:0;left:auto;bottom:auto}
.s-ink{top:31%;left:6%;right:auto;bottom:auto}
.s-blush{background:var(--blush);top:37%;right:2%;--r:5deg;animation-delay:-.7s}
.s-mint{background:#C3EBD3;top:63%;left:0;--r:-6deg;animation-delay:-2s}
.s-white{background:#FFFFFF;top:70%;right:8%;--r:4deg;animation-delay:-3.2s}
@media (max-width:900px){.about-stickers{min-height:470px;max-width:420px;width:100%;margin:0 auto}.ab-sticker strong.sm{font-size:23px}}
@media (max-width:600px){.about-stickers{min-height:440px}}
/* bubbles: random layout each visit, draggable, Ontario Made logo */
.ab-sticker{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .35s ease}
.ab-sticker.dragging{cursor:grabbing;animation-play-state:paused;box-shadow:0 12px 0 var(--ink)}
.about-stickers.ab-wait .ab-sticker{opacity:0}
.s-white.s-logo{padding:9px}
.s-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;pointer-events:none}
.about-stickers{min-height:640px}
@media (max-width:900px){.about-stickers{min-height:480px}}
@media (max-width:600px){.about-stickers{min-height:460px}.ab-sticker{width:122px;height:122px;font-size:13px}.ab-sticker strong{font-size:37px}.ab-sticker strong.sm{font-size:21px}.s-ink strong{font-size:34px}}
/* less fat: baby blue */
.ab-sticker.s-ink{background:#C6E2F7;color:var(--ink)}
/* hover: bubbles pop and wiggle before you grab them */
@keyframes abwiggle{0%,100%{rotate:0deg}20%{rotate:-7deg}45%{rotate:6deg}70%{rotate:-3deg}}
@media (hover:hover){
  .ab-sticker{transition:opacity .35s ease,scale .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}
  .ab-sticker:hover{scale:1.08;box-shadow:0 10px 0 var(--ink);animation:stickfloat 4s ease-in-out infinite,abwiggle .6s ease-in-out}
  .ab-sticker.dragging{scale:1.12;box-shadow:0 14px 0 var(--ink)}
}
@media (hover:hover) and (prefers-reduced-motion:reduce){.ab-sticker:hover{animation:none}}
