
/* Layout: a sticker-book. Ombre bands with stripes, checkers and gingham; photos sit in arches, stamps and polaroids you can push around. Single light look on purpose (pastels). */
:root{
  color-scheme:light;
  --latte:#FBF5EC; --paper:#FFFFFF; --ink:#2F3A75; --ink-soft:#5B6496;
  --cherry:#E46F94; --on-cherry:#FFFFFF; --pink:#F7B6C9; --pink-soft:#FBD6E0;
  --butter:#FED57D; --sky:#98C1E9; --rainy:#B3DFEB; --ballet:#FDD0D0; --milk:#FCEDED;
  --wisteria:#E6E3F7; --candle:#E6C3F2; --seafoam:#E7F5F9; --clover:#5BA881; --matcha:#9CA362; --apricot:#F0A351;
  --line:rgba(47,58,117,.16); --shadow:0 12px 26px -14px rgba(47,58,117,.45);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .18  0 0 0 0 .2  0 0 0 0 .35  .55 0 0 0 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --f-display:"Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif; --w-display:700;
  --f-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-hand:"Gaegu", "Segoe Print", "Bradley Hand", cursive; --hand-size:1.3em;
}
html[data-font="retro"]{--f-display:"Bagel Fat One", "Cooper Black", Georgia, serif; --w-display:400; --f-body:"DM Sans", system-ui, sans-serif; --f-hand:"Caveat", "Segoe Print", cursive; --hand-size:1.2em}
html[data-font="serif"]{--f-display:"Instrument Serif", "Didot", Georgia, serif; --w-display:400; --f-body:"Outfit", system-ui, sans-serif; --f-hand:"Pinyon Script", "Snell Roundhand", cursive; --hand-size:1.35em}
html[data-font="chewy"]{--f-display:"Chewy", "Comic Sans MS", system-ui, sans-serif; --w-display:400; --f-body:"Quicksand", system-ui, sans-serif; --f-hand:"Gaegu", "Segoe Print", cursive; --hand-size:1.3em}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--latte); color:var(--ink); font:500 1.0625rem/1.6 var(--f-body); overflow-x:hidden; -webkit-font-smoothing:antialiased; text-transform:lowercase}
input,textarea,pre{text-transform:none}
.up{text-transform:uppercase; letter-spacing:.02em}
img,video{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display); font-weight:var(--w-display); line-height:1.04; margin:0; text-wrap:balance}
h1{font-size:clamp(2.7rem,7.4vw,5.6rem)}
h2{font-size:clamp(2.1rem,4.8vw,3.6rem)}
h3{font-size:1.5rem}
html[data-font="serif"] h1{font-size:clamp(3.1rem,8.4vw,6.4rem)} html[data-font="serif"] h2{font-size:clamp(2.4rem,5.4vw,4.1rem)} html[data-font="serif"] h3{font-size:1.75rem}
p{margin:0}
.hand{font-family:var(--f-hand); font-weight:700; font-size:var(--hand-size); color:var(--cherry); line-height:1}
.eyebrow{font:800 .9rem/1.2 var(--f-body); letter-spacing:.04em; color:var(--ink-soft)}
.wrap{max-width:1180px; margin:0 auto; padding-left:max(16px, env(safe-area-inset-left,0px)); padding-right:max(16px, env(safe-area-inset-right,0px)); position:relative; z-index:1}
.row{display:flex; flex-wrap:wrap; gap:12px; align-items:center}

/* bands + textures */
.band{position:relative; padding-block:clamp(60px,8vw,108px); background:var(--bg, var(--latte))}
.band::before{content:""; position:absolute; inset:0; background-image:var(--noise); opacity:.9; pointer-events:none; z-index:0; mix-blend-mode:multiply}
.t-dots{background-image:radial-gradient(rgba(255,255,255,.6) 2.6px, transparent 3.2px), var(--grad, none); background-size:24px 24px, auto}
.t-cabana{background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.42) 0 30px, transparent 30px 60px), var(--grad, none)}
.t-gingham{background-color:var(--milk); background-image:linear-gradient(90deg, rgba(210,53,58,.14) 50%, transparent 0), linear-gradient(rgba(210,53,58,.14) 50%, transparent 0); background-size:40px 40px}
.t-gingham-green{background-color:#EEF6EA; background-image:linear-gradient(90deg, rgba(91,168,129,.16) 50%, transparent 0), linear-gradient(rgba(91,168,129,.16) 50%, transparent 0); background-size:40px 40px}
.t-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:28px 28px}
.checker{height:24px; background:conic-gradient(var(--pink) 25%, var(--butter) 0 50%, var(--pink) 0 75%, var(--butter) 0) 0 0/24px 24px}
.checker.green{background:conic-gradient(var(--clover) 25%, #F4F9E9 0 50%, var(--clover) 0 75%, #F4F9E9 0) 0 0/24px 24px}
.checker.blue{background:conic-gradient(var(--sky) 25%, var(--paper) 0 50%, var(--sky) 0 75%, var(--paper) 0) 0 0/24px 24px}
.wave-top{position:relative}
.scallop::after{content:""; position:absolute; left:0; right:0; top:100%; height:16px; z-index:3; background:radial-gradient(circle at 16px 0, var(--edge) 15.5px, transparent 16px) 0 0/32px 16px repeat-x}

/* buttons, stickers */
.btn{display:inline-flex; align-items:center; gap:.55em; padding:.85em 1.4em; border-radius:999px; font:800 1rem/1 var(--f-body); text-decoration:none; border:2.5px solid var(--ink); cursor:pointer; box-shadow:3px 3px 0 var(--ink); transition:transform .15s, box-shadow .15s; background:var(--paper); color:var(--ink)}
.btn-cherry{background:var(--pink); color:var(--ink)}
.btn:hover{transform:translate(-2px,-2px) rotate(-1.5deg); box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(2px,2px); box-shadow:1px 1px 0 var(--ink)}
:focus-visible{outline:3px dashed var(--cherry); outline-offset:3px}
.chip{display:inline-flex; align-items:center; gap:.4em; padding:.5em 1em; border-radius:999px; background:var(--paper); border:2px solid var(--ink); font:800 .9rem/1.1 var(--f-body); box-shadow:2px 2px 0 var(--ink)}
.chip:nth-child(3n+1){background:var(--butter)} .chip:nth-child(3n+2){background:var(--ballet)} .chip:nth-child(3n){background:var(--rainy)}
.stamp{--r:7px; background:var(--paper); padding:12px; -webkit-mask:radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(-1*var(--r)) calc(-1*var(--r)) / calc(2*var(--r)) calc(2*var(--r)), linear-gradient(#000 0 0) content-box; mask:radial-gradient(var(--r) at var(--r) var(--r), #0000 97%, #000) calc(-1*var(--r)) calc(-1*var(--r)) / calc(2*var(--r)) calc(2*var(--r)), linear-gradient(#000 0 0) content-box}
.photo{border-radius:22px; overflow:hidden; border:5px solid var(--paper); box-shadow:var(--shadow)}
.photo img{width:100%; height:100%; object-fit:cover}
.photo img, .pol img, .car-item img, .lb img{filter:brightness(1.06) saturate(1.18) contrast(1.03)}

/* draggable things */
.drag{--dx:0px; --dy:0px; --rot:0deg; --s:1; transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(var(--s)); transition:transform .25s cubic-bezier(.3,1.6,.5,1); cursor:grab; user-select:none; -webkit-user-drag:none}
.drag img{pointer-events:none; -webkit-user-drag:none}
.drag:hover{--s:1.04}
.drag.dragging{--s:1.08; transition:none; cursor:grabbing; filter:drop-shadow(0 18px 18px rgba(47,58,117,.3))}
.drag.touch{touch-action:none}
.trail{position:fixed; width:16px; height:16px; pointer-events:none; z-index:999; transform:translate(-50%,-50%); animation:trail .8s ease-out forwards}
.trail svg{width:100%; height:100%}
@keyframes trail{to{opacity:0; transform:translate(-50%,14px) scale(.2) rotate(120deg)}}
.trail.scrap{animation:scrap 1.3s cubic-bezier(.3,.7,.4,1) forwards; filter:drop-shadow(0 3px 3px rgba(47,58,117,.25))}
@keyframes scrap{0%{transform:translate(-50%,-50%) rotate(0) scale(.4)} 18%{transform:translate(-50%,-50%) rotate(var(--rr)) scale(1.1)} 70%{opacity:1} 100%{opacity:0; transform:translate(-50%,calc(-50% + var(--ry))) rotate(calc(var(--rr) * 1.6)) scale(.85)}}

/* header */
header.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:50; background:rgba(251,245,236,.92); backdrop-filter:blur(10px)}
.top-row{display:flex; align-items:center; gap:18px; padding-block:10px}
.logo img{height:48px; width:auto}
nav.main{display:flex; gap:4px; align-items:center; margin-left:12px}
nav.main a{text-decoration:none; font-weight:800; font-size:.95rem; padding:.45em .8em; border-radius:999px}
nav.main a:hover{background:var(--ballet)}
nav.main a[aria-current="page"]{background:var(--butter); box-shadow:inset 0 0 0 2px var(--ink)}
.top-actions{margin-left:auto; display:flex; gap:8px; align-items:center}
.icon-btn{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; border:2px solid var(--ink); background:var(--paper); color:var(--ink); text-decoration:none; font-size:1.1rem; transition:transform .15s}
.tab-art{position:relative; isolation:isolate; overflow:hidden}
.tab-art::before{content:""; position:absolute; inset:0; z-index:-1; background:var(--art) repeat 0 0/56px 34px; opacity:.5}
.tab-mw{--art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34' viewBox='0 0 56 34'%3E%3Cg transform='translate(3 3) rotate(-10)'%3E%3Cpath d='M2 5h9v3.5a4.5 4.5 0 0 1-9 0z' fill='%235BA881'/%3E%3Cpath d='M11 6a2 2 0 0 1 0 4' fill='none' stroke='%235BA881' stroke-width='1.2'/%3E%3C/g%3E%3Cg transform='translate(28 18) rotate(20)'%3E%3Cpath d='M0 5c2-5 7-5 9-4-1 4-5 7-9 4z' fill='%239CA362'/%3E%3C/g%3E%3Cg transform='translate(44 2) rotate(15)'%3E%3Cpath d='M1 0l1.6 9M2.2 0l.4 9M3.6 0l-1 9' stroke='%239CA362' stroke-width='.9' stroke-linecap='round'/%3E%3C/g%3E%3Cg transform='translate(36 21) rotate(8)'%3E%3Cpath d='M2 5h9v3.5a4.5 4.5 0 0 1-9 0z' fill='%235BA881'/%3E%3Cpath d='M11 6a2 2 0 0 1 0 4' fill='none' stroke='%235BA881' stroke-width='1.2'/%3E%3C/g%3E%3Cg transform='translate(14 22) rotate(-30)'%3E%3Cpath d='M0 5c2-5 7-5 9-4-1 4-5 7-9 4z' fill='%239CA362'/%3E%3C/g%3E%3C/svg%3E"); background:#EAF4E2} .tab-cw{--art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34' viewBox='0 0 56 34'%3E%3Cg transform='translate(3 4) rotate(-8)'%3E%3Crect x='0' y='5' width='12' height='5' rx='1' fill='%23F7A6B8'/%3E%3Crect x='2.5' y='1.5' width='7' height='3.5' rx='1' fill='%23E46F94'/%3E%3Ccircle cx='6' cy='.6' r='.9' fill='%23FED57D'/%3E%3C/g%3E%3Cg transform='translate(30 20) rotate(12)'%3E%3Cpath d='M4 7S0 4.6 0 2.3C0 .9 1 0 2.1 0c.9 0 1.5.5 1.9 1.1C4.4.5 5 0 5.9 0 7 0 8 .9 8 2.3 8 4.6 4 7 4 7z' fill='%23F7A6B8'/%3E%3C/g%3E%3Cg transform='translate(38 2) rotate(10)'%3E%3Crect x='0' y='5' width='12' height='5' rx='1' fill='%23F7A6B8'/%3E%3Crect x='2.5' y='1.5' width='7' height='3.5' rx='1' fill='%23E46F94'/%3E%3Ccircle cx='6' cy='.6' r='.9' fill='%23FED57D'/%3E%3C/g%3E%3Cg transform='translate(16 22) rotate(0)'%3E%3Cpath d='M4 0l1 2.8 3 .2-2.4 1.8.9 2.9L4 6 1.5 7.7l.9-2.9L0 3l3-.2z' fill='%23FED57D'/%3E%3C/g%3E%3Cg transform='translate(24 3) rotate(-15)'%3E%3Cpath d='M4 7S0 4.6 0 2.3C0 .9 1 0 2.1 0c.9 0 1.5.5 1.9 1.1C4.4.5 5 0 5.9 0 7 0 8 .9 8 2.3 8 4.6 4 7 4 7z' fill='%23F7A6B8'/%3E%3C/g%3E%3C/svg%3E"); background:#FDE8EE} .tab-cp{--art:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='34' viewBox='0 0 56 34'%3E%3Cg transform='translate(2 3) rotate(0)'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23E9B872'/%3E%3Ccircle cx='3.2' cy='3.6' r='.9' fill='%237A4B2A'/%3E%3Ccircle cx='6.4' cy='3' r='.8' fill='%237A4B2A'/%3E%3Ccircle cx='6' cy='6.6' r='1' fill='%237A4B2A'/%3E%3Ccircle cx='3.4' cy='6.8' r='.7' fill='%237A4B2A'/%3E%3C/g%3E%3Cg transform='translate(30 20) rotate(-10)'%3E%3Crect width='9' height='6' fill='%23F7A6B8' opacity='.7'/%3E%3Cpath d='M0 2h9M0 4h9M3 0v6M6 0v6' stroke='%23fff' stroke-width='.8'/%3E%3C/g%3E%3Cg transform='translate(40 6) rotate(0)'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23E9B872'/%3E%3Ccircle cx='3.2' cy='3.6' r='.9' fill='%237A4B2A'/%3E%3Ccircle cx='6.4' cy='3' r='.8' fill='%237A4B2A'/%3E%3Ccircle cx='6' cy='6.6' r='1' fill='%237A4B2A'/%3E%3Ccircle cx='3.4' cy='6.8' r='.7' fill='%237A4B2A'/%3E%3C/g%3E%3Cg transform='translate(17 22) rotate(15)'%3E%3Cpath d='M4 0l1 2.8 3 .2-2.4 1.8.9 2.9L4 6 1.5 7.7l.9-2.9L0 3l3-.2z' fill='%23FED57D'/%3E%3C/g%3E%3Cg transform='translate(22 14) rotate(0)'%3E%3Ccircle cx='5' cy='5' r='5' fill='%23E9B872'/%3E%3Ccircle cx='3.2' cy='3.6' r='.9' fill='%237A4B2A'/%3E%3Ccircle cx='6.4' cy='3' r='.8' fill='%237A4B2A'/%3E%3Ccircle cx='6' cy='6.6' r='1' fill='%237A4B2A'/%3E%3Ccircle cx='3.4' cy='6.8' r='.7' fill='%237A4B2A'/%3E%3C/g%3E%3C/svg%3E"); background:#FFF3D6}
nav.main a.tab-art{padding-right:.9em; box-shadow:inset 0 0 0 1.5px rgba(47,58,117,.18)}
.shortcuts a.tab-art{padding-right:.9em}
nav.main a.tab-art[aria-current="page"], .shortcuts a.tab-art[aria-current="page"]{box-shadow:inset 0 0 0 2px var(--ink)}
.ig-ev{position:relative; padding:0; overflow:visible; width:40px; height:40px; display:block}
.ig-ev img{display:block; width:100%; height:100%; object-fit:cover; border-radius:50%}
.ig-ev i{position:absolute; right:-3px; bottom:-3px; width:15px; height:15px; border-radius:50%; display:grid; place-items:center; font-size:.58rem; color:#fff; background:linear-gradient(45deg,#F8B74A,#E4405F 50%,#B33AB4); border:1.5px solid #fff}
.t-waves{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='44' viewBox='0 0 160 44'%3E%3Cpath d='M0 22c20-14 60-14 80 0s60 14 80 0' fill='none' stroke='white' stroke-opacity='.55' stroke-width='3'/%3E%3C/svg%3E"), var(--grad, none); background-size:160px 44px, auto}
button,select{text-transform:inherit} select{text-transform:none}
.icon-btn:hover{transform:rotate(-10deg) scale(1.08); background:var(--butter)}
.icon-btn.wa-ic{background:#DDF6E6}
.menu-btn{display:none; border:2px solid var(--ink); background:var(--butter); color:var(--ink); border-radius:999px; padding:.5em 1em; font:800 .92rem var(--f-body); cursor:pointer}
.shortcuts{display:none; overflow-x:auto; scrollbar-width:none; border-top:1px solid var(--line)}
.shortcuts::-webkit-scrollbar{display:none}
.shortcuts .wrap{display:flex; gap:8px; padding-block:8px; width:max-content}
.shortcuts a{text-decoration:none; white-space:nowrap; font-weight:800; font-size:.86rem; padding:.42em .9em; border-radius:999px; border:2px solid var(--ink); background:var(--paper)}
.shortcuts a[aria-current="page"]{background:var(--butter)}
@media (max-width:1100px){nav.main{display:none} .shortcuts{display:block} .menu-btn{display:inline-block}
  nav.main.open{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; background:var(--latte); padding:12px max(16px, env(safe-area-inset-right,0px)) 18px max(16px, env(safe-area-inset-left,0px)); border-bottom:2px solid var(--ink); margin:0}
  nav.main.open a{font-size:1.15rem; padding:.6em .8em}}
@media (max-width:560px){.top-actions .icon-btn.hide-sm{display:none} .top-actions .btn{display:none}}

/* hero */
.hero{--grad:linear-gradient(170deg, #F6B3C6 0%, #FBC9A6 35%, #FCD884 62%, #A9D3EE 100%); --edge:#A9D3EE}
.hero .wrap{display:grid; grid-template-columns:1fr 1.05fr; gap:40px; align-items:center}
.hero-copy{display:grid; gap:22px; min-width:0}
.hero h1 .script{font-family:var(--f-hand); font-weight:700; color:var(--cherry); font-size:1.12em; display:inline-block; transform:rotate(-3deg)}
.hero .lede{font-size:1.2rem; max-width:36ch}
.collage{position:relative; height:540px}
.pol{position:absolute; background:var(--paper); padding:10px 10px 42px; box-shadow:var(--shadow); border-radius:4px}
.pol img{width:100%; height:100%; object-fit:cover; border-radius:2px}
.pol figcaption{position:absolute; left:0; right:0; bottom:8px; text-align:center; font:700 1.35rem/1 var(--f-hand)}
.pol::before{content:""; position:absolute; top:-12px; left:50%; width:86px; height:24px; margin-left:-43px; background:rgba(152,193,233,.75); transform:rotate(-4deg)}
.c1{width:44%; height:62%; left:2%; top:4%; --rot:-6deg; z-index:2}
.c2{width:50%; height:44%; right:0; top:0; --rot:5deg; z-index:1}
.c3{width:50%; height:44%; right:6%; bottom:2%; --rot:-3deg; z-index:3}
.s1{position:absolute; left:6%; bottom:4%; width:30%; --rot:-10deg; z-index:4}
.s2{position:absolute; right:-1%; top:40%; width:96px; height:96px; --rot:12deg; z-index:5; border-radius:50%; background:var(--pink); color:var(--ink); display:grid; place-items:center; text-align:center; font:700 1.2rem/1 var(--f-hand); border:3px dashed #fff; box-shadow:0 0 0 3px var(--pink)}
.s3{position:absolute; left:40%; top:-10px; width:84px; --rot:8deg; z-index:5}
.drag-hint{font:700 1.3rem/1 var(--f-hand); color:var(--ink-soft); text-align:center; margin-top:8px}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr} .collage{height:auto; aspect-ratio:1/1.02; width:100%; max-width:520px; margin:0 auto}}

/* marquee */
.marquee{background:var(--ink); color:var(--latte); overflow:hidden; padding:34px 0 20px}
.marquee-track{display:flex; width:max-content; animation:slide 95s linear infinite}
.marquee span{font:var(--w-display) 1.5rem/1.2 var(--f-display); white-space:nowrap; padding-right:34px; word-spacing:.15em}
.marquee b{color:var(--butter); font-weight:400; padding:0 22px}
@keyframes slide{to{transform:translateX(-50%)}}

/* stats */
.stats{--bg:var(--latte)}
.stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:980px; margin:0 auto}
.stat{text-align:center; display:grid; gap:4px; padding:22px 12px}
.stat:nth-child(1){--c:var(--ballet)} .stat:nth-child(2){--c:var(--rainy)} .stat:nth-child(3){--c:var(--butter)} .stat:nth-child(4){--c:var(--candle)}
.stat.stamp{background:var(--c)}
.stat:nth-child(odd){transform:rotate(-2deg)} .stat:nth-child(even){transform:rotate(1.5deg)}
.stat strong{font:var(--w-display) clamp(2rem,3.8vw,2.9rem)/1 var(--f-display); font-variant-numeric:tabular-nums}
.stat > span{font-size:.92rem; font-weight:700; color:var(--ink-soft)}
.langs{margin-top:26px; text-align:center; font-weight:700}
@media (max-width:860px){.stat-grid{grid-template-columns:repeat(2,1fr)}}

/* section heads */
.head{display:grid; gap:12px; margin-bottom:38px; max-width:740px}
.head p{color:var(--ink-soft); font-size:1.1rem}
.head.center{margin-inline:auto; text-align:center; justify-items:center}

/* home events */
.ev-home{--grad:linear-gradient(180deg, var(--rainy) 0%, var(--wisteria) 55%, var(--milk) 100%); --edge:var(--milk)}
.ev-grid{display:grid; grid-template-columns:1.2fr 1fr; grid-template-rows:auto auto; gap:24px}
.ev-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:28px; padding:18px; display:grid; gap:14px; text-decoration:none; box-shadow:6px 6px 0 var(--ink); transition:transform .2s, box-shadow .2s; min-width:0}
.ev-card:hover{transform:translate(-3px,-3px) rotate(-.6deg); box-shadow:9px 9px 0 var(--ink)}
.ev-card .pic{aspect-ratio:4/3; border-radius:20px; border:0; box-shadow:none}
.ev-card.big{grid-row:span 2}
.ev-card.big .pic{aspect-ratio:auto; flex:1; min-height:340px}
.ev-card .meta{display:flex; justify-content:space-between; gap:10px; align-items:end; flex-wrap:wrap}
.ev-card .go{font:700 1.35rem/1 var(--f-hand); color:var(--cherry)}
.ev-card .tags{display:flex; flex-wrap:wrap; gap:8px}
.ev-card.big{background:linear-gradient(180deg, #EAF4FB, var(--paper))}
@media (max-width:820px){.ev-grid{grid-template-columns:1fr} .ev-card.big{grid-row:auto} .ev-card.big .pic{min-height:0; aspect-ratio:4/4.4}}
.soon-card{margin-top:28px; display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center; padding:30px; background:var(--butter); border:2.5px dashed var(--ink); border-radius:28px}
.soon-badge{width:112px; height:112px; flex:none; margin:6px; border-radius:50%; background:var(--pink); color:var(--ink); display:grid; place-items:center; text-align:center; font:700 1.5rem/1 var(--f-hand); border:3px dashed #fff; box-shadow:0 0 0 3px var(--pink)}
.logo-ph{margin-top:8px; width:min(320px,100%); aspect-ratio:3/1; border:2.5px dashed var(--ink-soft); border-radius:16px; background:var(--paper); display:grid; place-items:center; text-align:center; padding:8px; font:700 1.2rem/1.1 var(--f-hand); color:var(--ink-soft)}
.soon-card h3{font-size:clamp(1.6rem,3vw,2.4rem)}
@media (max-width:760px){.soon-card{grid-template-columns:1fr; text-align:center; justify-items:center}}

/* services teaser + full */
.svc-teaser{--bg:var(--latte)}
.svc-chips{display:flex; flex-wrap:wrap; gap:14px; justify-content:center}
.svc-chips a{text-decoration:none; font:var(--w-display) 1.25rem/1 var(--f-display); padding:.75em 1.2em; border-radius:999px; border:2.5px solid var(--ink); box-shadow:3px 3px 0 var(--ink); transition:transform .2s}
.svc-chips a:nth-child(1){background:var(--ballet); transform:rotate(-2deg)} .svc-chips a:nth-child(2){background:var(--rainy); transform:rotate(1.5deg)} .svc-chips a:nth-child(3){background:var(--butter); transform:rotate(-1deg)}
.svc-chips a:nth-child(4){background:#CDEBC9; transform:rotate(2deg)} .svc-chips a:nth-child(5){background:var(--candle); transform:rotate(-2deg)} .svc-chips a:nth-child(6){background:var(--apricot); transform:rotate(1deg)}
.svc-chips a:hover{transform:rotate(0) scale(1.06)}
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.svc{border-radius:26px; padding:26px; display:grid; gap:12px; align-content:start; border:2.5px solid var(--ink); box-shadow:5px 5px 0 var(--ink); background:var(--c)}
.svc:nth-child(1){--c:var(--ballet)} .svc:nth-child(2){--c:var(--rainy)} .svc:nth-child(3){--c:var(--butter)} .svc:nth-child(4){--c:#CDEBC9} .svc:nth-child(5){--c:var(--candle)} .svc:nth-child(6){--c:#FBD9B5}
.svc .ico{width:56px; height:56px; border-radius:50%; background:var(--paper); display:grid; place-items:center; color:var(--cherry); border:2px solid var(--ink)}
.svc .ico svg{width:28px; height:28px}
.svc ul{margin:0; padding-left:1.1em; display:grid; gap:4px; font-size:.97rem}
.svc .for{font:700 var(--hand-size)/1.1 var(--f-hand); color:var(--cherry); font-size:1.3rem}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,1fr)}} @media (max-width:620px){.svc-grid{grid-template-columns:1fr}}
.why{margin-top:60px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.why div{background:var(--paper); border-radius:20px; padding:18px; border:2px dashed var(--ink)}
.why b{display:block; font:var(--w-display) 1.25rem/1.2 var(--f-display); margin-bottom:6px}
.why p{color:var(--ink-soft); font-size:.97rem}
@media (max-width:860px){.why{grid-template-columns:repeat(2,1fr)}} @media (max-width:520px){.why{grid-template-columns:1fr}}

/* media */
.media{--grad:linear-gradient(180deg, #FFF3CF, #FDDB8E); --edge:#FDDB8E}
.media-top{display:grid; grid-template-columns:auto 1fr; gap:44px; align-items:center; margin-bottom:38px}
.big-num{font:var(--w-display) clamp(4.2rem,11vw,8.4rem)/.9 var(--f-display); color:var(--cherry); text-shadow:4px 4px 0 var(--paper)}
.big-num small{display:block; font:700 1.7rem/1 var(--f-hand); color:var(--ink); text-shadow:none; margin-top:8px}
.outlets{display:flex; flex-wrap:wrap; gap:12px}
.outlets .chip:nth-child(odd){transform:rotate(-2deg)} .outlets .chip:nth-child(even){transform:rotate(2deg)}
.links{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.link-card{display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; background:var(--paper); border-radius:20px; padding:16px 18px; text-decoration:none; border:2.5px solid var(--ink); box-shadow:4px 4px 0 var(--ink); transition:transform .2s}
.link-card:hover{transform:translate(-2px,-2px) rotate(-1deg)}
.plat{width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:1.5rem; color:#fff}
.plat.ig{background:linear-gradient(45deg,#F8B74A,#E4405F 50%,#B33AB4)} .plat.tt{background:#111}
.link-card b{display:block; line-height:1.25} .link-card small{font-size:.85rem; color:var(--ink-soft); font-weight:700}
@media (max-width:860px){.media-top{grid-template-columns:1fr} .links{grid-template-columns:1fr}}

/* threads */
.love{--grad:linear-gradient(180deg, #EAF5E3, #CDEBC9); --edge:#CDEBC9}
.threads{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.thread{background:var(--paper); border-radius:22px; padding:20px; display:grid; gap:14px; box-shadow:var(--shadow); position:relative; border:2.5px dashed var(--ink)}
.thread .who{display:flex; gap:10px; align-items:center}
.thread .av{width:42px; height:42px; border-radius:50%; background:var(--ballet); display:grid; place-items:center; font-size:1.2rem}
.thread .sk{height:10px; border-radius:6px; background:var(--wisteria)}
.thread .quote{font-size:1rem; line-height:1.55; color:var(--ink)}
.thread .tag{font:700 1.35rem/1.1 var(--f-hand); color:var(--cherry)}
.thread::before{content:""; position:absolute; top:-12px; left:26px; width:78px; height:22px; background:rgba(254,213,125,.85); transform:rotate(-6deg)}
@media (max-width:860px){.threads{grid-template-columns:1fr}}

/* CTA */
.cta{--grad:linear-gradient(180deg, var(--pink-soft), var(--butter)); color:var(--ink); text-align:center}
.cta h2{color:var(--ink)} .cta p{margin-top:10px; font-size:1.15rem; font-weight:700}
.cta .hand{color:var(--cherry)}
.cta .btn{background:var(--paper)} .cta .btn-cherry{background:var(--pink)}
.cta .row{justify-content:center; margin-top:22px}

/* event pages */
.ev-hero .wrap{display:grid; grid-template-columns:1fr .9fr; gap:44px; align-items:center}
.ev-hero .copy{display:grid; gap:18px; min-width:0}
.ev-hero .pic{aspect-ratio:4/5; max-width:460px; width:100%; justify-self:center}
.pg-matcha{--bg:#EEF6E8; --edge:#EEF6E8}
.pg-cake{--grad:linear-gradient(180deg, var(--ballet), var(--milk)); --edge:var(--milk)}
.pg-cookie{--edge:var(--milk)}
.ev-logo{width:150px}
.ev-logo.round{width:140px; aspect-ratio:1; border-radius:50%; background:var(--paper); display:grid; place-items:center; border:3px solid var(--cherry); transform:rotate(-6deg); text-align:center; font:700 2rem/.9 var(--f-hand); color:var(--cherry)}
.badge-row{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.badge{text-align:center; padding:14px 6px}
.badge.stamp{background:var(--paper)}
.badge strong{display:block; font:var(--w-display) 1.7rem/1 var(--f-display); color:var(--cherry)}
.badge > span{font-size:.82rem; font-weight:700; color:var(--ink-soft)}
.facts{display:grid; gap:4px; margin:0}
.facts div{display:flex; gap:10px} .facts dt{font-weight:800; min-width:64px} .facts dd{margin:0}
@media (max-width:860px){.ev-hero .wrap{grid-template-columns:1fr} .badge-row{grid-template-columns:repeat(2,1fr)}}
.sec{--bg:var(--latte)}
.sub-head{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; margin:0 0 24px}
.sub-head h3{font-size:clamp(1.7rem,3vw,2.3rem)}
.spacer{height:64px}
.videos{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.videos.two{grid-template-columns:repeat(2,minmax(0,320px))}
.vid{background:var(--paper); padding:10px; border-radius:30px; border:2.5px solid var(--ink); box-shadow:5px 5px 0 var(--ink); display:grid; gap:8px}
.vid-frame{position:relative; border-radius:22px; overflow:hidden; background:#000}
.vid video{width:100%; aspect-ratio:9/16; object-fit:cover}
.play{position:absolute; inset:0; margin:auto; width:104px; height:104px; border-radius:50%; border:4px solid #fff; background:var(--pink); color:#fff; display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.35); transition:transform .2s}
.play svg{width:42px; height:42px; margin-left:6px; filter:drop-shadow(0 1px 2px rgba(47,58,117,.35))}
video:fullscreen{object-fit:contain!important; background:#000}
video:-webkit-full-screen{object-fit:contain!important; background:#000}
.vid-ph{aspect-ratio:9/16; border-radius:22px; border:3px dashed var(--ink-soft); background:repeating-linear-gradient(45deg, var(--pink-soft) 0 14px, var(--milk) 14px 28px); display:grid; place-content:center; text-align:center; gap:6px; font:700 1.5rem/1.1 var(--f-hand); color:var(--ink)}
.vid-ph small{font:700 .9rem var(--f-body); color:var(--ink-soft)}
.keyart-slot{aspect-ratio:16/7; border-radius:26px; border:3px dashed var(--ink-soft); background:repeating-linear-gradient(-45deg, #EAF4FB 0 16px, var(--seafoam) 16px 32px); display:grid; place-content:center; text-align:center; gap:6px; font:700 1.8rem/1.1 var(--f-hand); color:var(--ink); margin-bottom:64px}
.keyart-slot small{font:700 .95rem var(--f-body); color:var(--ink-soft)}
.play:hover{transform:scale(1.1) rotate(-6deg)}
.play::after{content:""; position:absolute; inset:-14px; border-radius:50%; border:3px dashed rgba(255,255,255,.85); animation:spin 12s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.vid p{font:700 1.45rem/1 var(--f-hand); text-align:center; padding-bottom:4px}
@media (max-width:760px){.videos{grid-template-columns:1fr; max-width:340px; margin:0 auto} .videos.two{grid-template-columns:1fr}}
.car{margin-inline:calc(50% - 50vw); position:relative}
.car-track{display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory; padding:34px calc(50vw - 170px) 30px; scrollbar-width:none; cursor:grab; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain}
.car-track::-webkit-scrollbar{display:none}
.car-track.grabbing{cursor:grabbing; scroll-snap-type:none}
.car-item{flex:0 0 340px; margin:0; scroll-snap-align:center; background:var(--paper); padding:10px 10px 12px; border-radius:18px; box-shadow:var(--shadow); transform:rotate(var(--r,0deg)) scale(.84); opacity:.7; transition:transform .45s cubic-bezier(.3,1.4,.5,1), opacity .3s; cursor:pointer}
.car-item:nth-child(4n+1){--r:-4deg} .car-item:nth-child(4n+2){--r:3deg} .car-item:nth-child(4n+3){--r:-2deg} .car-item:nth-child(4n){--r:4deg}
.car-item.on{transform:rotate(0deg) scale(1); opacity:1; box-shadow:0 22px 40px -18px rgba(47,58,117,.55)}
.car-item img{width:100%; height:420px; object-fit:cover; border-radius:12px; pointer-events:none; user-select:none}
.car-ctrl{display:flex; justify-content:center; align-items:center; gap:18px}
.car-btn{width:52px; height:52px; border-radius:50%; border:2.5px solid var(--ink); background:var(--pink); color:var(--ink); font:800 1.3rem/1 var(--f-body); cursor:pointer; box-shadow:3px 3px 0 var(--ink); transition:transform .15s}
.car-btn:hover{transform:translate(-2px,-2px) rotate(-6deg)}
.car-count{font:var(--w-display) 1.3rem/1 var(--f-display); min-width:5ch; text-align:center; font-variant-numeric:tabular-nums}
.car-hint{text-align:center; font:700 1.25rem/1 var(--f-hand); color:var(--ink-soft); margin-top:12px}
@media (max-width:600px){.car-item{flex-basis:260px} .car-track{padding-inline:calc(50vw - 130px); gap:16px} .car-item img{height:330px}}
.lb{position:fixed; inset:0; z-index:200; background:rgba(30,36,80,.88); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:calc(20px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}
.lb figure{margin:0; display:grid; justify-items:center; gap:10px; min-width:0}
.lb img{max-height:80vh; max-width:100%; width:auto; border-radius:14px; border:6px solid #fff; touch-action:pan-y}
.lb figcaption{color:#fff; font:700 1rem var(--f-body)}
.lb-btn{width:52px; height:52px; border-radius:50%; border:2.5px solid #fff; background:var(--pink); color:var(--ink); font:800 1.3rem/1 var(--f-body); cursor:pointer}
.lb-close{position:absolute; top:calc(16px + env(safe-area-inset-top,0px)); right:max(16px, env(safe-area-inset-right,0px))}
@media (max-width:600px){.lb{grid-template-columns:1fr} .lb-prev,.lb-next{position:absolute; bottom:calc(24px + env(safe-area-inset-bottom,0px))} .lb-prev{left:calc(50% - 64px)} .lb-next{right:calc(50% - 64px)}}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:28px}
.duo figure{margin:0; display:grid; gap:10px}
.duo .stamp img{width:100%}
.duo figcaption{font:700 1.5rem/1 var(--f-hand); text-align:center}
@media (max-width:700px){.duo{grid-template-columns:1fr}}
.note{display:inline-block; background:var(--butter); padding:10px 16px; border-radius:14px; font-weight:800; transform:rotate(-1deg); border:2px dashed var(--ink)}
.follow{display:inline-flex; align-items:center; gap:10px; text-decoration:none; background:var(--paper); border:2.5px solid var(--ink); border-radius:999px; padding:.4em 1.1em .4em .45em; font-weight:800; box-shadow:3px 3px 0 var(--ink); transition:transform .15s}
.follow:hover{transform:translate(-2px,-2px)}
.follow .plat{width:34px; height:34px; font-size:1.1rem; border-radius:50%}

/* about */
.about-hero{--grad:linear-gradient(180deg, #FCE4EA 0%, #E6F2DD 100%); --edge:#E6F2DD}
.about-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center}
.about-grid .copy{display:grid; gap:16px; min-width:0}
.crew{background:var(--paper); padding:12px 12px 48px; box-shadow:var(--shadow); position:relative; border-radius:4px; margin:0}
.crew figcaption{position:absolute; left:0; right:0; bottom:10px; text-align:center; font:700 1.45rem/1 var(--f-hand)}
.values{display:grid; gap:12px}
.values div{background:var(--paper); border-radius:16px; padding:12px 16px; border:2px solid var(--ink)}
.values b{font-family:var(--f-display); font-weight:var(--w-display); font-size:1.15rem; display:block}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}
.collab{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px}
.logo-wall{display:flex; flex-wrap:wrap; justify-content:center; gap:16px}
.logo-slot{width:calc((100% - 6*16px)/7); min-width:0; aspect-ratio:1; border-radius:50%; border:2.5px dashed var(--ink-soft); display:grid; place-items:center; color:var(--ink-soft); font:700 1.15rem/1 var(--f-hand); background:var(--paper)}
@media (max-width:760px){.logo-slot{width:calc((100% - 3*16px)/4)}}
.partner-cta{margin-top:36px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; background:var(--rainy); border-radius:26px; padding:26px 28px; border:2.5px solid var(--ink); box-shadow:5px 5px 0 var(--ink)}

/* contact */
.contact-hero{--edge:#EEF6EA}
.contact-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:36px; align-items:start}
form.quote{background:var(--paper); border-radius:28px; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:16px; border:2.5px solid var(--ink); box-shadow:6px 6px 0 var(--ink)}
.field{display:grid; gap:6px; min-width:0}
.field.full{grid-column:1/-1}
label{font-weight:800; font-size:.92rem}
label .opt{font-weight:500; color:var(--ink-soft)}
input,select,textarea{font:inherit; font-size:1rem; color:var(--ink); background:var(--latte); border:2px solid var(--line); border-radius:14px; padding:.7em .85em; width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--ink); outline:none; box-shadow:0 0 0 3px var(--butter)}
textarea{min-height:120px; resize:vertical}
.err{color:#B3263E; font-size:.88rem; font-weight:700; min-height:1em}
.ready{grid-column:1/-1; background:var(--butter); border-radius:18px; padding:18px; display:grid; gap:12px}
.ready pre{white-space:pre-wrap; font:500 .92rem/1.5 var(--f-body); background:var(--paper); padding:12px; border-radius:10px; margin:0; max-height:220px; overflow:auto}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}} @media (max-width:560px){form.quote{grid-template-columns:1fr; padding:20px}}
.contact-card{display:grid; gap:16px}
.contact-card .item{background:var(--paper); border-radius:20px; padding:18px; display:grid; gap:10px; border:2px solid var(--ink)}
.contact-card .val{font:var(--w-display) 1.25rem/1.2 var(--f-display); user-select:all; word-break:break-word}
.copy-btn{justify-self:start; background:var(--butter); border:2px solid var(--ink); color:var(--ink); border-radius:999px; padding:.4em 1em; font:800 .85rem var(--f-body); cursor:pointer}
.brand-row{display:grid; grid-template-columns:52px 1fr; gap:12px; align-items:center; padding:6px 0; border-top:1px dashed var(--line)}
.brand-row:first-of-type{border-top:0}
.brand-row .bl{width:52px; height:52px; border-radius:50%; background:var(--paper); border:2px solid var(--line); padding:9px; display:grid; place-items:center; overflow:hidden; font:700 .95rem/1 var(--f-hand); color:var(--cherry); text-align:center}
.brand-row .bl img{width:100%; height:100%; object-fit:contain}
.brand-row .bl.cp{padding:4px; font-size:.8rem}
.brand-row .socials{display:flex; flex-wrap:wrap; gap:8px}
.soc{display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:800; font-size:.86rem; padding:.3em .7em .3em .35em; border-radius:999px; border:2px solid var(--ink); background:var(--paper)}
.soc .plat{width:26px; height:26px; border-radius:50%; font-size:.85rem}
.faq-list{display:grid; gap:12px; max-width:820px}
details{background:var(--paper); border:2.5px solid var(--ink); border-radius:20px; padding:16px 20px}
details:nth-child(odd){background:#FFF9EC}
summary{cursor:pointer; font:var(--w-display) 1.2rem/1.3 var(--f-display); list-style:none; display:flex; justify-content:space-between; gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+"; font:800 1.4rem/1 var(--f-body); color:var(--cherry)}
details[open] summary::after{content:"–"}
details p{margin-top:10px; color:var(--ink-soft)}

footer{background:var(--ink); color:var(--latte); padding-block:48px calc(48px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:32px}
footer img{height:64px; width:auto; margin-bottom:12px}
footer a{text-decoration:none; display:block; padding:3px 0}
footer a:hover{color:var(--butter)}
footer h4{margin:0 0 8px; font:700 1.6rem/1 var(--f-hand); color:var(--butter)}
footer .icons{display:flex; gap:10px; margin-top:12px}
footer .icons a{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--latte); color:var(--ink); font-size:1.1rem}
footer .fine{grid-column:1/-1; border-top:1px solid rgba(251,245,236,.25); padding-top:18px; font-size:.9rem; opacity:.85}
@media (max-width:760px){footer .wrap{grid-template-columns:1fr}}

.wa{position:fixed; right:calc(18px + env(safe-area-inset-right,0px)); bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60; display:flex; align-items:center; gap:8px; background:#25D366; color:#063A1B; text-decoration:none; font:800 .98rem var(--f-body); padding:12px 18px 12px 14px; border-radius:999px; border:2.5px solid var(--ink); box-shadow:3px 3px 0 var(--ink)}
.wa .fa-whatsapp, .wa svg{font-size:1.5rem; width:1.5rem; height:1.5rem}
@media (max-width:560px){.wa span{display:none} .wa{padding:13px}}

.fontpick{position:fixed; left:calc(16px + env(safe-area-inset-left,0px)); bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:60}
.fontpick > button{border:2.5px solid var(--ink); background:var(--paper); color:var(--ink); border-radius:999px; padding:.6em 1em; font:800 .92rem var(--f-body); box-shadow:3px 3px 0 var(--ink); cursor:pointer}
.fp-panel{position:absolute; left:0; bottom:calc(100% + 10px); width:min(300px, calc(100vw - 32px)); background:var(--paper); border:2.5px solid var(--ink); border-radius:22px; padding:14px; box-shadow:5px 5px 0 var(--ink); display:grid; gap:8px}
.fp-panel p{font-size:.85rem; color:var(--ink-soft); font-weight:700}
.fp-panel button{display:grid; text-align:left; gap:2px; border:2px solid var(--line); background:var(--latte); color:var(--ink); border-radius:14px; padding:10px 12px; cursor:pointer}
.fp-panel button[aria-pressed="true"]{border-color:var(--ink); background:var(--butter)}
.fp-panel .smp{font-size:1.45rem; line-height:1.1}
.fp-panel small{font-size:.78rem; color:var(--ink-soft); font-family:"Nunito",system-ui,sans-serif; font-weight:700}

@media (prefers-reduced-motion: reduce){.marquee-track,.play::after{animation:none} *{transition:none!important} html{scroll-behavior:auto}}


html,body{margin:0}
:root{padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px)}
.crumbs{font:800 .9rem/1.4 var(--f-body); color:var(--ink-soft); display:flex; flex-wrap:wrap; gap:6px}
.crumbs a{color:var(--ink-soft)}
.svc-hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center}
.svc-hero .copy{display:grid; gap:18px; min-width:0}
.svc-hero .lede{font-size:1.2rem; max-width:40ch}
.svc-hero .pic{aspect-ratio:4/4.6; max-width:440px; width:100%; justify-self:center}
@media (max-width:860px){.svc-hero .wrap{grid-template-columns:1fr}}
.prose{display:grid; gap:16px; max-width:68ch; font-size:1.08rem}
.two-col{display:grid; grid-template-columns:1.2fr .8fr; gap:44px; align-items:start}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.for-card{background:var(--butter); border:2.5px solid var(--ink); border-radius:24px; padding:22px; box-shadow:5px 5px 0 var(--ink); display:grid; gap:8px}
.for-card b{font:var(--w-display) 1.3rem/1.2 var(--f-display)}
.inc{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; list-style:none; padding:0; margin:0}
.inc li{background:var(--paper); border:2px solid var(--ink); border-radius:18px; padding:14px 16px; font-weight:700; display:flex; gap:10px; align-items:flex-start}
.inc li::before{content:"✿"; color:var(--cherry); font-size:1.1rem; line-height:1.3}
.inc li:nth-child(4n+1){background:#FDE8EE} .inc li:nth-child(4n+2){background:#EAF4FB} .inc li:nth-child(4n+3){background:#FFF3D6} .inc li:nth-child(4n){background:#EAF4E2}
@media (max-width:960px){.inc{grid-template-columns:repeat(2,1fr)}} @media (max-width:520px){.inc{grid-template-columns:1fr}}
.steps{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; list-style:none; padding:0; margin:0; counter-reset:st}
.steps li{counter-increment:st; background:var(--paper); border:2.5px dashed var(--ink); border-radius:22px; padding:18px; display:grid; gap:6px; align-content:start}
.steps li::before{content:counter(st); width:38px; height:38px; border-radius:50%; background:var(--pink); display:grid; place-items:center; font:var(--w-display) 1.2rem/1 var(--f-display); border:2px solid var(--ink)}
.steps b{font:var(--w-display) 1.15rem/1.2 var(--f-display)}
.steps p{font-size:.95rem; color:var(--ink-soft)}
@media (max-width:1000px){.steps{grid-template-columns:1fr; max-width:560px}}
.proof{display:grid; grid-template-columns:repeat(var(--n,3),1fr); gap:20px; max-width:calc(var(--n,3) * 400px)}
@media (max-width:820px){.proof{grid-template-columns:1fr}}
.svc-links{display:grid; grid-template-columns:repeat(5,1fr); gap:18px}
.svc-links .svc{padding:22px}
.svc-links .svc h3{font-size:1.35rem}
.svc-links .svc p{font-size:.95rem}
.svc-links .svc:nth-child(7){--c:#FDE1E8} .svc-links .svc:nth-child(8){--c:#E3F1DA} .svc-links .svc:nth-child(9){--c:#FFF0C8} .svc-links .svc:nth-child(10){--c:#E4ECFA}
.else-card{margin-top:24px; display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; background:var(--paper); border:2.5px dashed var(--ink); border-radius:24px; padding:22px 26px}
.svc-links .svc{text-decoration:none; transition:transform .2s, box-shadow .2s}
.svc-links .svc:hover{transform:translate(-3px,-3px) rotate(-.6deg); box-shadow:8px 8px 0 var(--ink)}
.svc .go{font:700 1.3rem/1 var(--f-hand); color:var(--cherry)}
@media (max-width:1100px){.svc-links{grid-template-columns:repeat(2,1fr)}} @media (max-width:560px){.svc-links{grid-template-columns:1fr}}
.story{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.story > div{background:var(--paper); border:2.5px solid var(--ink); border-radius:24px; padding:22px; box-shadow:5px 5px 0 var(--ink); display:grid; gap:8px; align-content:start}
.story > div:nth-child(1){background:#EAF4E2} .story > div:nth-child(2){background:#FDE8EE} .story > div:nth-child(3){background:#FFF3D6}
.story h3{font-size:1.4rem}
.story ul{margin:0; padding-left:1.1em; display:grid; gap:4px}
@media (max-width:860px){.story{grid-template-columns:1fr}}
.pull{margin:28px 0 0; background:var(--paper); border:2.5px dashed var(--ink); border-radius:24px; padding:24px 26px; display:grid; gap:10px; max-width:820px}
.pull p{font:700 1.5rem/1.3 var(--f-hand)}
.pull cite{font:800 .95rem var(--f-body); font-style:normal; color:var(--ink-soft)}
footer .wrap{grid-template-columns:1.3fr 1fr 1fr 1fr}
@media (max-width:900px){footer .wrap{grid-template-columns:1fr 1fr}} @media (max-width:520px){footer .wrap{grid-template-columns:1fr}}
.hero{--grad:linear-gradient(170deg, #F6B3C6 0%, #F9D2DC 28%, #D9EECB 64%, #BFDDF0 100%); --edge:#BFDDF0}
.stat{border:10px solid transparent; border-radius:26px; background-clip:padding-box; padding:20px 12px}
.stat:nth-child(1){border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath transform='translate(0 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(10 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(20 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(0 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(20 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(0 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(10 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(20 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3C/svg%3E") 10 round; background:var(--c)}
.stat:nth-child(2){border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath transform='translate(0 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(10 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(20 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(0 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(20 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(0 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3Cpath transform='translate(10 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(20 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23E46F94'/%3E%3C/svg%3E") 10 round; background:var(--c)}
.stat:nth-child(3){border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath transform='translate(0 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(10 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%235BA881'/%3E%3Cpath transform='translate(20 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(0 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%235BA881'/%3E%3Cpath transform='translate(20 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(0 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%235BA881'/%3E%3Cpath transform='translate(10 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23FED57D'/%3E%3Cpath transform='translate(20 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%235BA881'/%3E%3C/svg%3E") 10 round; background:var(--c)}
.stat:nth-child(4){border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath transform='translate(0 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23C9A6F2'/%3E%3Cpath transform='translate(10 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(20 0)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23C9A6F2'/%3E%3Cpath transform='translate(0 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(20 10)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23C9A6F2'/%3E%3Cpath transform='translate(0 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3Cpath transform='translate(10 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%23C9A6F2'/%3E%3Cpath transform='translate(20 20)' d='M5 0l1.2 3.4 3.6.1-2.9 2.2 1 3.5L5 7.1 2.1 9.2l1-3.5L.2 3.5l3.6-.1z' fill='%2398C1E9'/%3E%3C/svg%3E") 10 round; background:var(--c)}

.svc-chips a:nth-child(7){background:#FDE1E8; transform:rotate(1.5deg)} .svc-chips a:nth-child(8){background:#D9EECB; transform:rotate(-1.5deg)}
.svc-chips a:nth-child(9){background:#FFF0C8; transform:rotate(2deg)} .svc-chips a:nth-child(10){background:#DCE6FA; transform:rotate(-2deg)}
.svc-chips a:hover{transform:rotate(0) scale(1.06)}

/* tabs: plain soft colours */
.tab-art::before{content:none}
nav.main a.tab-mw, .shortcuts a.tab-mw{background:#E3F1DA} nav.main a.tab-cw, .shortcuts a.tab-cw{background:#FBE0E7} nav.main a.tab-cp, .shortcuts a.tab-cp{background:#EEDFCC}
/* insta logo buttons */
.icon-btn.ig-ev{border:0; background:transparent; width:42px; height:42px; box-shadow:0 0 0 2px var(--ink)}
.ig-ev img{object-fit:cover}
/* footer: faded navy */
footer{background:#5A6399}
/* coming soon logos */
.soon-copy{display:grid; gap:10px; justify-items:start}
.bloom-logo{width:min(240px,100%); height:auto}
.with-logos{display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--paper); border-radius:14px; padding:8px 14px}
.with-logos span{font:700 1.2rem/1 var(--f-hand); color:var(--ink-soft)}
.with-logos .ka{height:20px; width:auto} .with-logos .abc{height:38px; width:auto}
@media (max-width:760px){.soon-copy{justify-items:center}}
/* press */
.press-logos{display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin:6px 0 30px}
.press-logos span{background:var(--paper); border:2px solid var(--ink); border-radius:18px; height:76px; padding:10px 18px; display:grid; place-items:center; box-shadow:3px 3px 0 var(--ink)}
.press-logos img{max-height:54px; max-width:150px; width:auto; object-fit:contain}
.press{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.press-card{display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center; background:var(--paper); border:2.5px solid var(--ink); border-radius:20px; padding:14px 16px; text-decoration:none; box-shadow:4px 4px 0 var(--ink); transition:transform .2s}
.press-card:hover{transform:translate(-2px,-2px) rotate(-1deg)}
.press-logo{width:64px; height:64px; border-radius:14px; border:1.5px solid var(--line); background:#fff; display:grid; place-items:center; overflow:hidden; padding:6px}
.press-logo img{max-width:100%; max-height:100%; object-fit:contain}
.press-txt b{display:block; font:var(--w-display) 1.12rem/1.2 var(--f-display)}
.press-txt small{display:block; margin-top:4px; font-size:.85rem; font-weight:800; color:var(--ink-soft)}
.press-card .plat{width:34px; height:34px; font-size:1rem; border-radius:10px}
@media (max-width:960px){.press{grid-template-columns:1fr 1fr}} @media (max-width:620px){.press{grid-template-columns:1fr}}

/* hero: two photos per event, lighter pink-green waves */
.hero{--grad:linear-gradient(170deg, #FBE1E8 0%, #FCECEF 34%, #ECF6E4 68%, #DFF0D6 100%); --edge:#DFF0D6}
.collage6 .pol{padding:8px 8px 34px}
.collage6 .pol figcaption{font-size:1.15rem; bottom:7px; white-space:nowrap}
@media (max-width:600px){.collage6 .pol{padding:6px 6px 26px} .collage6 .pol figcaption{font-size:.95rem; bottom:5px} .collage6 .s2{width:74px; height:74px; font-size:.95rem}}
.collage6 .pol.nocap{padding-bottom:8px}
.collage6 .pol::before{width:64px; height:20px; margin-left:-32px; top:-10px}
.k1{width:37%; height:43%; left:0; top:3%; --rot:-6deg; z-index:2}
.k2{width:28%; height:33%; left:35%; top:2%; --rot:5deg; z-index:1}
.k3{width:32%; height:40%; right:0; top:0; --rot:4deg; z-index:2}
.k4{width:31%; height:34%; left:5%; bottom:3%; --rot:3deg; z-index:3}
.k5{width:35%; height:43%; left:34%; bottom:0; --rot:-4deg; z-index:4}
.k6{width:29%; height:32%; right:1%; bottom:9%; --rot:6deg; z-index:3}
.collage6 .s1{left:auto; right:-3%; bottom:-4%; top:auto; width:22%; z-index:6}
.collage6 .s2{right:-1%; top:41%; z-index:6}
/* no blue boxes on tap/click */
*{-webkit-tap-highlight-color:transparent}
:focus:not(:focus-visible){outline:none}
.car-track, .car-item, .drag, .pol{user-select:none; -webkit-user-select:none}
/* insta buttons: badge on hover only */
.ig-ev i{opacity:0; transform:scale(.6); transition:opacity .15s, transform .15s}
.ig-ev:hover i, .ig-ev:focus-visible i{opacity:1; transform:none}
.ig-ev img{object-fit:contain; background:#fff}
/* locations keep their capitals */
.keep{text-transform:none}

/* number boxes: simple */
.stat, .stat:nth-child(odd), .stat:nth-child(even){transform:none; border-image:none; border:2px solid var(--ink); border-radius:20px; padding:22px 12px; text-align:center; min-width:0}
.stat-grid .stat:nth-child(1){background:#FBD3DE} .stat-grid .stat:nth-child(2){background:#CFE4F5} .stat-grid .stat:nth-child(3){background:#FDE6A8} .stat-grid .stat:nth-child(4){background:#D6ECCD}
.stat strong{font-size:clamp(1.8rem,3.2vw,2.4rem)}
.stat > span{font-size:.88rem; letter-spacing:.02em}

.k7{width:28%; height:30%; left:31%; top:34%; --rot:-3deg; z-index:5}
.collage6 .s2{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; line-height:1}
.press{grid-template-columns:repeat(7,1fr); gap:12px}
.press-card{grid-template-columns:1fr auto; grid-template-rows:auto 1fr; align-items:start; padding:12px; gap:10px}
.press-card .press-logo{grid-column:1; grid-row:1; width:56px; height:56px}
.press-card .plat{grid-column:2; grid-row:1}
.press-card .press-txt{grid-column:1 / -1; grid-row:2}
.press-txt b{font-size:1rem}
.press-txt small{font-size:.78rem}
@media (max-width:1100px){.press{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 12px; margin-inline:-4px; scrollbar-width:thin} .press-card{flex:0 0 190px; scroll-snap-align:start}}

/* ---- round 9 ---- */
/* fonts: Fredoka + Nunito, Instrument Serif italic accents, script only for the hero */
:root{--f-hand:"Instrument Serif", "Iowan Old Style", Georgia, serif; --hand-size:1.12em}
.hand,.pol figcaption,.drag-hint,.ev-card .go,.soon-badge,.svc .for,.svc .go,.big-num small,.thread .tag,.vid p,.car-hint,.duo figcaption,.crew figcaption,.logo-slot,footer h4,.brand-row .bl,.pull p,.with-logos span,.vid-ph,.logo-ph,.ev-logo.round,.collage6 .s2,.note{font-family:var(--f-hand)!important; font-style:italic; font-weight:400!important; letter-spacing:0}
.hero h1 .script{font-family:"Pinyon Script","Snell Roundhand",cursive!important; font-style:normal; font-weight:400!important; font-size:1.3em; white-space:nowrap; line-height:1.05; transform:rotate(-3deg); padding-right:.1em}
.collage6 .s2{font-size:1.15rem}
.fontpick{display:none!important}
/* threads: single card */
.threads.one{grid-template-columns:minmax(0,640px); justify-content:center}
.threads.one .thread{transform:rotate(-1deg)}
/* insta badge only on hover */
.ig-ev .ig-badge{position:absolute; right:-4px; bottom:-4px; width:16px; height:16px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(45deg,#F8B74A,#E4405F 50%,#B33AB4); border:1.5px solid #fff; opacity:0; transform:scale(.5); transition:opacity .15s, transform .15s; pointer-events:none}
.ig-ev .ig-badge svg, .ig-ev .ig-badge i{width:9px; height:9px; font-size:9px; position:static; opacity:1; transform:none}
.ig-ev:hover .ig-badge, .ig-ev:focus-visible .ig-badge{opacity:1; transform:none}
/* whatsapp: official look */
.wa-glyph{width:1.25em; height:1.25em; flex:none; vertical-align:-.2em}
.wa .wa-glyph{width:1.6rem; height:1.6rem}
.icon-btn.wa-ic .wa-glyph{width:22px; height:22px}
.icon-btn.wa-ic{background:#25D366; color:#fff; border-color:#25D366}
.icon-btn.wa-ic:hover{background:#1EBE5A}
.wa{background:#25D366!important; color:#fff!important; border:0!important; box-shadow:0 8px 22px -8px rgba(0,0,0,.45)!important}
.wa:hover{background:#1EBE5A!important}
/* play button: no spinning ring, sparkles when it scrolls into view */
.play::after{content:none!important; animation:none!important}
.play .spk{position:absolute; width:18px; height:18px; color:#fff; opacity:0; pointer-events:none}
.play .spk svg{width:100%; height:100%; margin:0; filter:drop-shadow(0 0 4px rgba(247,182,201,.9))}
.play .spk:nth-of-type(1){top:-14px; right:-6px} .play .spk:nth-of-type(2){bottom:-10px; left:-12px; width:13px; height:13px} .play .spk:nth-of-type(3){top:6px; left:-18px; width:11px; height:11px}
.vid-frame.seen .play .spk{animation:twinkle 2.6s ease-in-out infinite}
.vid-frame.seen .play .spk:nth-of-type(2){animation-delay:.5s} .vid-frame.seen .play .spk:nth-of-type(3){animation-delay:1.1s}
@keyframes twinkle{0%,100%{opacity:0; transform:scale(.4) rotate(0)} 30%{opacity:1; transform:scale(1.1) rotate(20deg)} 60%{opacity:.2; transform:scale(.7) rotate(40deg)}}
@media (prefers-reduced-motion: reduce){.vid-frame.seen .play .spk{animation:none; opacity:.8}}
/* event stat badges: retro window cards */
.badge, .badge.stamp{-webkit-mask:none; mask:none; background:#fff; border:2px solid #C9D3EA; border-radius:12px; padding:0 0 12px; overflow:hidden; text-align:center; box-shadow:0 6px 16px -10px rgba(47,58,117,.5)}
.badge::before{content:"\25CB  \25CB  \25CB"; display:block; text-align:right; font:700 .6rem/1 var(--f-body); letter-spacing:.1em; color:rgba(47,58,117,.45); padding:6px 10px; margin-bottom:10px; background:linear-gradient(180deg,#FCE4EC,#F6D3E0); border-bottom:2px solid #C9D3EA}
.pg-matcha .badge::before{background:linear-gradient(180deg,#E6F0FB,#D5E5F6)}
.badge strong{font-size:1.55rem}
/* MATCHAWALK page: dreamy pastel checker */
body[data-page="matchawalk"]{background:#F2F0FA}
body[data-page="matchawalk"] .band.pg-matcha, body[data-page="matchawalk"] .band.sec{--edge:#EEF0FB; background-color:#F3F1FB;
  background-image:radial-gradient(ellipse at 50% 40%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%),
    conic-gradient(#E3ECFB 25%, #F7E6F1 0 50%, #E3ECFB 0 75%, #F7E6F1 0);
  background-size:100% 100%, 64px 64px}
body[data-page="matchawalk"] .checker.green{display:none}
.keyart{margin:0 0 64px; border-radius:24px; overflow:hidden; border:6px solid #fff; box-shadow:0 18px 40px -22px rgba(47,58,117,.6)}
.keyart img{width:100%; display:block}

.hdr-scallop{position:absolute; left:0; right:0; top:100%; height:12px; pointer-events:none; background:radial-gradient(circle at 10px 0, rgba(251,245,236,.96) 9.5px, transparent 10px) 0 0/20px 12px repeat-x}
/* ---- round 10 ---- */
:root{--p-lemon:#FFFABF; --p-bunny:#FFE7FF; --p-seafair:#B2F9E7; --p-change:#F4ADCF; --p-lilac:#BFC4FF; --p-tender:#F7E7D8; --p-chalk:#F3A2BD; --p-breeze:#C9DAE7; --p-dlilac:#B6B1D9; --p-mallow:#FFEEF3; --p-pist:#C3D882}
.hdr-scallop{filter:drop-shadow(0 4px 3px rgba(243,162,189,.55))}
/* collage: two girls off-centre */
.k1{width:36%; height:40%; left:0; top:2%; --rot:-6deg; z-index:2}
.k2{width:27%; height:30%; left:35%; top:0; --rot:5deg; z-index:1}
.k3{width:33%; height:40%; right:0; top:3%; --rot:4deg; z-index:2}
.k7{width:31%; height:36%; left:1%; top:auto; bottom:3%; --rot:-4deg; z-index:3}
.k5{width:33%; height:40%; left:33%; bottom:0; --rot:3deg; z-index:4}
.k4{width:30%; height:34%; right:0; left:auto; bottom:4%; --rot:-3deg; z-index:3}
.k6{width:22%; height:25%; left:37%; right:auto; top:33%; bottom:auto; --rot:-8deg; z-index:2}
.collage6 .s2{right:30%; top:auto; bottom:38%; z-index:7}
.collage6 .s1{right:-2%; bottom:auto; top:40%; width:20%; z-index:7}
/* number boxes: retro window cards */
.stat-grid .stat:nth-child(n){background:#fff; border:2px solid #CDD3EC; border-radius:12px; padding:0 10px 16px; overflow:hidden; box-shadow:0 8px 18px -12px rgba(47,58,117,.5)}
.stat-grid .stat::before{content:"\25CB  \25CB  \25CB"; display:block; margin:0 -10px 12px; padding:6px 10px; text-align:right; font:700 .6rem/1 var(--f-body); letter-spacing:.1em; color:rgba(47,58,117,.45); background:var(--c); border-bottom:2px solid #CDD3EC}
.stat-grid .stat::after{content:none}
.stat-grid .stat:nth-child(1){--c:var(--p-change)} .stat-grid .stat:nth-child(2){--c:var(--p-breeze)} .stat-grid .stat:nth-child(3){--c:var(--p-lemon)} .stat-grid .stat:nth-child(4){--c:var(--p-seafair)}
/* coming soon: clean pastel card */
.soon-card{display:grid; grid-template-columns:auto 1fr auto; gap:30px; align-items:center; padding:26px 34px; border:0; border-radius:30px;
  background:linear-gradient(115deg,#FFF6FB 0%,#F5EEFF 45%,#EAFBF5 100%); box-shadow:0 18px 40px -26px rgba(47,58,117,.5), inset 0 0 0 1.5px rgba(182,177,217,.55)}
.soon-card .bloom-logo{width:190px; height:auto}
.soon-copy{display:grid; gap:10px; justify-items:start}
.soon-pill{font:800 .8rem/1 var(--f-body); letter-spacing:.06em; padding:.5em 1em; border-radius:999px; background:#fff; color:#C0577E; box-shadow:inset 0 0 0 1.5px #F3A2BD}
.with-logos{background:transparent; padding:0; gap:16px}
.with-logos span{font-size:1.05rem; color:var(--ink-soft)}
.with-logos .ka{height:18px} .with-logos .abc{height:34px}
@media (max-width:860px){.soon-card{grid-template-columns:1fr; justify-items:center; text-align:center} .soon-copy{justify-items:center}}
/* what we do chips + services cards: pastel palette */
.svc-chips a:nth-child(n){background:var(--c)}
.svc-chips a:nth-child(1){--c:var(--p-chalk)} .svc-chips a:nth-child(2){--c:var(--p-breeze)} .svc-chips a:nth-child(3){--c:var(--p-lemon)} .svc-chips a:nth-child(4){--c:var(--p-seafair)} .svc-chips a:nth-child(5){--c:var(--p-lilac)}
.svc-chips a:nth-child(6){--c:var(--p-tender)} .svc-chips a:nth-child(7){--c:var(--p-bunny)} .svc-chips a:nth-child(8){--c:var(--p-pist)} .svc-chips a:nth-child(9){--c:var(--p-mallow)} .svc-chips a:nth-child(10){--c:var(--p-dlilac)}
.svc-links .svc:nth-child(n){background:var(--c)}
.svc-links .svc:nth-child(1){--c:var(--p-chalk)} .svc-links .svc:nth-child(2){--c:var(--p-breeze)} .svc-links .svc:nth-child(3){--c:var(--p-lemon)} .svc-links .svc:nth-child(4){--c:var(--p-seafair)} .svc-links .svc:nth-child(5){--c:var(--p-lilac)}
.svc-links .svc:nth-child(6){--c:var(--p-tender)} .svc-links .svc:nth-child(7){--c:var(--p-bunny)} .svc-links .svc:nth-child(8){--c:var(--p-pist)} .svc-links .svc:nth-child(9){--c:var(--p-mallow)} .svc-links .svc:nth-child(10){--c:var(--p-dlilac)}
/* aurora backgrounds (pastel palette vibe) */
.aurora, .svc-teaser, .media, body[data-page="services"] .band.sec{background-color:#F6F1FF!important;
  background-image:radial-gradient(60% 70% at 10% 15%, rgba(191,196,255,.75), transparent 70%), radial-gradient(55% 60% at 90% 10%, rgba(178,249,231,.7), transparent 70%),
    radial-gradient(55% 60% at 80% 90%, rgba(244,173,207,.6), transparent 70%), radial-gradient(50% 55% at 20% 95%, rgba(255,250,191,.8), transparent 70%)!important; background-size:auto!important}
.media{--edge:#F8E6F1}
.press-logos span, .press-card{box-shadow:0 10px 22px -16px rgba(47,58,117,.55); border-color:rgba(47,58,117,.25)}
/* cakewalk page: blue paper + lace */
body[data-page="cakewalk"] .band.sec{background-color:#EEF2FA; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%239DB2DE' stroke-opacity='.18' stroke-width='1.2'%3E%3Cpath d='M10 40c30-20 60 20 90 0s60 20 110 0'/%3E%3Cpath d='M0 120c40-18 70 18 110 0s70 18 110 0'/%3E%3Cpath d='M20 190c30-14 50 14 80 0s50 14 100 0'/%3E%3C/g%3E%3C/svg%3E"); background-size:220px 220px}
body[data-page="cakewalk"] .vid, body[data-page="cakewalk"] .car-item{border:10px solid transparent; border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%238FA6D6' stroke-width='1.3'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4.5'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='1.6' fill='%238FA6D6'/%3E%3C/svg%3E") 12 round; box-shadow:0 14px 26px -18px rgba(47,58,117,.5); background-clip:padding-box}
body[data-page="cakewalk"] .vid{border-radius:0; background:#fff}
body[data-page="cakewalk"] .checker{background:conic-gradient(#C9D6F0 25%, #fff 0 50%, #C9D6F0 0 75%, #fff 0) 0 0/16px 16px; height:16px}
/* cookie picnic: softer gingham, pink dots + blue stripes */
.t-gingham{background-color:#FFF6F8; background-image:linear-gradient(90deg, rgba(232,120,140,.07) 50%, transparent 0), linear-gradient(rgba(232,120,140,.07) 50%, transparent 0)}
body[data-page="cookie-picnic"] .checker{height:22px; background:repeating-linear-gradient(90deg,#C9DAF2 0 12px,#fff 12px 24px)}
body[data-page="cookie-picnic"] .band.sec{background-color:#FBEBEF; background-image:radial-gradient(#E8A9BD 2.6px, transparent 3.2px); background-size:26px 26px}
body[data-page="cookie-picnic"] .band.sec .sub-head h3{background:#fff; padding:.2em .6em; border-radius:14px; box-shadow:0 6px 14px -10px rgba(47,58,117,.5)}
/* WhatsApp keeps its capitals */
.keep{text-transform:none}

/* menu tab outlines: soft lilac */
nav.main a.tab-art, nav.main a[aria-current="page"], nav.main a.tab-art[aria-current="page"], .shortcuts a.tab-art[aria-current="page"]{box-shadow:inset 0 0 0 2px #B6B1D9!important}
.shortcuts a{border-color:#B6B1D9!important}

/* edge above the footer: pink + pistachio checks */
body #cta + .checker{height:18px!important; background:conic-gradient(#F4ADCF 25%,#E3EDC4 0 50%,#F4ADCF 0 75%,#E3EDC4 0) 0 0/18px 18px!important}

/* services: no scallop between hero and cards, one continuous pastel glow */
body[data-page="services"] .band.scallop::after{display:none}
body[data-page="services"] main{background-color:#F6F1FF; background-image:radial-gradient(40% 30% at 10% 8%, rgba(191,196,255,.75), transparent 70%), radial-gradient(40% 30% at 90% 5%, rgba(178,249,231,.7), transparent 70%), radial-gradient(45% 30% at 85% 60%, rgba(244,173,207,.55), transparent 70%), radial-gradient(45% 30% at 15% 75%, rgba(255,250,191,.8), transparent 70%)}
body[data-page="services"] main > .band, body[data-page="services"] main > .band.sec{background:transparent!important}
body[data-page="services"] main > .band::before{display:none}
body[data-page="services"] main > .band:first-child + .band{padding-top:20px}

/* ===== trays (concept C) ===== */
.collage.trays{height:560px}
.tray{position:absolute; border-radius:30px; padding:0; background:linear-gradient(150deg,#FBFCFE 0%,#D7DAE3 28%,#F4F5F9 52%,#BFC3CF 78%,#EEF0F5 100%);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.75), inset 0 0 0 9px #C9CCD6, inset 0 6px 18px rgba(0,0,0,.12), 0 22px 34px -18px rgba(30,36,80,.55)}
.tray::before, .tray::after{content:""; position:absolute; top:50%; width:24px; height:46px; margin-top:-23px; border-radius:14px; border:5px solid #C9CCD6; background:transparent; box-shadow:0 4px 8px -4px rgba(0,0,0,.3)}
.tray::before{left:-20px; border-right:0; border-radius:14px 0 0 14px} .tray::after{right:-20px; border-left:0; border-radius:0 14px 14px 0}
.tr1{left:5%; top:4%; width:60%; height:48%; --rot:-3deg; z-index:2}
.tr2{right:0; top:12%; width:40%; height:34%; --rot:5deg; z-index:1}
.tr3{left:20%; bottom:0; width:54%; height:44%; --rot:-2deg; z-index:3}
.wells{position:absolute; inset:16px 18px; display:grid; gap:10px}
.wells.w6{grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,1fr)}
.wells.w3{grid-template-columns:repeat(3,1fr)}
.wells.w4{grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,1fr)}
.well{position:relative; border-radius:14px; background:linear-gradient(160deg,#E6E8EE,#F7F8FB);
  box-shadow:inset 0 3px 7px rgba(30,36,80,.28), inset 0 -2px 0 rgba(255,255,255,.9), 0 1px 0 rgba(255,255,255,.8)}
.well .wp{position:absolute; inset:5px; margin:0; z-index:1; border-radius:10px; overflow:hidden; box-shadow:0 2px 4px rgba(30,36,80,.18)}
.well .wp.dragging, .well .tray-trk.dragging{z-index:50}
.well .wp img{width:100%; height:100%; object-fit:cover; display:block}
.well.trk{display:grid; place-items:center}
.well .tray-trk{position:relative; z-index:1; width:70%; max-width:90px; aspect-ratio:1; --rot:10deg; filter:drop-shadow(0 5px 5px rgba(30,36,80,.3))}
.tray-trk svg{width:100%; height:100%}
.tl{position:absolute; left:22px; top:-14px; font:italic 400 1.15rem/1 var(--f-hand); color:var(--ink); background:#fff; padding:.2em .7em; border-radius:999px; box-shadow:0 4px 10px -6px rgba(30,36,80,.5); transform:rotate(-3deg); pointer-events:none; z-index:2}
.collage.trays .s2{right:2%; top:auto; bottom:6%; z-index:6}
@media (max-width:880px){.collage.trays{height:auto; aspect-ratio:1/1.1}}
@media (max-width:600px){.tray::before,.tray::after{width:16px; height:32px; margin-top:-16px; border-width:4px} .tray::before{left:-13px} .tray::after{right:-13px}
  .tl{font-size:.85rem; top:-11px; left:14px} .wells{inset:9px 10px; gap:5px} .well{border-radius:9px} .well .wp{inset:3px; border-radius:7px}
  .tr1{left:2%; top:4%; width:80%; height:34%} .tr2{right:2%; left:auto; width:62%; height:22%; top:42%} .tr3{left:2%; bottom:2%; width:70%; height:30%} .collage.trays{aspect-ratio:1/1.45} .collage.trays .s2{right:1%; bottom:auto; top:64%}}
/* ===== play section ===== */
.playzone{--grad:linear-gradient(180deg,#F6F1FF,#FFF4F8); --edge:#FFF4F8}
.play-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px}
@media (max-width:860px){.play-grid{grid-template-columns:1fr}}
.game-card{background:#fff; border:2px solid #CDD3EC; border-radius:16px; overflow:hidden; box-shadow:0 16px 30px -22px rgba(47,58,117,.6); min-width:0}
.win-bar{display:flex; align-items:center; gap:6px; padding:8px 12px; background:linear-gradient(180deg,#FCE4EC,#F6D3E0); border-bottom:2px solid #CDD3EC}
.game-card:nth-child(2) .win-bar{background:linear-gradient(180deg,#E6F0FB,#D5E5F6)}
.play-grid + .play-grid .game-card:nth-child(1) .win-bar{background:linear-gradient(180deg,#FFFBDD,#FFF1B5)} .play-grid + .play-grid .game-card:nth-child(2) .win-bar{background:linear-gradient(180deg,#E5FBF3,#C9F2E3)}
.win-bar b{margin-right:auto; font:800 .82rem/1 var(--f-body); color:var(--ink-soft); text-transform:none}
.win-bar i{width:11px; height:11px; border-radius:50%; border:1.5px solid rgba(47,58,117,.45); background:#fff}
.game-body{padding:18px; display:grid; gap:14px}
.game-hint{font-size:.95rem; color:var(--ink-soft); font-weight:700}
.shelf{display:flex; flex-wrap:wrap; gap:8px; justify-content:center}
.shelf-item{width:58px; height:58px; padding:6px; border-radius:14px; border:2px dashed #CDD3EC; background:#FBFAFF; cursor:pointer; transition:transform .15s}
.shelf-item:hover{transform:translateY(-3px) rotate(-6deg)}
.shelf-item svg{width:100%; height:100%}
.my-tray{position:relative; height:200px; margin:6px 20px; border-radius:40px; background:linear-gradient(150deg,#FBFCFE,#D7DAE3 30%,#F4F5F9 55%,#BFC3CF 80%,#EEF0F5);
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.75), inset 0 0 0 10px #C9CCD6, inset 0 8px 18px rgba(0,0,0,.12), 0 16px 26px -16px rgba(30,36,80,.5)}
.my-tray::before,.my-tray::after{content:""; position:absolute; top:50%; width:22px; height:50px; margin-top:-25px; border:5px solid #C9CCD6}
.my-tray::before{left:-19px; border-right:0; border-radius:16px 0 0 16px} .my-tray::after{right:-19px; border-left:0; border-radius:0 16px 16px 0}
.my-tray-empty{position:absolute; inset:0; display:grid; place-items:center; font:italic 1.2rem var(--f-hand); color:#8E95BD}
.on-tray{position:absolute; width:30%; max-width:84px; aspect-ratio:1; padding:0; border:0; background:none; cursor:pointer; transform:rotate(var(--r)); animation:drop .35s cubic-bezier(.3,1.6,.5,1); filter:drop-shadow(0 6px 6px rgba(30,36,80,.3))}
.on-tray svg{width:100%; height:100%}
@keyframes drop{from{transform:translateY(-30px) scale(.6) rotate(var(--r)); opacity:0}}
.tray-result{min-height:1.5em; text-align:center; font-size:1.05rem}
.tray-result a{color:var(--cherry); font-weight:800}
.tins{display:flex; justify-content:center; gap:18px; flex-wrap:wrap; padding-top:8px}
.tin{position:relative; width:92px; height:80px; border:0; padding:0; cursor:pointer; background:none}
.tin::before{content:""; position:absolute; left:4px; right:4px; bottom:0; height:56px; border-radius:50% / 22%; background:linear-gradient(180deg,#E9EBF1,#BFC3CF 60%,#D7DAE3); box-shadow:0 10px 16px -10px rgba(30,36,80,.6)}
.lid{position:absolute; left:0; right:0; top:4px; height:34px; border-radius:50%; background:var(--lid); box-shadow:inset 0 -6px 0 rgba(0,0,0,.08), 0 3px 0 #C9CCD6; transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.lid::after{content:"✦"; position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:1rem}
.tin:hover .lid{transform:translateY(-4px) rotate(-4deg)}
.tin.open .lid{transform:translate(18px,-26px) rotate(24deg)}
.tin-label{position:absolute; left:0; right:0; bottom:16px; text-align:center; font:800 .78rem var(--f-body); color:var(--ink-soft)}
.tin-reveal{min-height:120px; display:grid; justify-items:center; gap:8px; text-align:center}
.tin-reveal img{width:130px; height:110px; object-fit:contain; border-radius:12px; background:#FBFAFF}
.tin-reveal a{color:var(--cherry); font-weight:800}
.tin-reveal.show{animation:pop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{from{transform:scale(.7); opacity:0}}
.stamps{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
.stamp-slot{position:relative; width:104px; height:104px; border-radius:50%; border:2.5px dashed #CDD3EC; display:grid; place-items:center; text-decoration:none; text-align:center; background:#FBFAFF}
.stamp-name{font:800 .78rem/1.1 var(--f-body); color:#A3A9C9; padding:0 8px}
.stamp-ink{position:absolute; inset:8px; border-radius:50%; border:3px solid #E46F94; color:#E46F94; display:grid; place-items:center; font:800 .72rem/1.1 var(--f-body); transform:rotate(-14deg) scale(1.4); opacity:0; transition:transform .4s cubic-bezier(.3,1.6,.5,1), opacity .3s; box-shadow:inset 0 0 0 3px #fff, inset 0 0 0 5px #E46F94}
.stamp-slot.done .stamp-ink{opacity:.9; transform:rotate(-14deg) scale(1)}
.stamp-slot.done .stamp-name{opacity:0}
.stickers{display:flex; gap:16px; justify-content:center}
.sticker-slot{width:84px; height:84px; padding:10px; border-radius:20px; border:2.5px dashed #CDD3EC; background:#FBFAFF}
.sticker-slot svg{width:100%; height:100%; filter:grayscale(1) brightness(1.6) opacity(.35)}
.sticker-slot.done{border-style:solid; border-color:#F3A2BD; background:#FFF4F8}
.sticker-slot.done svg{filter:drop-shadow(0 4px 4px rgba(30,36,80,.25))}
.game-status{text-align:center; font-weight:800; color:var(--ink)}
.hidden-sticker{position:absolute; z-index:4; width:46px; height:46px; padding:0; border:0; background:none; cursor:pointer; right:4%; bottom:30px; transform:rotate(14deg); opacity:.9; filter:drop-shadow(0 4px 5px rgba(30,36,80,.3)); transition:transform .2s}
.hidden-sticker:hover{transform:rotate(-6deg) scale(1.25)}
.hidden-sticker svg{width:100%; height:100%}
.pg-cake .hidden-sticker{right:auto; left:46%; bottom:22px} .pg-cookie .hidden-sticker{right:auto; left:3%; bottom:24px}
.hidden-sticker.got{opacity:.35}
.hidden-sticker.pop{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
.countdown{display:flex; gap:8px; flex-wrap:wrap}
.cd-box{display:grid; justify-items:center; min-width:52px; padding:6px 8px; border-radius:12px; background:#fff; box-shadow:inset 0 0 0 1.5px #E4D9F2; font:800 .7rem/1.2 var(--f-body); color:var(--ink-soft)}
.cd-box b{font:var(--w-display) 1.3rem/1 var(--f-display); color:var(--ink)}
.cd-soon{font:italic 1.1rem var(--f-hand); color:#C0577E}
.xy-toast{position:fixed; left:50%; bottom:calc(84px + env(safe-area-inset-bottom,0px)); z-index:300; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:#fff; color:var(--ink); padding:12px 18px; border-radius:999px; font-weight:800; box-shadow:0 12px 30px -12px rgba(30,36,80,.5), inset 0 0 0 2px #F3A2BD; transition:.3s; max-width:calc(100vw - 32px); text-align:center}
.xy-toast.on{opacity:1; transform:translate(-50%,0)}
.xy-modal{position:fixed; inset:0; z-index:310; background:rgba(47,58,117,.35); display:grid; place-items:center; padding:16px}
.xy-modal-card{background:linear-gradient(160deg,#FFF6FB,#F5EEFF 55%,#EAFBF5); border-radius:26px; padding:28px; max-width:420px; text-align:center; display:grid; gap:12px; justify-items:center; box-shadow:0 30px 60px -30px rgba(30,36,80,.7); animation:pop .45s cubic-bezier(.3,1.6,.5,1)}
.xy-modal-card h3{font-size:1.8rem}
@media (prefers-reduced-motion: reduce){.on-tray,.tin-reveal.show,.xy-modal-card,.hidden-sticker.pop{animation:none}}

/* font comparison sets (preview picker) */
.fontpick.fp2{display:block!important}
html[data-font="calm"]{--w-display:500}
html[data-font="elegant"]{--f-display:"Instrument Serif", Georgia, serif; --w-display:400}
html[data-font="elegant"] h1{font-size:clamp(3rem,8vw,6.2rem)} html[data-font="elegant"] h2{font-size:clamp(2.4rem,5.4vw,4rem)} html[data-font="elegant"] h3{font-size:1.7rem}
html[data-font="round"]{--f-display:"Nunito", system-ui, sans-serif; --w-display:800; --f-hand:"Nunito", system-ui, sans-serif}
html[data-font="round"] .hand{font-weight:800!important; font-style:normal}

/* as featured by: green-pink glow, lace edge, sparkles */
.media{background-color:#F4F7E8!important; background-image:
  radial-gradient(2px 2px at 12% 22%, #fff 99%, transparent), radial-gradient(2.5px 2.5px at 82% 18%, #fff 99%, transparent), radial-gradient(2px 2px at 64% 72%, #fff 99%, transparent), radial-gradient(2px 2px at 28% 84%, #fff 99%, transparent),
  radial-gradient(55% 60% at 15% 25%, rgba(214,236,160,.9), transparent 70%), radial-gradient(50% 55% at 85% 20%, rgba(248,200,224,.85), transparent 70%),
  radial-gradient(55% 60% at 75% 85%, rgba(201,220,250,.7), transparent 70%), radial-gradient(50% 50% at 20% 90%, rgba(250,214,232,.8), transparent 70%)!important; background-size:auto!important}
.media::after{content:""; position:absolute; left:0; right:0; top:0; height:22px; z-index:2; background:radial-gradient(circle at 12px 0, #fff 11px, transparent 11.5px) 0 0/24px 22px repeat-x, radial-gradient(circle at 12px 6px, rgba(232,190,210,.9) 2px, transparent 2.5px) 0 0/24px 22px repeat-x}
.media .wrap::before, .media .wrap::after{content:"✦"; position:absolute; color:#fff; font-size:2rem; text-shadow:0 0 12px rgba(244,173,207,.9)}
.media .wrap::before{left:2%; top:-10px} .media .wrap::after{right:3%; top:38%; font-size:2.6rem}

/* journal */
.jr-hero{--grad:linear-gradient(170deg,#FBE1E8 0%,#F5EEFF 50%,#E6F6EC 100%); --edge:var(--latte)}
.jr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
@media (max-width:900px){.jr-grid{grid-template-columns:1fr}}
.jr-card{display:grid; gap:12px; align-content:start; background:#fff; border-radius:22px; padding:12px 12px 18px; text-decoration:none; box-shadow:0 16px 30px -22px rgba(47,58,117,.6), inset 0 0 0 1.5px #E4E1EE; transition:transform .2s}
.jr-card:hover{transform:translateY(-4px) rotate(-.5deg)}
.jr-card img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px}
.jr-card .meta-line{font:800 .8rem/1 var(--f-body); color:var(--ink-soft); padding:0 6px}
.jr-card h3{font-size:1.35rem; padding:0 6px}
.jr-card p{color:var(--ink-soft); font-size:.95rem; padding:0 6px}
.jr-card .go{font:italic 1.15rem var(--f-hand); color:var(--cherry); padding:0 6px}
.article{max-width:720px; margin:0 auto; display:grid; gap:18px; font-size:1.08rem}
.article h2{font-size:clamp(1.6rem,3vw,2.1rem); margin-top:22px}
.article ul{margin:0; padding-left:1.2em; display:grid; gap:6px}
.article li::marker{color:var(--cherry)}
.art-photo{max-width:900px; margin:0 auto 40px; border-radius:24px; overflow:hidden; border:6px solid #fff; box-shadow:0 18px 40px -24px rgba(47,58,117,.6)}
.art-photo img{width:100%; aspect-ratio:16/8; object-fit:cover}
.art-cta{max-width:720px; margin:40px auto 0; background:linear-gradient(115deg,#FFF6FB,#F5EEFF 50%,#EAFBF5); border-radius:24px; padding:24px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; box-shadow:inset 0 0 0 1.5px rgba(182,177,217,.55)}
.related{max-width:900px; margin:50px auto 0}
.related .svc-chips{justify-content:flex-start}

nav.main a, .top-actions .btn{white-space:nowrap}
nav.main{gap:2px} nav.main a{padding:.45em .65em; font-size:.92rem}
@media (max-width:1240px){nav.main{display:none} .shortcuts{display:block} .menu-btn{display:inline-block}
  nav.main.open{display:flex; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; background:var(--latte); padding:12px max(16px, env(safe-area-inset-right,0px)) 18px max(16px, env(safe-area-inset-left,0px)); border-bottom:2px solid #B6B1D9; margin:0}
  nav.main.open a{font-size:1.15rem; padding:.6em .8em}}
/* ===== round 12 ===== */
/* font set C: elegant serif headings everywhere */
:root{--f-display:"Instrument Serif", "Iowan Old Style", Georgia, serif; --w-display:400}
h1{font-size:clamp(3rem,8vw,6.2rem)} h2{font-size:clamp(2.4rem,5.4vw,4rem)} h3{font-size:1.7rem}
.stat strong, .badge strong, .big-num, .cd-box b, .marquee span, .svc-chips a, .car-count{letter-spacing:0}
/* footer stays bubbly: Fredoka + Nunito */
footer{--f-display:"Fredoka", system-ui, sans-serif; --w-display:700; font-family:"Nunito", system-ui, sans-serif}
footer h4{font-family:"Fredoka", system-ui, sans-serif!important; font-style:normal!important; font-weight:600!important; font-size:1.25rem}
/* active / plain tabs: very light lilac instead of yellow */
nav.main a[aria-current="page"]:not(.tab-art), .shortcuts a[aria-current="page"]:not(.tab-art){background:#F3F0FD!important}
.shortcuts a:not(.tab-art){background:#fff}
.top-actions .btn.btn-cherry{background:#F3F0FD; box-shadow:inset 0 0 0 2px #B6B1D9; border-color:#B6B1D9}
.menu-btn{background:#F3F0FD; border-color:#B6B1D9}
/* play: single wide game */
.play-grid.one{grid-template-columns:minmax(0,760px); justify-content:center}
/* distinct backgrounds */
.svc-teaser{background-color:#FFFBEA!important; background-image:
  radial-gradient(ellipse 46% 62% at 50% 50%, #FFFBEA 52%, rgba(255,251,234,0) 100%),
  radial-gradient(circle, rgba(243,162,189,.75) 2.4px, transparent 3px), radial-gradient(circle, rgba(182,177,217,.75) 2.4px, transparent 3px)!important;
  background-size:auto, 64px 64px, 64px 64px!important; background-position:0 0, 0 0, 32px 32px!important}
body[data-page="services"] main{background-color:#FFFCF6!important; background-image:linear-gradient(rgba(182,177,217,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(182,177,217,.22) 1px, transparent 1px), linear-gradient(180deg,#FFF6EC,#FDF2F8)!important; background-size:26px 26px, 26px 26px, auto!important}

/* top bar outlines: sky blue */
.top-actions .btn.btn-cherry{background:#EFF6FD!important; box-shadow:inset 0 0 0 2px #A9C7E8!important; border-color:#A9C7E8!important}
.menu-btn{background:#EFF6FD!important; border-color:#A9C7E8!important}
.icon-btn.ig-ev{box-shadow:0 0 0 2px #A9C7E8!important}

/* get a quote: slim outline, button-like */
.top-actions .btn.btn-cherry{border:0!important; box-shadow:inset 0 0 0 1.5px #A9C7E8, 0 3px 0 #A9C7E8, 0 6px 12px -6px rgba(47,58,117,.35)!important; font-weight:800}
.top-actions .btn.btn-cherry:hover{transform:translateY(-1px); box-shadow:inset 0 0 0 1.5px #A9C7E8, 0 4px 0 #A9C7E8, 0 8px 14px -6px rgba(47,58,117,.4)!important}
.top-actions .btn.btn-cherry:active{transform:translateY(2px); box-shadow:inset 0 0 0 1.5px #A9C7E8, 0 1px 0 #A9C7E8!important}
/* scallop hides near the footer */
.hdr-scallop{transition:opacity .3s}
body.at-footer .hdr-scallop{opacity:0}

/* ===== calmer pass: blush, sage, cream, navy ===== */
:root{--blush:#F7C9D6; --blush-soft:#FCEDF1; --sage:#DCEBD3; --sage-soft:#F1F6EC; --cream:#FBF5EC; --rose:#D9658B}
/* buttons: the original pink pill everywhere, incl. get a quote */
.btn-cherry, .top-actions .btn.btn-cherry{background:#F7B6C9!important; color:var(--ink)!important; border:2.5px solid var(--ink)!important; box-shadow:3px 3px 0 var(--ink)!important; font-weight:800}
.top-actions .btn.btn-cherry:hover{transform:translate(-2px,-2px) rotate(-1.5deg)!important; box-shadow:5px 5px 0 var(--ink)!important}
.top-actions .btn.btn-cherry:active{transform:translate(2px,2px)!important; box-shadow:1px 1px 0 var(--ink)!important}
/* 100K+ badge: text centred */
.s2, .collage.trays .s2{display:flex!important; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:2px; line-height:1}

/* menu tabs styled like the service chips */
nav.main{gap:6px}
nav.main a.tab-art, nav.main a[aria-current="page"], .shortcuts a.tab-art, .shortcuts a[aria-current="page"]{font:var(--w-display) 1.08rem/1 var(--f-display)!important; text-transform:lowercase; padding:.45em .85em!important; border-radius:999px; border:2px solid var(--ink)!important; box-shadow:2px 2px 0 var(--ink)!important; transition:transform .2s}
nav.main a.tab-mw, .shortcuts a.tab-mw{transform:rotate(-1.5deg)} nav.main a.tab-cw, .shortcuts a.tab-cw{transform:rotate(1.5deg)} nav.main a.tab-cp, .shortcuts a.tab-cp{transform:rotate(-1deg)}
nav.main a.tab-art:hover, nav.main a[aria-current="page"]:hover, .shortcuts a.tab-art:hover{transform:rotate(0) scale(1.06)}
@media (max-width:1240px){nav.main.open a.tab-art, nav.main.open a[aria-current="page"]{transform:none; align-self:flex-start}}

/* standardise: every menu tab is the same chip button */
nav.main a, .shortcuts a{font:var(--w-display) 1.08rem/1 var(--f-display)!important; text-transform:lowercase; padding:.45em .85em!important; border-radius:999px; border:2px solid var(--ink)!important; box-shadow:2px 2px 0 var(--ink)!important; transition:transform .2s; background:#fff}
nav.main a:not(.tab-art):not([aria-current="page"]), .shortcuts a:not(.tab-art):not([aria-current="page"]){background:#fff!important}
nav.main a:hover, .shortcuts a:hover{transform:rotate(0) scale(1.06)}
nav.main{gap:5px} nav.main a, nav.main a.tab-art, nav.main a[aria-current="page"]{font-size:1rem!important; padding:.42em .7em!important}
.shortcuts a, .shortcuts a.tab-art, .shortcuts a[aria-current="page"]{font-size:1rem!important; padding:.42em .8em!important}
.brand, header .logo{flex-shrink:0}
.shortcuts a{font-size:1rem!important}

/* menu + IG buttons: same chip style as the tabs, in sky blue */
.menu-btn{font:var(--w-display) 1.05rem/1 var(--f-display)!important; text-transform:lowercase; padding:.45em .9em!important; border-radius:999px!important; border:2px solid #8FB3DD!important; background:#EFF6FD!important; box-shadow:2px 2px 0 #8FB3DD!important; color:var(--ink); transition:transform .2s}
.icon-btn.ig-ev{border:2px solid #8FB3DD!important; box-shadow:2px 2px 0 #8FB3DD!important; transition:transform .2s}
.menu-btn:hover, .icon-btn.ig-ev:hover{transform:rotate(0) scale(1.06)}

.thanks{text-align:center; display:grid; justify-items:center; gap:18px; padding-block:40px}
