html,body{margin:0;padding:0;background:#fff}body[data-page=happy]{overflow-x:clip}
#happy-main .happy-media img{image-rendering:auto}
#happy-main .integration-sound-play{position:absolute;right:16px;bottom:16px;z-index:2;padding:10px 14px;border:1px solid #e7e7e7;border-radius:999px;background:#fffffff0;color:#000;-webkit-text-fill-color:#000;font-size:14px;font-weight:500;line-height:1.4;box-shadow:0 2px 8px #0000000d;cursor:pointer}
#happy-main .integration-sound-play[hidden]{display:none}
#happy-main{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1440px;min-height:100vh;margin-inline:auto;overflow:visible}
.ssr-variant{display:contents}.case-close{position:fixed;right:20px;top:16px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#e7e7e7dd;backdrop-filter:blur(12px);color:#000;z-index:20;transition:background .2s,transform .3s}.case-close:hover{background:#ccc;transform:rotate(90deg)}
#happy-main .happy-hero{gap:64px}#happy-main .happy-hero h1{color:#000!important}#happy-main .happy-hero [data-text-style=heading-2]{--type-tracking:-.01em}#happy-main [data-text-style=body-1]{--type-leading:1.55;--type-tracking:.01em}
#happy-main .framer-1uv3c7h{width:100%;max-width:100%}#happy-main .framer-17ol3ox{max-width:760px;width:100%}#happy-main .happy-tags{flex-wrap:wrap;gap:12px}
#happy-main .happy-results-core{width:100%;max-width:100%;background:#db5306}#happy-main .happy-results [data-text-style]{--type-color:#fff;--type-weight:500}#happy-main .happy-results [data-text-style^=body]{--type-weight:400}
#happy-main .happy-columns>*{min-width:0}#happy-main .happy-media{width:100%;height:auto;aspect-ratio:var(--media-ratio);position:relative}
#happy-main .happy-example{display:grid;grid-template-columns:minmax(0,422fr) 56px minmax(0,546fr);gap:32px}
#happy-main .happy-example .framer-cbxxc8,#happy-main .happy-example .framer-wi188m{width:100%}
.case-toc{display:none}[data-case-anchor]{scroll-margin-top:74px}
@media(min-width:1280px) and (hover:hover) and (pointer:fine){
 .case-toc{display:block;position:fixed;left:16px;top:74px;width:130px;z-index:10;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}.case-toc.is-visible{opacity:1;visibility:visible}
 .case-toc ol{display:flex;flex-direction:column;align-items:flex-start;gap:12px;list-style:none;margin:0;padding:0}.case-toc li{margin:0;padding:0}.case-toc a{display:block;width:max-content;padding:4px 12px;border-radius:1000px;color:#5c5c5c;background:transparent;font-size:14px;font-weight:500;line-height:20px;letter-spacing:normal;text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s}.case-toc a:hover{background:#f2f2f2;color:#404040}.case-toc a[aria-current=location]{background:#e8e8e8;color:#141414;transition:none}.case-toc a:focus-visible{outline:2px solid;outline-offset:3px}
 #happy-main{width:calc(100% - 320px)}
}
@media(max-width:1759px){
 #happy-main .happy-hero{padding:100px 48px 64px}#happy-main .happy-cover{padding:0 48px}#happy-main .happy-section{padding:80px 48px;gap:64px}#happy-main .happy-footer{padding:80px 48px}#happy-main .happy-results{padding:64px 24px}
 #happy-main .framer-19fzzqx{padding:48px 48px 0}#happy-main .framer-nhpaw{padding:0 48px 48px}#happy-main .happy-results [data-text-style=heading-1]{--type-size:64px}
}
@media(max-width:1099px){
 #happy-main .happy-columns,#happy-main .happy-takeaways{flex-direction:column;gap:32px}#happy-main .happy-columns>div,#happy-main .happy-columns>.ssr-variant>div,#happy-main .happy-takeaways>div,#happy-main .happy-takeaways>.ssr-variant>div{width:100%;max-width:none;flex:none}
 #happy-main .happy-example{grid-template-columns:1fr;justify-items:center;gap:32px;padding:32px}#happy-main .happy-example .framer-cbxxc8,#happy-main .happy-example .framer-wi188m{max-width:600px}#happy-main .happy-example .framer-16t34d5{transform:rotate(90deg)}
 #happy-main .happy-results-core{gap:64px}#happy-main .happy-results [data-text-style=heading-1]{--type-size:52px}#happy-main .happy-results [data-text-style=heading-2]{--type-size:40px}
}
@media(max-width:699px){
 #happy-main .happy-hero{padding:96px 20px 48px;gap:32px}#happy-main .happy-hero h1{--type-size:34px;--type-leading:1.2;text-align:center!important}#happy-main .framer-tb6ql8{gap:32px}#happy-main .framer-17ol3ox p{text-align:center!important}#happy-main .happy-tags{justify-content:center;gap:8px}#happy-main .framer-fX5g9.framer-k6vrgg{padding:10px 12px}#happy-main .happy-cover{padding:0 20px}
 #happy-main .happy-section{padding:56px 20px;gap:40px}#happy-main .happy-section [data-text-style=heading-3]{--type-size:32px;--type-leading:1.2}#happy-main [data-text-style=body-1],#happy-main [data-text-style=body-2]{--type-size:18px;--type-leading:1.6;--type-tracking:.005em}
 #happy-main .framer-1ccxlc1,#happy-main .framer-yvmqgf,#happy-main .framer-xwapoh{gap:24px}#happy-main .happy-example{padding:20px;border-radius:16px;gap:24px}#happy-main .happy-example .framer-16t34d5{width:40px}
 #happy-main .framer-1hzqfgj,#happy-main .framer-sd8qvo{padding:12px;gap:16px;border-radius:16px}#happy-main .framer-gd0r7g,#happy-main .framer-9aybch{border-radius:10px}
 #happy-main .happy-results{padding:48px 0}#happy-main .happy-results-core{border-radius:0;gap:40px}#happy-main .framer-19fzzqx{padding:32px 20px 0}#happy-main .framer-nhpaw{padding:0 20px 24px}#happy-main .happy-results [data-text-style=heading-1]{--type-size:36px;--type-leading:1.18}#happy-main .happy-results [data-text-style=heading-2]{--type-size:32px;--type-leading:1.2}#happy-main .framer-1mkhn48{border-radius:12px}#happy-main .happy-footer{padding:40px 20px 64px}#happy-main .framer-1rqnxtt{flex-direction:column;gap:32px}#happy-main .framer-1rqnxtt>.ssr-variant>div{width:100%;flex:none}#happy-main .framer-13qscw{flex-wrap:wrap;gap:12px}#happy-main .framer-13qscw p{font-size:24px!important}.case-close{right:16px;top:12px;width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.case-close,.case-toc,.case-toc a{transition:none}}
#happy-main .happy-tags{width:100%;height:auto}
@media(max-width:699px){#happy-main .framer-1ccxlc1,#happy-main .framer-yvmqgf,#happy-main .framer-xwapoh{padding-top:32px}}
@media(max-width:1099px){#happy-main .framer-cqrp0w,#happy-main .framer-156h1cf{width:100%;max-width:none}}

/* Desktop introduction follows Norvana's centered layout, retaining the photo overlay. */
@media(min-width:700px){
 #happy-main .happy-hero{align-items:center}
 #happy-main .happy-hero h1.framer-text,#happy-main .happy-hero .framer-17ol3ox p.framer-text{text-align:center!important;--framer-text-alignment:center!important}
 #happy-main .happy-hero .framer-17ol3ox{max-width:893px;margin-inline:auto}
 #happy-main .happy-hero .framer-11d7cr3,#happy-main .happy-tags .framer-1z027bm-container{display:none}
 #happy-main .happy-tags{justify-content:center}
 #happy-main #insights{white-space:normal;word-break:normal;overflow-wrap:normal;text-wrap:balance}
 #happy-main #insights br{display:none}
}

/* Mobile introductions read from a consistent left edge. */
@media(max-width:699px){
 #happy-main .happy-hero{align-items:flex-start}
 #happy-main .happy-hero h1.framer-text,#happy-main .happy-hero p.framer-text{text-align:left!important;--framer-text-alignment:left!important}
 #happy-main .happy-tags{justify-content:flex-start;align-self:stretch;width:100%}
}

/* Project challenge uses the existing case-study text styles. */
#happy-main .happy-challenge-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;width:100%}
#happy-main .happy-challenge-columns>div{min-width:0}
@media(max-width:699px){#happy-main .happy-challenge-columns{grid-template-columns:1fr;gap:24px}}

/* Mobile cover follows the full-width case-study imagery. */
@media(max-width:699px){
 #happy-main .happy-cover{padding-inline:0}
 #happy-main .happy-cover .happy-media,#happy-main .happy-cover .happy-media>div,#happy-main .happy-cover img{border-radius:0!important}
 #happy-main .happy-cover .happy-media{overflow:hidden}
 #happy-main .happy-cover img{transform:scale(1.03)}
 #happy-main .happy-hero .framer-11d7cr3,#happy-main .happy-tags .framer-1z027bm-container{display:none}
}
