/* Brand-led presentation: native CSS, original vector assets, finite motion. */
.motion-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding-block:62px 82px;min-height:570px}.motion-hero h1{font-size:clamp(42px,4.6vw,64px);line-height:1.12;max-width:14ch;margin-bottom:26px}.motion-hero .lead{max-width:35ch;margin-bottom:30px}.motion-hero .actions{gap:24px}.motion-hero .text-link,.motion-hero .text-link:hover,.catalogue-contact .text-link:hover{text-decoration:none}.motion-hero .text-link:hover{color:var(--blue-hover)}
.brand-composition{position:relative;height:430px;isolation:isolate}.brand-composition>a{position:absolute;display:flex;flex-direction:column;align-items:center;text-decoration:none;transition:transform .35s ease;line-height:1.2}.brand-composition>a:hover{transform:translateY(-6px)}.brand-composition>a>span{font-size:14px;font-weight:500;color:var(--muted);margin-top:-6px}.composition-saldo{width:300px;left:0;top:40px;z-index:3}.composition-hairly{width:235px;right:-4px;top:-8px;z-index:2}.composition-hem{width:115px;right:52px;bottom:4px;z-index:1}.composition-hem .motion-mark-svg{width:100%}.composition-hem>span{margin-top:10px!important}
:root{--hairly-tint:#f4eff9;--hem-tint:#e8e9fa}.motion-mark-svg{width:100%;height:auto;overflow:visible}.saldo-mark{width:100%;position:relative;aspect-ratio:1;isolation:isolate}.saldo-mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hem-light{opacity:0;filter:drop-shadow(0 0 8px #cfccff)}
.home-app-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:28px}.home-app{min-width:0;overflow:hidden;border-radius:24px;background:var(--soft);padding:42px 0 0;display:flex;flex-direction:column}.home-app-hairly{background:var(--hairly-tint)}.home-app-copy{padding:0 40px 36px}.home-app h3{font-size:clamp(26px,2.5vw,34px);line-height:1.18;letter-spacing:-.035em;margin-bottom:20px}.home-app p:not(.product-name){font-size:16px;line-height:1.7;max-width:37ch;color:var(--muted);margin-bottom:18px}.home-app .product-name{margin-bottom:20px;font-size:17px}.home-app-screen{display:block;margin:0 28px -1px;perspective:1000px;margin-top:auto}.home-app-screen img{width:100%;border-radius:12px 12px 0 0;box-shadow:0 14px 36px #10244914;transform-origin:50% 100%}.catalogue-link{margin-top:36px}.custom-story-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.custom-story-grid figure img{width:100%;border-radius:16px;aspect-ratio:1.25;object-fit:cover}.custom-story-grid h2,.hotel-case h2{margin-bottom:24px}.custom-story-grid .lead,.hotel-case .lead{margin-bottom:22px}.hotel-case{display:grid;grid-template-columns:180px 1fr;gap:80px;max-width:1000px;align-items:center}.hotel-case-mark{padding:10px}.hotel-case .product-name{font-size:15px;margin-bottom:20px}.hotel-case .lead{font-size:18px;max-width:55ch}
.catalogue-intro{padding-bottom:40px}.catalogue-intro h1{max-width:18ch;margin-bottom:28px}.catalogue-intro .lead{max-width:47ch}.catalogue-jump{display:flex;gap:30px;flex-wrap:wrap;margin-top:30px}.catalogue-jump a{font-size:14px;color:var(--blue);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.catalogue-jump a:hover{color:var(--blue-hover)}.catalogue-row{display:grid;grid-template-columns:160px 1fr 1fr;gap:48px;align-items:center;padding-block:72px;border-top:1px solid var(--line);scroll-margin-top:110px}.catalogue-copy h2{font-size:38px;margin-bottom:20px}.catalogue-copy>p:not(.catalogue-audience){font-size:16px;color:var(--muted);max-width:40ch}.catalogue-audience{font-size:13px;color:var(--muted);margin-bottom:14px}.catalogue-platform{font-size:12px!important;margin-block:20px 25px!important}.catalogue-copy .store-badge{display:flex;margin-top:24px;width:150px}.catalogue-note{font-size:12px!important;line-height:1.7;margin-top:20px;max-width:36ch!important}.catalogue-preview{display:block}.catalogue-preview img{width:100%;border-radius:10px;box-shadow:0 12px 38px #10244912}.catalogue-system{display:grid;grid-template-columns:135px 1fr;gap:64px;align-items:center;padding-block:65px;border-top:1px solid var(--line);scroll-margin-top:110px}.catalogue-system .catalogue-mark{padding:0}.catalogue-system h2{font-size:34px;margin-bottom:22px}.catalogue-system .lead{max-width:58ch;font-size:18px}.catalogue-contact{text-align:center}.catalogue-contact h2{margin-bottom:25px}.catalogue-contact .lead{margin:0 auto 28px}
.product-brand-reveal{margin:0 auto 18px;width:148px}.hairly-brand-reveal{width:170px}.saldo-brand-reveal{margin-top:32px;margin-bottom:-15px}.hem-system-hero{padding-bottom:40px}.hem-system-grid{display:grid;grid-template-columns:1.6fr .6fr;gap:100px;align-items:center;padding-block:10px 58px}.hem-system-grid h1{font-size:clamp(38px,4.4vw,58px);margin-bottom:25px}.hem-system-grid .lead{max-width:46ch;margin-bottom:30px}.hem-hero-mark{padding:8px;max-width:210px}.hem-system-hero .product-name{font-size:15px;margin-bottom:24px}.hem-web-shot{max-width:1100px;margin-inline:auto}.hem-web-shot img{border:1px solid var(--line)}.hem-web-shot figcaption,.hem-context-grid figcaption{font-size:12px;color:var(--muted);padding-top:12px}.hem-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.hem-role-grid h3{font-size:23px;margin-bottom:22px}.hem-role-grid p{font-size:16px;color:var(--muted);line-height:1.8}.hem-context-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.hem-context-grid h2{font-size:36px;margin-bottom:24px}.hem-context-grid .lead{font-size:17px}.hem-mobile-grid{display:grid;grid-template-columns:.7fr 1fr;gap:90px;align-items:center;max-width:1000px}.hem-mobile-grid h2{font-size:38px;margin-bottom:26px}.hem-mobile-grid .lead{font-size:18px}.hem-mobile-grid .phone-shot img{max-height:510px}.hem-mobile-grid .text-link{margin-top:24px}
/* Drawing the original strand establishes Hairly's identity; the card follows. */
@media(prefers-reduced-motion:no-preference){
.motion-ready:not(.motion-active) .hairly-strand,.motion-ready:not(.motion-active) .hairly-highlight{stroke-dasharray:1;stroke-dashoffset:1}.motion-ready:not(.motion-active) .hairly-card,.motion-ready:not(.motion-active) .hairly-tip{opacity:0}.motion-active .hairly-strand{stroke-dasharray:1;animation:strand-draw 1.7s cubic-bezier(.33,0,.2,1) both}.motion-active .hairly-highlight{stroke-dasharray:1;animation:strand-draw 1.7s .12s cubic-bezier(.33,0,.2,1) both}.motion-active .hairly-card{animation:brand-card-in .85s .65s ease both;transform-origin:center}.motion-active .hairly-tip{animation:brand-card-in .4s 1.4s ease both}
.motion-active .hem-light{stroke-dasharray:.075 .925;animation:house-light 2.4s .2s cubic-bezier(.4,0,.3,1) both}.motion-active .home-app-screen img,.motion-active.hem-web-shot img{animation:screen-settle 1.2s cubic-bezier(.2,.8,.2,1) both}
@supports(animation-timeline:view()){.motion-active .home-app-screen img{animation:screen-scroll linear both;animation-timeline:view();animation-range:entry 0% cover 40%}}
}
@keyframes strand-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes brand-card-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes house-light{0%{stroke-dashoffset:1;opacity:0}12%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes screen-settle{from{opacity:.6;transform:perspective(1000px) rotateX(8deg) scale(.96)}to{opacity:1;transform:none}}@keyframes screen-scroll{from{transform:perspective(1000px) rotateX(12deg) scale(.94)}to{transform:none}}
@media(prefers-color-scheme:dark){:root{--hairly-tint:#272238;--hem-tint:#303452}}
@media(max-width:1100px){.motion-hero{gap:16px}.composition-saldo{width:255px;left:-12px;top:60px}.composition-hairly{width:190px;right:0;top:18px}.composition-hem{width:100px;right:40px;bottom:18px}.catalogue-row{grid-template-columns:120px 1fr .85fr;gap:32px}.home-app-copy{padding-inline:30px}.custom-story-grid{gap:50px}.hem-system-grid{gap:55px}.hem-context-grid{gap:40px}}
@media(max-width:768px){.motion-hero{grid-template-columns:1fr;min-height:0;padding-block:42px 40px;gap:26px;text-align:center}.motion-hero h1{font-size:clamp(35px,7vw,52px);max-width:17ch;margin-inline:auto}.motion-hero .lead{font-size:17px;max-width:38ch;margin-inline:auto}.motion-hero .actions{justify-content:center;gap:20px}.brand-composition{height:320px;width:min(380px,100%);margin:auto}.composition-saldo{width:225px;left:-8px;top:20px}.composition-hairly{width:160px;right:-4px;top:0}.composition-hem{width:86px;right:30px;bottom:5px}.brand-composition>a>span{font-size:12px}.composition-hem .motion-mark-svg{padding:0}.home-app-grid{grid-template-columns:1fr;gap:26px}.home-app{padding-top:32px;border-radius:20px}.home-app-copy{padding:0 28px 28px}.home-app h3{font-size:29px}.home-app-screen{margin-inline:20px}.custom-story-grid,.hotel-case{grid-template-columns:1fr;gap:32px}.custom-story-grid h2{font-size:34px}.hotel-case-mark{width:120px;padding:5px}.hotel-case .lead{font-size:17px}.catalogue-intro h1{font-size:clamp(34px,7vw,46px)}.catalogue-jump{gap:20px;margin-top:22px}.catalogue-row{grid-template-columns:95px 1fr;gap:25px;padding-block:42px;align-items:start}.catalogue-copy h2{font-size:32px}.catalogue-copy>p:not(.catalogue-audience){font-size:15px}.catalogue-audience{font-size:12px}.catalogue-preview{grid-column:1/-1;margin-top:6px}.catalogue-system{grid-template-columns:86px 1fr;gap:25px;padding-block:44px;align-items:start}.catalogue-system h2{font-size:27px;line-height:1.2}.catalogue-system .lead{font-size:16px}.catalogue-system .catalogue-mark{padding:0}.catalogue-platform{font-size:11px!important}.product-brand-reveal{width:120px;margin-top:8px}.hairly-brand-reveal{width:140px}.saldo-brand-reveal{margin-top:22px}.hem-system-grid{grid-template-columns:1fr;gap:32px;padding-bottom:35px}.hem-system-grid h1{font-size:clamp(35px,7.2vw,48px)}.hem-hero-mark{width:140px;padding:5px;margin:auto}.hem-system-grid .lead{font-size:17px}.hem-role-grid{grid-template-columns:1fr;gap:35px}.hem-role-grid h3{margin-bottom:15px}.hem-context-grid,.hem-mobile-grid{grid-template-columns:1fr;gap:36px}.hem-context-grid h2,.hem-mobile-grid h2{font-size:32px}.hem-mobile-grid .lead{font-size:17px}.hem-mobile-grid .phone-shot img{max-height:420px}.motion-active .home-app-screen img,.motion-active.hem-web-shot img{animation:screen-settle .7s ease both}
}
@media(max-width:380px){.motion-hero h1{font-size:33px}.motion-hero .lead{font-size:16px}.brand-composition{height:285px}.composition-saldo{width:185px;left:-10px}.composition-hairly{width:137px;right:-6px;top:0}.composition-hem{width:74px;right:18px;bottom:0}.catalogue-row{grid-template-columns:70px 1fr;gap:18px}.catalogue-system{grid-template-columns:1fr;gap:24px}.catalogue-system .catalogue-mark{width:85px}.catalogue-copy .button{padding-inline:20px;font-size:14px}.home-app h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){[data-motion] *,[data-motion] *::before,[data-motion] *::after{animation:none!important;transition:none!important}.brand-composition>a:hover{transform:none}}

:root[data-theme=dark]{--hairly-tint:#272238;--hem-tint:#303452}



/* Static original Saldo symbol; only its surface reflection moves. */
.saldo-cinematic{width:100%;height:100%;display:block;overflow:visible}
/* Product page SVG utility sizes icons at 20px; the brand is artwork. */
#saldo-landing .saldo-mark>.saldo-cinematic{width:100%;height:100%;fill:none}
.saldo-glint{opacity:0}
@media(prefers-reduced-motion:no-preference){
.motion-active .saldo-glint{animation:saldo-glint-travel 1.65s linear both}
}
@keyframes saldo-glint-travel{0%{opacity:0;transform:translateX(0)}12%{opacity:0}28%{opacity:.72}75%{opacity:.72}100%{opacity:0;transform:translateX(1750px)}}

/* Each product has its own visible moment, followed by actual application content. */
.home-intro{display:block;min-height:0;text-align:center;padding-block:112px 104px}.home-intro h1{font-size:clamp(44px,5.3vw,70px);max-width:19ch;margin-inline:auto}.home-intro .lead{max-width:43ch;margin-inline:auto}.home-intro .actions{justify-content:center}
.brand-journey{padding-block:100px 104px;scroll-margin-top:96px}.journey-hairly{background:var(--hairly-tint)}.journey-intro{display:grid;grid-template-columns:360px minmax(0,1fr);gap:96px;align-items:center;max-width:1000px;margin-inline:auto}.journey-mark{display:block;width:300px;justify-self:center;text-decoration:none}.journey-mark-hairly{width:300px}.journey-copy .product-name{font-size:18px;margin-bottom:22px}.journey-copy h2{font-size:clamp(34px,3.5vw,48px);line-height:1.15;letter-spacing:-.04em;margin-bottom:24px;max-width:21ch}.journey-copy>p:not(.product-name){color:var(--muted);font-size:18px;line-height:1.7;max-width:38ch;margin-bottom:28px}.journey-copy .text-link{text-decoration:none}.journey-screen{display:block;max-width:1000px;margin:64px auto 0;perspective:none}.journey-screen img{border-radius:16px;box-shadow:0 18px 50px #10244912;transform:none}
.journey-hem{grid-template-columns:240px minmax(0,1fr);gap:96px;max-width:1000px;padding-block:112px 72px}.journey-hem .hotel-case-mark{width:200px;padding:0;justify-self:center}.journey-hem h2{font-size:clamp(32px,3.2vw,44px);line-height:1.18}.journey-catalogue{max-width:1000px;padding-bottom:92px;text-align:right}.journey-catalogue .text-link{text-decoration:none}
.catalogue-row{grid-template-columns:190px minmax(0,1fr) minmax(0,1fr);padding-block:100px;gap:54px}.catalogue-system{grid-template-columns:180px minmax(0,1fr);padding-block:90px;gap:74px}
.product-brand-reveal{width:220px;margin-bottom:24px}.hairly-brand-reveal{width:250px;margin-bottom:36px}.saldo-brand-reveal{margin-top:32px;margin-bottom:-24px}.hem-hero-mark{width:240px;max-width:240px;padding:0}
@media(max-width:1100px){.journey-intro{grid-template-columns:280px minmax(0,1fr);gap:56px}.journey-mark{width:260px}.journey-mark-hairly{width:270px}.catalogue-row{grid-template-columns:160px minmax(0,1fr) minmax(0,1fr);gap:36px}.hem-hero-mark{width:200px}.journey-hem{gap:64px}}
@media(max-width:768px){.home-intro{padding-block:70px 60px}.home-intro h1{font-size:clamp(35px,7.3vw,52px);max-width:17ch}.brand-journey{padding-block:64px 72px;scroll-margin-top:86px}.journey-intro{display:flex;flex-direction:column;gap:30px;text-align:center}.journey-mark{width:210px}.journey-mark-hairly{width:230px}.journey-copy .product-name{font-size:16px;margin-bottom:16px}.journey-copy h2{font-size:clamp(30px,6.7vw,40px);margin-inline:auto;margin-bottom:20px}.journey-copy>p:not(.product-name){font-size:17px;max-width:35ch;margin:0 auto 24px}.journey-screen{margin-top:40px}.journey-screen img{border-radius:10px}.journey-hem{display:flex;flex-direction:column;gap:36px;padding-block:80px 48px;text-align:center}.journey-hem .hotel-case-mark{width:145px}.journey-hem h2{font-size:32px}.journey-hem .lead{max-width:36ch;margin-inline:auto}.journey-catalogue{padding-bottom:64px;text-align:center}.catalogue-row{grid-template-columns:110px minmax(0,1fr);gap:28px;padding-block:60px}.catalogue-system{grid-template-columns:110px minmax(0,1fr);gap:28px;padding-block:60px}.product-brand-reveal{width:170px}.hairly-brand-reveal{width:200px}.saldo-brand-reveal{margin-top:26px;margin-bottom:-28px}.hem-hero-mark{width:170px}}
@media(max-width:380px){.catalogue-row{grid-template-columns:85px minmax(0,1fr);gap:20px}.catalogue-system{grid-template-columns:1fr;gap:28px}.catalogue-system .catalogue-mark{width:110px}.journey-mark{width:190px}.journey-mark-hairly{width:210px}.journey-copy h2{font-size:30px}}

/* Published App Store stills remain complete and sharp, never cropped video frames. */
.appstore-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;max-width:860px;margin:64px auto 0;outline-offset:8px}.appstore-gallery figure{min-width:0;margin:0}.appstore-device{display:block;background:#fff;overflow:hidden;border:1px solid #dce0e8;border-radius:24px;box-shadow:0 14px 38px #13254a12;text-decoration:none}.appstore-device img{display:block;width:100%;height:auto;border-radius:0;box-shadow:none}.appstore-gallery figcaption{text-align:center;color:var(--muted);font-size:14px;margin-top:20px;line-height:1.5}.appstore-single{max-width:250px!important;margin-inline:auto!important}.appstore-single .appstore-device img{border-radius:0;box-shadow:none}.store-preview{width:190px;justify-self:center}.store-preview img{border:1px solid #dce0e8;border-radius:20px;box-shadow:0 12px 35px #13254a12}.product-hero .appstore-gallery{margin-top:54px}
#saldo-landing .appstore-gallery{margin-top:64px}#saldo-landing .appstore-gallery figure{margin:0}#saldo-landing .appstore-device img{width:100%;height:auto;border-radius:0}#saldo-landing .appstore-gallery figcaption{margin-top:20px;font-size:14px}
@media(max-width:768px){.appstore-gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:0;scrollbar-width:thin;padding:4px 0 22px;margin-top:44px;overscroll-behavior-inline:contain}.appstore-gallery figure{flex:0 0 210px;scroll-snap-align:start}.appstore-device{border-radius:20px;box-shadow:0 8px 20px #13254a0c}.appstore-gallery figcaption{margin-top:16px;font-size:13px}.store-preview{width:180px;grid-column:1/-1}.product-hero .appstore-gallery{margin-top:40px}#saldo-landing .appstore-gallery{margin-top:44px}#saldo-landing .appstore-gallery figcaption{font-size:13px;margin-top:16px}.appstore-single{max-width:210px!important}}

/* Desktop gets one large Mac view; the mobile gallery keeps the phone views. */
.platform-picture{display:block}.platform-picture img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}.appstore-gallery{display:block;max-width:1000px}.appstore-gallery figure:not(:first-child){display:none}.appstore-gallery .appstore-device{border-radius:16px}.appstore-single{max-width:1000px!important}.store-preview{width:100%;max-width:none}.store-preview img{border-radius:12px}
@media(max-width:768px){.appstore-gallery{display:flex}.appstore-gallery figure:not(:first-child){display:block}.platform-picture img{aspect-ratio:auto}.appstore-gallery .appstore-device{border-radius:20px}.appstore-single{max-width:210px!important}.store-preview{width:180px}.store-preview img{border-radius:20px}}

/* Native Hairly window captures: preserve their real shape on desktop. */
@media (min-width:769px){
  .hairly-native-picture img{aspect-ratio:126 / 73}
  .hairly-product>.product-grid>.appstore-gallery{max-width:1000px}
}


/* Automatic galleries retain each platform's original screenshot shape. */
.appstore-gallery.is-carousel{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;padding-bottom:0;scroll-snap-type:none}
.appstore-gallery.is-carousel figure{display:block;grid-area:1/1;margin:0;opacity:1}
.appstore-gallery.is-carousel figure.is-arriving{animation:gallery-arrive .6s ease-in-out both;z-index:1}
.appstore-gallery.is-carousel figure.is-leaving{animation:gallery-depart .6s ease-in-out both;pointer-events:none}
.appstore-gallery.is-carousel figure[hidden]{display:none!important}
.catalogue-row .catalogue-gallery{width:100%;margin:0;max-width:1000px}
@keyframes gallery-arrive{from{opacity:0}to{opacity:1}}
@keyframes gallery-depart{from{opacity:1}to{opacity:0}}
@media(max-width:768px){.appstore-gallery.is-carousel figure{width:min(250px,100%);margin-inline:auto}.appstore-gallery.is-carousel .appstore-device{border-radius:20px}.catalogue-row .catalogue-gallery{grid-column:1/-1;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.appstore-gallery.is-carousel figure,.appstore-gallery.is-carousel figure.is-arriving,.appstore-gallery.is-carousel figure.is-leaving{animation:none}}
