/* v4: new home hero + about page */
.hh2{position:relative;min-height:100svh;padding:120px var(--pad) 0;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 0,var(--sage-light),transparent 62%),linear-gradient(var(--ivory),var(--sage-pale))}
.hh2 .bigtxt{position:absolute;left:50%;top:22%;transform:translateX(-50%);font:800 clamp(14rem,34vw,34rem)/.8 var(--font-display);color:transparent;-webkit-text-stroke:2px rgba(131,167,122,.16);letter-spacing:-.06em;pointer-events:none;user-select:none}
.hh2-in{position:relative;z-index:2;max-width:980px;animation:heroIn 1s var(--ease) both}
.hh2 h1{font:500 clamp(2.6rem,5.8vw,5.4rem)/1.03 var(--font-editorial);letter-spacing:-.03em;margin:1rem 0}.hh2 h1 em{color:var(--sage-d)}
.hh2 .lead{max-width:40em;margin:0 auto;color:var(--olive)}.hh2 .cta-row{justify-content:center;margin-top:1.4rem}
.hh2 .btn.sage{background:var(--forest);color:#fff}.hh2 .btn.ghost{color:var(--forest);border:1.5px solid var(--forest)}.hh2 .btn.ghost:hover{background:var(--forest);color:#fff}
.hh2 .label{background:var(--sage-light);color:var(--olive);padding:8px 16px;border-radius:999px}
.trio{position:relative;z-index:2;margin-top:auto;padding-top:36px;width:100%;max-width:1360px;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.6vw,22px);align-items:end}
.trio a{position:relative;display:block;border-radius:999px 999px 26px 26px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(20,40,31,.55);animation:rise 1.3s var(--ease) both}
.trio a:nth-child(1),.trio a:nth-child(5){height:24vh;min-height:150px}.trio a:nth-child(2),.trio a:nth-child(4){height:31vh;min-height:190px}.trio a:nth-child(3){height:38vh;min-height:230px}
.trio a:nth-child(1){animation-delay:.1s}.trio a:nth-child(2){animation-delay:.25s}.trio a:nth-child(3){animation-delay:.4s}.trio a:nth-child(4){animation-delay:.55s}.trio a:nth-child(5){animation-delay:.7s}
.trio img{width:100%;height:100%}.trio a:hover img{transform:scale(1.1)}
.trio span{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:rgba(251,250,246,.94);color:var(--forest);font:700 .75rem var(--font-display);padding:7px 14px;border-radius:999px;white-space:nowrap;transition:.4s var(--ease)}.trio a:hover span{background:var(--lime);bottom:20px}
@keyframes rise{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:none}}
@media(max-width:700px){.hh2 .bigtxt{display:none}.trio{grid-template-columns:repeat(3,1fr)}.trio a:nth-child(1),.trio a:nth-child(5){display:none}.trio a:nth-child(2),.trio a:nth-child(4){height:20vh}.trio a:nth-child(3){height:27vh}}
/* about */
.ab-hero{position:relative;padding:150px var(--pad) 90px;overflow:hidden;background:linear-gradient(120deg,var(--ivory),var(--sage-pale) 65%,var(--sage-light))}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;position:relative}
.ab-hero h1{font:500 clamp(2.5rem,5vw,4.8rem)/1.03 var(--font-editorial);letter-spacing:-.03em;margin:1.2rem 0}.ab-hero h1 em{color:var(--sage-d)}
.ab-hero .btn.sage{background:var(--forest);color:#fff}.ab-hero .btn.ghost{color:var(--forest);border:1.5px solid var(--forest)}
.ab-collage{position:relative;aspect-ratio:1/1.02;width:min(100%,560px);justify-self:center}
.ab-collage>div{position:absolute;overflow:hidden;box-shadow:0 40px 70px -30px rgba(20,40,31,.55)}.ab-collage img{width:100%;height:100%}
.ab-collage .a{right:0;top:0;width:62%;height:74%;border-radius:999px 999px 40px 40px}
.ab-collage .b{left:0;top:34%;width:42%;aspect-ratio:1;border-radius:50%;border:8px solid var(--ivory);animation:bob 7s ease-in-out infinite}
.ab-collage .c{right:10%;bottom:0;width:48%;height:32%;border-radius:28px;border:6px solid #fff;transform:rotate(-4deg)}
.ab-collage .ring{position:absolute;right:-20px;top:-20px;width:calc(62% + 40px);height:calc(74% + 40px);border:2px dashed var(--sage);border-radius:999px 999px 56px 56px;opacity:.55}
.qmark{display:block;font:400 9rem/.6 var(--font-editorial);color:var(--lime);opacity:.6}.bigq{font:500 clamp(2rem,4.6vw,4rem)/1.1 var(--font-editorial);letter-spacing:-.02em}.bigq em{color:var(--lime)}
@media(max-width:900px){.ab-grid{grid-template-columns:1fr}.ab-hero{padding-top:110px}.ab-collage{width:min(100%,380px)}}
html,body{overflow-x:clip}
/* v5: home hero bg slider, FAQ contrast, Movement Lab, gallery */
.hh2>.hbg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hh2>.hbg img{position:absolute;max-width:none;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(6px) saturate(1.05);opacity:0;animation:hbgfade 24s ease-in-out infinite;will-change:opacity}
.hh2>.hbg img:nth-child(1){animation-delay:-1.5s}.hh2>.hbg img:nth-child(2){animation-delay:4.5s}.hh2>.hbg img:nth-child(3){animation-delay:10.5s}.hh2>.hbg img:nth-child(4){animation-delay:16.5s}
.hh2>.hbg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,250,246,.74),rgba(251,250,246,.52) 45%,rgba(240,245,236,.8))}
.hh2>.orb{z-index:1}.hh2 .bigtxt{z-index:1}
@keyframes hbgfade{0%{opacity:0}5%,25%{opacity:1}31%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hh2>.hbg img{animation:none}.hh2>.hbg img:first-child{opacity:1}}
/* FAQ: dark text on white cards */
.faq-wrap .faq details{color:var(--forest)}.faq-wrap .faq summary{color:var(--forest)}.faq-wrap .faq details p{color:var(--olive)}
/* Movement Lab */
.ml-row{display:flex;gap:14px;height:min(62vh,540px);min-height:420px;margin-top:3rem}
.ml-p{position:relative;flex:1;min-width:0;border-radius:999px;overflow:hidden;background:var(--forest-deep);color:#fff;cursor:pointer;transition:flex .7s var(--ease),border-radius .7s var(--ease);outline-offset:4px}
.ml-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}
.ml-p:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,28,21,.88),rgba(14,28,21,.12) 60%)}
.ml-p .n{position:absolute;z-index:2;top:22px;left:50%;transform:translateX(-50%);font:italic 400 1.5rem var(--font-editorial);color:var(--lime)}
.ml-p .v{position:absolute;z-index:2;left:50%;bottom:34px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font:700 1.05rem var(--font-display);letter-spacing:.04em;white-space:nowrap;transition:opacity .3s}
.ml-p .x{position:absolute;z-index:2;left:30px;right:30px;bottom:34px;opacity:0;transform:translateY(16px);transition:.5s var(--ease);pointer-events:none}
.ml-p .x b{display:block;font:500 clamp(1.6rem,2.4vw,2.3rem)/1.1 var(--font-editorial)}.ml-p .x span{display:block;margin-top:.5rem;color:#e3eddc;font-size:.98rem;max-width:22em}
.ml-row:not(:hover):not(:focus-within) .ml-p:first-child,.ml-p:hover,.ml-p:focus-within{flex:4.2;border-radius:42px}
.ml-row:not(:hover):not(:focus-within) .ml-p:first-child .x,.ml-p:hover .x,.ml-p:focus-within .x{opacity:1;transform:none;transition-delay:.25s}
.ml-row:not(:hover):not(:focus-within) .ml-p:first-child .v,.ml-p:hover .v,.ml-p:focus-within .v{opacity:0}
.ml-row:not(:hover):not(:focus-within) .ml-p:first-child .n,.ml-p:hover .n,.ml-p:focus-within .n{left:30px;transform:none}
.ml-p:hover img{transform:scale(1.06)}
@media(max-width:800px){.ml-row{flex-direction:column;height:auto;min-height:0;gap:12px}.ml-p,.ml-row:not(:hover):not(:focus-within) .ml-p:first-child,.ml-p:hover,.ml-p:focus-within{flex:none;height:150px;border-radius:30px}.ml-p .v{display:none}.ml-p .x{opacity:1;transform:none;left:20px;bottom:18px}.ml-p .n{left:20px;transform:none;top:16px}.ml-p .x b{font-size:1.45rem}}
/* Gallery */
.gl-hero{position:relative;overflow:hidden;padding:140px 0 60px;text-align:center;background:linear-gradient(var(--ivory),var(--sage-pale))}
.gl-in{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:0 var(--pad)}
.gl-hero h1{font:500 clamp(2.5rem,6vw,5.2rem)/1.03 var(--font-editorial);letter-spacing:-.03em;margin:1.1rem 0}.gl-hero h1 em{color:var(--sage-d)}
.gl-hero .lead{margin-inline:auto;color:var(--olive)}
.gl-rows{position:relative;z-index:2;margin-top:48px;display:grid;gap:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.gl-row{overflow:hidden}.gl-row .track{display:flex;gap:16px;width:max-content;animation:glslide 60s linear infinite}.gl-row.rev .track{animation-direction:reverse}
.gl-row img{height:clamp(130px,17vw,210px);width:clamp(200px,26vw,320px);object-fit:cover;border-radius:999px;flex:none;box-shadow:0 20px 40px -24px rgba(20,40,31,.5)}
.gl-row img:nth-child(3n+2){border-radius:28px}.gl-row.rev img:nth-child(3n+2){border-radius:999px}.gl-row.rev img:nth-child(3n){border-radius:28px}
@keyframes glslide{to{transform:translateX(calc(-50% - 8px))}}
@media(prefers-reduced-motion:reduce){.gl-row .track{animation:none}}
.gl-body{padding-top:36px}
.gl-f{position:sticky;top:78px;z-index:6;justify-content:center;width:max-content;max-width:100%;margin:0 auto;padding:8px;background:rgba(251,250,246,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(32,59,47,.1);border-radius:999px;box-shadow:0 14px 34px -22px rgba(20,40,31,.5)}
.gl-f button{border-color:transparent;transition:.3s}.gl-f button:hover{background:var(--sage-pale)}.gl-f button[aria-pressed=true]{background:var(--forest);color:#fff}
.mason.gl-grid{columns:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(180px,20vw,260px);grid-auto-flow:dense;gap:14px;margin-top:28px}
.gl-grid figure{margin:0;border-radius:26px}.gl-grid figure:nth-child(7n+1),.gl-grid figure:nth-child(7n+5){grid-row:span 2}.gl-grid figure:nth-child(7n+4){grid-column:span 2}
.gl-grid img{width:100%;height:100%;object-fit:cover}
.gl-grid figcaption{left:0;right:0;bottom:0;padding:44px 18px 16px;border-radius:0;background:linear-gradient(0deg,rgba(14,28,21,.8),transparent);color:#fff;display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(12px);transition:.4s var(--ease);letter-spacing:.06em}
.gl-grid figcaption i{font:700 1.1rem var(--font-display);width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--forest-deep);display:grid;place-items:center;font-style:normal}
.gl-grid figure:hover figcaption,.gl-grid figure:focus-visible figcaption{opacity:1;transform:none}
@media(hover:none){.gl-grid figcaption{opacity:1;transform:none}}
@media(max-width:900px){.mason.gl-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.gl-grid figure:nth-child(7n+4){grid-column:span 2}.gl-hero{padding-top:110px}.gl-f{border-radius:28px}}
.faq-wrap .label{color:var(--lime)}
.gl-hero .label{background:var(--sage-light);color:var(--olive);padding:8px 16px;border-radius:999px}
