/* Happiness Unpacked — About page styles (load after style.css) */

.nav ul a[aria-current="page"]{background:var(--green-t);color:var(--green-d)}

/* ---------- Hero ---------- */
.about-title{font-size:clamp(44px,6.2vw,86px);color:var(--ink);margin:16px 0 24px}
.about-title .g{color:var(--green)} .about-title .b{color:var(--blue)} .about-title .o{color:var(--orange)}
.belief-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.belief-chips span{font:700 13px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);animation:chipHop 3.2s ease-in-out infinite}
.belief-chips span:nth-child(1){background:var(--green);color:var(--paper)}
.belief-chips span:nth-child(2){background:var(--blue);color:var(--paper);animation-delay:.25s}
.belief-chips span:nth-child(3){background:var(--orange);color:var(--paper);animation-delay:.5s}
.belief-chips span:nth-child(4){animation-delay:.75s}
@keyframes chipHop{0%,70%,100%{transform:none}78%{transform:translateY(-8px) rotate(-4deg)}86%{transform:translateY(0) rotate(2deg)}}

.about-hero .sticker.c{top:auto;bottom:30%}

/* ---------- Shared section head ---------- */
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 40px}
.sec-head>*{min-width:0}
.sec-head .big-h{margin-top:16px}
.sec-head p{max-width:46ch;color:var(--ink-2);font-size:16px}
.sec-head.center{flex-direction:column;align-items:center;text-align:center}
.sec-head.center p{max-width:60ch}

/* ---------- Team ---------- */
.team{background:var(--green-t);padding-block:clamp(60px,8vw,110px);overflow:hidden}
.team .big-h .o{color:var(--orange)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px);margin-top:clamp(36px,5vw,60px)}
.tc{perspective:1100px;cursor:pointer;outline:none;--rx:0deg;--ry:0deg;border-radius:var(--r-lg)}
.tc:focus-visible{outline:3px dashed var(--orange);outline-offset:6px}
.tc-tilt{transition:transform .25s ease-out;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d}
.tc-in{position:relative;height:clamp(500px,46vw,540px);transform-style:preserve-3d;transition:transform .9s cubic-bezier(.4,1.5,.5,1)}
.tc.flipped .tc-in{transform:rotateY(180deg)}
.tc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:0 8px 0 var(--ink);overflow:hidden}
.tc-front{background:var(--paper);display:flex;flex-direction:column;padding:12px 12px 18px}
.tc-ph{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:26px 26px 14px 14px;background:var(--green-t)}
.tc:nth-child(2) .tc-ph{border-radius:999px 999px 14px 14px}
.tc:nth-child(3) .tc-ph{border-radius:14px 90px 14px 90px}
.tc:nth-child(4) .tc-ph{border-radius:90px 14px 90px 14px}
.tc-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.tc:hover .tc-ph img{transform:scale(1.07)}
.tc-name{font-family:var(--display);font-size:clamp(28px,2.6vw,34px);line-height:1;margin:16px 6px 4px;color:var(--green-d)}
.tc:nth-child(2) .tc-name{color:var(--blue-d)} .tc:nth-child(3) .tc-name{color:var(--orange-d)}
.tc-role{font:700 11.5px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 6px}
.tc-flip{display:inline-flex;align-items:center;gap:6px;margin:12px 6px 0;font:700 12px/1 var(--body);color:var(--orange-d)}
.tc-flip svg{width:14px;height:14px;transition:transform .5s}
.tc:hover .tc-flip svg{transform:rotate(-180deg)}
.tc-yrs{position:absolute;top:22px;right:22px;width:84px;height:84px;border-radius:50%;background:var(--orange);color:var(--paper);border:2px solid var(--ink);display:grid;place-items:center;text-align:center;font-family:var(--display);font-size:28px;line-height:.9;z-index:2;transform:rotate(10deg);animation:yrsBob 3.4s ease-in-out infinite}
.tc-yrs small{display:block;font:800 9.5px/1.1 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.tc:nth-child(2) .tc-yrs{background:var(--blue);animation-delay:.4s}
.tc:nth-child(3) .tc-yrs{background:var(--green);animation-delay:.8s}
.tc:nth-child(4) .tc-yrs{background:var(--paper);color:var(--ink);font-size:13px;animation-delay:1.2s}
@keyframes yrsBob{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-6px)}}
.tc-mo{position:absolute;left:18px;bottom:150px;width:58px;z-index:2;transition:transform .6s cubic-bezier(.3,1.8,.5,1);filter:drop-shadow(0 3px 0 rgba(29,29,27,.18))}
.tc-mo svg{width:100%;height:auto;display:block}
.tc:hover .tc-mo{transform:rotate(-24deg) scale(1.15) translateY(-6px)}
.tc-back{transform:rotateY(180deg);background:var(--green);color:var(--paper);padding:26px 24px;display:flex;flex-direction:column;gap:16px}
.tc:nth-child(2) .tc-back{background:var(--blue)}
.tc:nth-child(3) .tc-back{background:var(--orange)}
.tc:nth-child(4) .tc-back{background:var(--ink)}
.tc-back .k{font:800 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.tc-back h3{font-family:var(--display);font-size:32px;line-height:1}
.tc-back .r{font:700 11.5px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;opacity:.9;margin-top:-8px}
.tc-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tc-chips li{font:700 12.5px/1 var(--body);padding:9px 12px;border-radius:999px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);transform:scale(.6);opacity:0;transition:transform .5s cubic-bezier(.3,1.8,.5,1),opacity .3s}
.tc.flipped .tc-chips li{transform:none;opacity:1}
.tc.flipped .tc-chips li:nth-child(2){transition-delay:.45s} .tc.flipped .tc-chips li:nth-child(1){transition-delay:.35s} .tc.flipped .tc-chips li:nth-child(3){transition-delay:.55s} .tc.flipped .tc-chips li:nth-child(4){transition-delay:.65s}
.tc-big{font-family:var(--display);font-size:64px;line-height:.9}
.tc-big small{display:block;font:700 12px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;opacity:.9}
.tc-back blockquote{margin:auto 0 0;font-size:15px;line-height:1.55;font-weight:500;border-top:2px dashed rgba(255,255,255,.55);padding-top:14px}
.tc-back .mo-back{position:absolute;right:-18px;bottom:-18px;width:120px;opacity:.18;color:var(--paper)}
.tc-back .mo-back svg{width:100%;height:auto;display:block}

/* ---------- Attributions: rope rig ---------- */
.attrib{padding-block:clamp(60px,8vw,110px);overflow:hidden}
.attrib .big-h{color:var(--ink)}
.attrib .big-h .b{color:var(--blue)} .attrib .big-h .g{color:var(--green)}
.rig{position:relative;margin-top:clamp(30px,4vw,50px);display:flex;flex-direction:column;gap:10px}
.rope-row{position:relative}
.rope-row svg.rope{position:absolute;left:0;top:0;width:100%;overflow:visible}
.rope-row .peg{position:absolute;top:6px;width:22px;height:22px;border-radius:50%;background:var(--kraft-d);border:3px solid var(--ink);z-index:2}
.hang{position:absolute;top:0;left:0;transform-origin:50% 0;will-change:transform;display:flex;flex-direction:column;align-items:center}
.hang .knot{width:14px;height:14px;border-radius:50%;background:#8d6436;border:2px solid var(--ink);margin-bottom:-4px;z-index:2}
.hang .cord{width:7px;background:repeating-linear-gradient(135deg,#d3a466 0 4px,#8d6436 4px 7px);border-left:1.5px solid rgba(29,29,27,.5);border-right:1.5px solid rgba(29,29,27,.5)}
.btag{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);display:grid;place-items:center;padding:16% 12% 12%;cursor:grab;transition:transform .3s cubic-bezier(.3,1.8,.5,1);border:2px solid var(--ink)}
.btag::before{content:"";position:absolute;top:8px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--paper);border:3px solid var(--kraft-d);box-shadow:inset 0 0 0 2px var(--ink)}
.btag img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;pointer-events:none}
.hang:hover .btag{transform:scale(1.07)}
.btag-name{margin-top:12px;font:700 11.5px/1.35 var(--body);letter-spacing:.06em;text-transform:uppercase;text-align:center;color:var(--ink-2);max-width:150px}
.hang:nth-child(3n+1) .btag{background:var(--paper)}
.hang .btag:focus-visible{outline:3px dashed var(--orange);outline-offset:4px}

/* ---------- Partners: brick wall ---------- */
.partners{background:var(--orange-t);padding-block:clamp(60px,8vw,110px) clamp(30px,4vw,50px);overflow:hidden}
.partners .big-h{color:var(--orange-d)}
.partners .big-h .b{color:var(--blue)}
.wall-wrap{position:relative;margin-top:clamp(40px,5vw,70px)}
.wall{display:flex;flex-direction:column-reverse;align-items:center;gap:8px;position:relative;z-index:1}
.wall.thud{animation:thud .25s ease-out}
@keyframes thud{0%{transform:none}40%{transform:translateY(2px)}100%{transform:none}}
.course{display:flex;gap:8px;justify-content:center}
.brick{position:relative;width:var(--bw,230px);height:var(--bh,92px);border:2px solid var(--ink);border-radius:12px;box-shadow:0 5px 0 var(--ink);display:flex;flex-direction:column;justify-content:center;padding:10px 16px;color:var(--paper);text-decoration:none;cursor:pointer;transition:transform .3s cubic-bezier(.3,1.8,.5,1);overflow:hidden;user-select:none}
.brick::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(255,255,255,.22) 0 3px,transparent 4px),radial-gradient(circle at 74% 68%,rgba(0,0,0,.12) 0 3px,transparent 4px),radial-gradient(circle at 52% 22%,rgba(0,0,0,.1) 0 2px,transparent 3px);pointer-events:none}
.brick b{position:relative;font-family:var(--display);font-weight:400;font-size:clamp(17px,1.7vw,21px);line-height:1.05}
.brick span{position:relative;font:700 11px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-top:5px;opacity:.92}
.brick.k-green{background:var(--green)} .brick.k-blue{background:var(--blue)} .brick.k-orange{background:var(--orange)}
.brick.k-kraft{background:linear-gradient(180deg,var(--kraft-l),var(--kraft));color:var(--ink)}
.brick.k-white{background:var(--paper);color:var(--ink)}
.brick:hover{transform:translateY(-7px) rotate(-2deg)}
.brick.wig{animation:wig .45s ease}
@keyframes wig{0%,100%{transform:none}25%{transform:rotate(-4deg) translateY(-6px)}75%{transform:rotate(3deg)}}
.brick.cta-brick{background:transparent;color:var(--orange-d);border-style:dashed;box-shadow:none;align-items:center;text-align:center;animation:ctaPulse 2.4s ease-in-out infinite}
.brick.cta-brick span{color:var(--ink)}
@keyframes ctaPulse{0%,100%{transform:none}50%{transform:translateY(-6px)}}
.brick.cta-brick:hover{background:var(--paper);animation:none}
.brick.pending{opacity:0;transform:translateY(-70vh) rotate(var(--rot,0deg))}
.brick.drop{animation:brickDrop .75s cubic-bezier(.35,1.4,.5,1) both}
@keyframes brickDrop{0%{opacity:1;transform:translateY(-70vh) rotate(var(--rot,0deg))}70%{transform:translateY(4px) rotate(0)}100%{opacity:1;transform:none}}
.dust{position:absolute;bottom:-6px;left:50%;width:10px;height:10px;border-radius:50%;background:rgba(184,132,74,.55);pointer-events:none;animation:dust .6s ease-out forwards;z-index:3}
@keyframes dust{from{transform:translate(-50%,0) scale(.3);opacity:1}to{transform:translate(calc(-50% + var(--dx)),-14px) scale(1.8);opacity:0}}
.wall-ground{position:relative;height:36px;margin:2px -50vw 0;background:var(--green);border-top:3px solid var(--green-d)}
.wall-ground::before{content:"";position:absolute;inset:-14px 0 auto;height:16px;background:radial-gradient(circle at 8px 16px,var(--green) 8px,transparent 9px) 0 0/26px 16px repeat-x}

/* ---------- Responsive ---------- */
@media (max-width:1060px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){
  .team-grid{grid-template-columns:1fr}
  .tc-in{height:520px}
  .belief-chips span{font-size:12px}
  .brick{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){
  .brick.pending{opacity:1;transform:none}
  .tc-chips li{transform:none;opacity:1}
}

/* ---------- Hero: adventure course (ziplines + Burma bridge) ---------- */
.adv-wrap{position:relative;min-width:0}
.adv{position:relative;width:100%;aspect-ratio:1/1.36;max-width:100%;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.adv svg.adv-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.adv-hint{margin-top:10px;text-align:center;font:600 13px/1.4 var(--body);color:var(--ink-2)}
.post{position:absolute;width:14px;margin-left:-7px;background:linear-gradient(90deg,var(--kraft-d),var(--kraft));border:2px solid var(--ink);border-radius:6px;z-index:1}
.post-top{position:absolute;z-index:2;pointer-events:none;animation:bob 4s ease-in-out infinite}
.post-top svg{width:100%;height:auto;display:block}
.rider,.walker{position:absolute;left:0;top:0;transform-origin:50% 0;will-change:transform;cursor:grab;z-index:3;touch-action:none}
.rider:active,.walker:active{cursor:grabbing}
.rider .trolley{position:absolute;left:50%;top:-11px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--orange);border:3px solid var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.rider .trolley::after{content:"";position:absolute;inset:5px;border-radius:50%;border:2px dashed var(--ink);animation:spin 1s linear infinite;animation-play-state:var(--spin,paused)}
@keyframes spin{to{transform:rotate(360deg)}}
.rider svg.straps{display:block;width:100%;overflow:visible}
.pol{margin:0;background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:6px 6px 0;box-shadow:0 5px 0 rgba(29,29,27,.85)}
.pol img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;display:block;pointer-events:none}
.pol figcaption{font-family:var(--display);font-size:clamp(12px,1.25vw,16px);line-height:1;text-align:center;padding:7px 2px 8px;color:var(--green-d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rider:nth-child(3n+1) .pol figcaption{color:var(--blue-d)} .rider:nth-child(3n+2) .pol figcaption{color:var(--orange-d)}
.rider .pol{transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.rider:hover .pol{transform:scale(1.04)}
.rider.gone{opacity:0;transition:opacity .4s}
.rider.pop{animation:riderPop .55s cubic-bezier(.3,1.8,.5,1)}
@keyframes riderPop{from{opacity:0;scale:.4}to{opacity:1;scale:1}}
.whee{position:absolute;top:-38px;left:62%;font-family:var(--display);font-size:clamp(14px,1.4vw,18px);background:var(--paper);color:var(--orange-d);border:2px solid var(--ink);border-radius:999px;padding:5px 10px;white-space:nowrap;opacity:0;transform:scale(.4) rotate(-8deg);transition:opacity .2s,transform .3s cubic-bezier(.3,1.8,.5,1);pointer-events:none}
.rider.fast .whee,.walker.hop .whee{opacity:1;transform:scale(1) rotate(-8deg)}
.walker{transform-origin:50% 100%}
.walker .pol{border-radius:8px;padding:4px 4px 0}
.walker .pol figcaption{font-size:clamp(11px,1.05vw,13px);padding:5px 2px 6px;color:var(--orange-d)}
.walker .legs{display:flex;justify-content:center;gap:10px;height:12px}
.walker .legs i{width:5px;height:12px;background:var(--ink);border-radius:3px;transform-origin:50% 0;animation:legs .3s ease-in-out infinite alternate}
.walker .legs i+i{animation-direction:alternate-reverse}
.bridge-sign{position:absolute;z-index:2;background:linear-gradient(180deg,var(--kraft-l),var(--kraft));border:2px solid var(--ink);border-radius:8px;padding:6px 10px;font-family:var(--display);font-size:clamp(12px,1.2vw,15px);line-height:1;color:var(--ink);transform:rotate(-6deg);white-space:nowrap}
.zip-sign{position:absolute;z-index:2;background:var(--orange);color:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:6px 11px;font-family:var(--display);font-size:clamp(12px,1.2vw,15px);line-height:1;transform:rotate(-8deg);white-space:nowrap}

/* ---------- FAQ ---------- */
.faq{background:var(--blue-t);padding-block:clamp(60px,8vw,110px);overflow:hidden}
.faq .big-h{color:var(--blue-d);margin-top:16px}
.faq .big-h .o{color:var(--orange)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(30px,5vw,70px);align-items:start}
.faq-side{position:sticky;top:110px}
.faq-side>p{margin-top:16px;color:var(--ink-2);max-width:44ch}
.faq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.faq-tab{font:700 13.5px/1 var(--body);padding:11px 15px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .25s cubic-bezier(.3,1.8,.5,1),background .2s,color .2s;display:inline-flex;align-items:center;gap:8px}
.faq-tab .n{font-size:11px;background:var(--blue-t);color:var(--blue-d);border-radius:999px;padding:3px 6px}
.faq-tab:hover{transform:translateY(-3px) rotate(-2deg)}
.faq-tab[aria-selected="true"]{background:var(--blue);color:var(--paper);box-shadow:0 4px 0 var(--ink)}
.faq-tab[aria-selected="true"] .n{background:var(--paper)}
.faq-ask{margin-top:28px;background:var(--paper);border:2px dashed var(--ink);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.faq-ask b{font-family:var(--display);font-weight:400;font-size:24px;color:var(--orange-d)}
.faq-ask span{font-size:14.5px;color:var(--ink-2)}
.faq-ask .btn{margin-top:6px;padding:12px 18px;font-size:14px}
.faq-list{display:flex;flex-direction:column;gap:14px;min-width:0}
.qa{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-md);box-shadow:0 5px 0 var(--ink);transition:transform .3s cubic-bezier(.3,1.6,.5,1),box-shadow .3s;animation:qaIn .55s cubic-bezier(.3,1.5,.5,1) both;animation-delay:calc(var(--i)*55ms)}
@keyframes qaIn{from{opacity:0;transform:translateY(24px) rotate(-1.5deg)}to{opacity:1;transform:none}}
.qa:hover{transform:translateY(-2px)}
.qa.open{box-shadow:0 7px 0 var(--ink)}
.qa h3{margin:0;font:inherit}
.qa-q{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:none;border:0;padding:18px 18px 18px 16px;font:700 clamp(15.5px,1.4vw,17.5px)/1.35 var(--body);color:var(--ink);cursor:pointer;border-radius:var(--r-md)}
.qa-ic{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--green-t);transition:transform .5s cubic-bezier(.3,1.8,.5,1)}
.qa-ic svg{width:26px;height:auto}
.qa.open .qa-ic{transform:rotate(-14deg) scale(1.12)}
.qa-q .t{flex:1;min-width:0}
.qa-pm{flex:0 0 auto;position:relative;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);transition:transform .4s cubic-bezier(.3,1.6,.5,1),background .3s}
.qa-pm::before,.qa-pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2.5px;margin:-1.25px 0 0 -6px;background:var(--ink);border-radius:2px}
.qa-pm::after{transform:rotate(90deg)}
.qa.open .qa-pm{transform:rotate(135deg);background:var(--orange)}
.qa-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,1.2,.5,1)}
.qa.open .qa-a{grid-template-rows:1fr}
.qa-a>div{overflow:hidden;min-height:0}
.qa-a p{padding:0 22px 20px 70px;color:var(--ink-2);font-size:15.5px;line-height:1.65}
.qa-a p+p{padding-top:0;margin-top:-8px}
.qa:nth-child(3n+2) .qa-ic{background:var(--orange-t)} .qa:nth-child(3n) .qa-ic{background:var(--blue-t)}

@media (max-width:980px){
  .faq-grid{grid-template-columns:minmax(0,1fr)}
  .faq-side{position:static;min-width:0}
}
@media (max-width:640px){
  .faq-tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gut));padding:4px var(--gut) 10px;scrollbar-width:none}
  .faq-tab{flex:0 0 auto}
  .qa-a p{padding:0 18px 18px 18px}
  .qa-ic{width:34px;height:34px}
}
@media (prefers-reduced-motion:reduce){.qa{animation:none}}

/* brand characters on About */
.post-top.el{translate:0 -96%;filter:drop-shadow(0 3px 0 rgba(29,29,27,.15))}
.tc-mo{width:66px;bottom:146px}
.tc-mo .elm{filter:drop-shadow(0 3px 0 rgba(29,29,27,.22))}
