/* Homepage hero: original image crops, independent type and flowing shapes. */
.rema-hero{--rema-lilac:#805493;background:#fff;padding-top:100px;overflow:hidden;color:#452674}
.rema-hero-stage{max-width:1440px;margin:auto;position:relative;display:grid;padding-bottom:28px}
.rema-hero-slide{grid-area:1/1;display:grid;grid-template-columns:44% 56%;align-items:center;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none;min-width:0}
.rema-hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.rema-hero-copy{padding:24px 12px 64px clamp(24px,5vw,80px);position:relative;z-index:2;min-width:0}
.rema-eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#805493;margin:0 0 22px}
.rema-hero-copy h1,.rema-hero-copy h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,3.5vw,52px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin:0 0 26px;color:#805493;text-wrap:balance}
.rema-hero-copy strong{display:block;color:#087c86;font-weight:800}
.rema-hero-description{font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#57525e;max-width:35ch;margin:0 0 24px}
.rema-hero-link{display:inline-flex;gap:20px;align-items:center;color:#006a62;font-weight:700;padding:10px 0;border-bottom:2px solid #49afb4;text-decoration:none}
.rema-hero-photo{align-self:start;position:relative;min-width:0;overflow:hidden;border-radius:40% 0 0 18% / 30% 0 0 18%}
.rema-hero-photo svg{display:block;width:100%;height:auto;aspect-ratio:1.4;max-height:480px}
.rema-hero-waves{position:absolute;bottom:0;left:50%;width:100vw;max-width:none;transform:translateX(-50%);height:120px;pointer-events:none;z-index:3}
.rema-wave-lilac{animation:rema-flow 8s ease-in-out infinite alternate;transform-origin:center}
@keyframes rema-flow{from{transform:translateX(-14px)}to{transform:translateX(14px)}}
.rema-hero-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 16px 22px;flex-wrap:wrap}
.rema-hero-controls button{min-width:40px;min-height:40px;border:1px solid #e3d7e9;border-radius:50%;background:white;color:#805493;cursor:pointer;font-size:20px}
.rema-hero-dots{display:flex;gap:0}.rema-hero-dots button{position:relative;border:0;min-width:30px;min-height:40px;background:transparent}
.rema-hero-dots button:after{content:'';position:absolute;width:7px;height:7px;left:50%;top:50%;transform:translate(-50%,-50%);background:#d4c3dd;border-radius:100%}
.rema-hero-dots button[aria-pressed=true]:after{background:#805493;width:11px;height:11px}

.rema-hero button:focus-visible,.rema-hero a:focus-visible{outline:3px solid #087c86;outline-offset:3px}
.rema-story{background:white;padding:64px 32px 28px;scroll-margin-top:110px;position:relative}
.rema-story-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:.85fr 1.4fr;gap:70px;align-items:start}
.rema-story h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(32px,3.3vw,46px);line-height:1.15;font-weight:700;color:#805493;margin:0 0 32px}.rema-story h2 span{color:#087c86}
.rema-story-motto{font-size:22px;font-weight:600;font-style:italic;color:#805493;line-height:1.5;border-left:4px solid #49afb4;padding-left:20px}
.rema-story-text{font-size:17px;line-height:1.85;color:#57525e}.rema-story-text p{margin:0 0 22px}.rema-story-text strong{color:#452674;font-weight:600}
@media(min-width:1500px){.rema-hero-stage{padding-top:20px}}
@media(max-width:767px){.rema-hero{padding-top:94px}.rema-hero-slide{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start}.rema-hero-copy{padding:22px 26px 26px;align-self:start}.rema-eyebrow{font-size:11px;margin-bottom:16px}.rema-hero-copy h1,.rema-hero-copy h2{font-size:clamp(30px,8vw,42px);margin-bottom:20px}.rema-hero-description{font-size:16px;line-height:1.65;max-width:none}.rema-hero-photo{margin:0;clip-path:none;border-radius:25% 0 0 0}.rema-hero-photo svg{aspect-ratio:1.3;max-height:320px}.rema-hero-waves{height:72px}.rema-hero-controls{gap:4px}.rema-hero-dots button{min-width:28px}.rema-story{padding:42px 26px 20px}.rema-story-inner{grid-template-columns:1fr;gap:24px}.rema-story h2{margin-bottom:22px}.rema-story-motto{font-size:19px}.rema-story-text{font-size:16px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.rema-hero-slide{transition:none}.rema-wave-lilac{animation:none}}
