

.sol-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--sol-ease)}
.sol-hero__slide.is-live{opacity:1}
.sol-hero__slide>*{position:absolute;inset:-8% 0}

.sol-hero__eyebrow{display:block;margin-bottom:var(--sol-space-md)}
.sol-hero__text{position:relative;min-height:1px}
.sol-hero__text .sol-hero__item{position:absolute;top:0;left:0;right:0;opacity:0;pointer-events:none;transition:opacity .8s var(--sol-ease),transform .8s var(--sol-ease);transform:translateY(14px)}
.sol-hero__text .sol-hero__item.is-live{position:relative;opacity:1;transform:none;pointer-events:auto}
.sol-hero h1{color:var(--sol-accent);margin-bottom:var(--sol-space-md)}
.sol-hero .sol-lede{margin-bottom:var(--sol-space-lg);max-width:44ch}
.sol-hero__dots{display:flex;gap:10px;margin-top:var(--sol-space-xl)}
.sol-hero__dot{width:34px;height:2px;border:0;padding:0;background:var(--sol-line);cursor:pointer;transition:background var(--sol-dur) var(--sol-ease)}
.sol-hero__dot[aria-selected="true"]{background:var(--sol-accent)}



.sol-statement{display:grid;grid-template-columns:1fr 1fr;gap:var(--sol-space-xxl);align-items:end}
.sol-statement h2{color:var(--sol-accent)}
@media (max-width:900px){.sol-statement{grid-template-columns:1fr;gap:var(--sol-space-lg)}}

.sol-cats{display:grid;grid-template-columns:7fr 5fr;gap:var(--sol-space-lg)}
.sol-cat{position:relative;display:block;overflow:hidden;border-radius:var(--sol-radius)}
.sol-cat--tall{aspect-ratio:4/5}
.sol-cat--short{aspect-ratio:1/1}
.sol-cat__stack{display:grid;gap:var(--sol-space-lg);align-content:start}
.sol-cat__art{position:absolute;inset:0;transition:transform 1s var(--sol-ease)}
.sol-cat:hover .sol-cat__art{transform:scale(1.045)}
.sol-cat__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,21,32,.58),rgba(26,21,32,.06) 58%)}
.sol-cat__label{position:absolute;left:var(--sol-space-lg);right:var(--sol-space-lg);bottom:var(--sol-space-lg);color:var(--sol-bg);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sol-space-md)}
.sol-cat__label h3{color:var(--sol-bg);font-size:clamp(1.7rem,2.6vw,2.5rem)}
.sol-cat__go{font-size:12px;font-weight:500;letter-spacing:var(--sol-track);text-transform:uppercase;white-space:nowrap;padding-bottom:6px}
.sol-cat__go span{display:inline-block;transition:transform var(--sol-dur-fast) var(--sol-ease)}
.sol-cat:hover .sol-cat__go span{transform:translateX(5px)}
@media (max-width:900px){.sol-cats{grid-template-columns:1fr}.sol-cat--tall,.sol-cat--short{aspect-ratio:3/4}}

.sol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sol-space-lg) var(--sol-space-md)}
@media (max-width:1200px){.sol-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){.sol-grid{grid-template-columns:repeat(2,1fr);gap:var(--sol-space-lg) 12px}}


.sol-card__media{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--sol-radius);transition:transform var(--sol-dur) var(--sol-ease)}
.sol-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--sol-ease)}
.sol-card:hover .sol-card__media img{transform:scale(1.05)}
.sol-card__badge{position:absolute;top:10px;left:10px;z-index:2}






.sol-tabs{display:flex;flex-wrap:wrap;gap:var(--sol-space-lg);margin-block:var(--sol-space-lg) var(--sol-space-xl);border-bottom:1px solid var(--sol-line)}
.sol-tab{background:none;border:0;padding:0 0 14px;cursor:pointer;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sol-muted);position:relative}
.sol-tab[aria-selected="true"]{color:var(--sol-accent)}
.sol-tab[aria-selected="true"]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--sol-accent)}

.sol-empty{border:1px solid var(--sol-line);border-radius:var(--sol-radius);padding:var(--sol-space-xl);text-align:left;display:grid;gap:var(--sol-space-md);justify-items:start}

.sol-moods{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sol-space-md)}
.sol-mood{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--sol-radius);display:block}
.sol-mood:nth-child(1){grid-row:span 2;aspect-ratio:3/5}
.sol-mood__art{position:absolute;inset:0;transition:transform 1s var(--sol-ease)}
.sol-mood:hover .sol-mood__art{transform:scale(1.05)}
.sol-mood__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(42,11,104,.62),rgba(42,11,104,.05) 62%)}
.sol-mood h3{position:absolute;left:20px;bottom:18px;right:20px;color:var(--sol-bg);font-size:clamp(1.2rem,1.9vw,1.7rem)}
@media (max-width:820px){.sol-moods{grid-template-columns:repeat(2,1fr)}.sol-mood:nth-child(1){grid-row:span 1;aspect-ratio:3/4}}

.sol-edit{display:grid;grid-template-columns:5fr 7fr;gap:var(--sol-space-xxl);align-items:center}
.sol-edit__art{aspect-ratio:4/5;border-radius:var(--sol-radius);overflow:hidden;position:relative}
.sol-edit h2{color:var(--sol-accent);margin-bottom:var(--sol-space-md)}
@media (max-width:900px){.sol-edit{grid-template-columns:1fr;gap:var(--sol-space-lg)}}

.sol-cta{position:relative;min-height:74vh;display:grid;place-items:center;text-align:center;overflow:hidden;border-radius:var(--sol-radius)}
.sol-cta__art{position:absolute;inset:0}
.sol-cta__veil{position:absolute;inset:0;background:rgba(42,11,104,.52)}
.sol-cta__in{position:relative;z-index:2;padding:var(--sol-space-xl) var(--sol-gutter);display:grid;gap:var(--sol-space-lg);justify-items:center}
.sol-cta h2{color:var(--sol-bg)}

.sol-secHead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sol-space-lg);flex-wrap:wrap;margin-bottom:var(--sol-space-lg)}
.sol-secHead h2{color:var(--sol-accent)}


.sol-hero{min-height:calc(100svh - var(--sol-header-h) - var(--sol-utility-h));margin-top:calc(var(--sol-header-h) + var(--sol-utility-h))}
.sol-hero__copy{padding-block:var(--sol-space-xl)}
@media (max-width:900px){.sol-hero__art{margin-top:0}}

/* Product card */
.sol-card{position:relative;display:flex;flex-direction:column}
.sol-card__link{display:block}
.sol-card__fabric{display:block;margin-top:12px;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--sol-lavender)}
.sol-card__name{font-family:var(--sol-font-ui);font-size:14px;font-weight:400;line-height:1.45;margin-top:5px;color:var(--sol-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sol-card__blouse{display:block;margin-top:4px;font-size:12px;color:var(--sol-muted)}
.sol-card__price{margin-top:7px;font-size:15px;font-weight:500;color:var(--sol-ink)}
.sol-card__price del{color:var(--sol-muted);font-weight:400;margin-left:7px;font-size:13px}
.sol-card__price ins{text-decoration:none}
.sol-card__swatches{display:flex;gap:5px;margin-top:9px}
.sol-dot{width:13px;height:13px;border-radius:999px;border:1px solid var(--sol-line);display:inline-block}
.sol-card__sizes{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px;opacity:0;transform:translateY(4px);transition:opacity var(--sol-dur-fast) var(--sol-ease),transform var(--sol-dur-fast) var(--sol-ease)}
.sol-card:hover .sol-card__sizes,.sol-card:focus-within .sol-card__sizes{opacity:1;transform:none}
@media (hover:none){.sol-card__sizes{opacity:1;transform:none}}
.sol-size{min-width:32px;padding:6px 8px;background:transparent;border:1px solid var(--sol-line);border-radius:var(--sol-radius);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--sol-ink);cursor:pointer;transition:border-color var(--sol-dur-fast) var(--sol-ease),color var(--sol-dur-fast) var(--sol-ease)}
.sol-size:hover:not([disabled]){border-color:var(--sol-accent);color:var(--sol-accent)}
.sol-size[disabled]{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.sol-card__add{margin-top:11px;padding:9px 14px;background:transparent;border:1px solid var(--sol-line);border-radius:var(--sol-radius);font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--sol-ink);cursor:pointer;align-self:flex-start;transition:border-color var(--sol-dur-fast) var(--sol-ease)}
.sol-card__add:hover{border-color:var(--sol-accent);color:var(--sol-accent)}
.sol-card__msg{font-size:11.5px;color:var(--sol-lavender);margin-top:6px;min-height:1.2em}
.sol-card__msg.is-err{color:var(--sol-signal)}
.sol-card__badge{position:absolute;top:10px;left:10px;z-index:2}

/* Reels carousel */
.sol-reels__head{align-items:flex-end}
.sol-reels__nav{display:flex;gap:8px}
.sol-reels__arrow{width:42px;height:42px;border:1px solid var(--sol-line);border-radius:999px;background:none;cursor:pointer;font-size:15px;color:var(--sol-ink);display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--sol-dur-fast) var(--sol-ease),color var(--sol-dur-fast) var(--sol-ease),transform var(--sol-dur-fast) var(--sol-ease)}
.sol-reels__arrow:hover:not([disabled]){border-color:var(--sol-accent);color:var(--sol-accent)}
.sol-reels__arrow:active:not([disabled]){transform:scale(.94)}
.sol-reels__arrow[disabled]{opacity:.28;cursor:default}
.sol-reels__rail{display:flex;gap:var(--sol-space-md);overflow-x:auto;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:4px calc((100vw - min(100vw, var(--sol-max))) / 2 + var(--sol-gutter)) var(--sol-space-md);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sol-reels__rail::-webkit-scrollbar{display:none}
.sol-reels__rail:focus-visible{outline:2px solid var(--sol-accent);outline-offset:-2px}
@media (prefers-reduced-motion:reduce){.sol-reels__rail{scroll-behavior:auto}}
.sol-reel{flex:0 0 auto;width:min(258px,62vw);scroll-snap-align:start;display:flex;flex-direction:column}
.sol-reel__play{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:0;background:var(--sol-mist);border-radius:var(--sol-radius);overflow:hidden;cursor:pointer}
.sol-reel.is-empty{pointer-events:none}
.sol-reel.is-empty .sol-reel__media,.sol-reel.is-empty .sol-reel__veil,.sol-reel.is-empty .sol-reel__btn{position:absolute}
.sol-reel.is-empty{position:relative;aspect-ratio:9/16;background:var(--sol-mist);border-radius:var(--sol-radius);overflow:hidden}
.sol-reel__media{position:absolute;inset:0;display:block}
.sol-reel__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--sol-ease)}
.sol-reel__play:hover .sol-reel__media img{transform:scale(1.05)}
.sol-reel__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,21,32,.5),rgba(26,21,32,.02) 55%);transition:opacity var(--sol-dur) var(--sol-ease)}
.sol-reel__btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:999px;background:rgba(247,244,239,.9);display:flex;align-items:center;justify-content:center;transition:transform var(--sol-dur) var(--sol-ease),background var(--sol-dur) var(--sol-ease)}
.sol-reel__btn svg{width:26px;height:26px;fill:var(--sol-accent)}
.sol-reel__play:hover .sol-reel__btn{transform:translate(-50%,-50%) scale(1.1);background:var(--sol-bg)}
.sol-reel__title{position:absolute;left:14px;right:14px;bottom:13px;color:var(--sol-bg);font-size:13px;line-height:1.35;text-align:left;display:block}
.sol-reel__shop{margin-top:11px;font-size:11px;font-weight:500;letter-spacing:var(--sol-track);text-transform:uppercase;color:var(--sol-ink)}
.sol-reel__shop span{display:inline-block;transition:transform var(--sol-dur-fast) var(--sol-ease)}
.sol-reel__shop:hover span{transform:translateX(4px)}
.sol-reels__hint{font-size:13px;color:var(--sol-muted);margin-top:var(--sol-space-sm)}
@media (max-width:620px){.sol-reel{width:min(210px,58vw)}.sol-reel__btn{width:46px;height:46px}.sol-reels__nav{display:none}}

/* Reel lightbox */
.sol-reelBox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center}
.sol-reelBox[hidden]{display:none}
.sol-reelBox__scrim{position:absolute;inset:0;background:rgba(26,21,32,.86)}
.sol-reelBox__inner{position:relative;width:min(420px,92vw);max-height:88vh;aspect-ratio:9/16;background:#000;border-radius:var(--sol-radius);overflow:hidden}
.sol-reelBox__frame,.sol-reelBox__frame iframe,.sol-reelBox__frame video{width:100%;height:100%;border:0;display:block;object-fit:contain}
.sol-reelBox__x{position:absolute;top:7px;right:7px;z-index:3;color:#fff;background:rgba(0,0,0,.42);border-radius:999px}

.sol-reelBox.is-ig .sol-reelBox__inner{aspect-ratio:auto;width:min(400px,94vw);height:min(86vh,760px);background:var(--sol-bg)}
.sol-reelBox.is-ig .sol-reelBox__frame{overflow-y:auto;background:var(--sol-bg)}
.sol-reelBox.is-ig .sol-reelBox__frame iframe{height:100%;min-height:640px}
.sol-reelBox.is-ig .sol-reelBox__x{background:rgba(26,21,32,.55)}

/* Cards that carry a live Instagram frame */
.sol-reel.is-ready .sol-reel.is-ready .sol-reel__veil,.sol-reel.is-ready .sol-reel__btn,.sol-reel.is-ready .sol-reel__title{opacity:0;pointer-events:none;transition:opacity .35s var(--sol-ease)}
.sol-reel.is-live .sol-reel__play:hover .sol-reel__media img{transform:none}
@media (max-width:620px){}

/* Crop Instagram's own header and footer out of the frame. Their embed is cross
   origin so it cannot be restyled, only masked. Offsets are tokens for easy tuning. */
.sol-reel.is-ready 
/* Card footer */
.sol-reel__shop{margin-top:0}
@media (prefers-reduced-motion:reduce){.sol-reel__ig:hover{transform:none}}

/* ---- Instagram frame crop ----
   Their embed is cross origin so its chrome cannot be styled, only masked.
   The frame is rendered wider than the card so the video itself grows past the
   card edges, which pushes their header and action bar outside the visible area.
   All four numbers are variables so the crop can be nudged without touching rules. */

.sol-reel.is-ready @media (max-width:620px){}

/* Card footer: our own Instagram mark, centred */
.sol-reel__foot{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:13px}
.sol-reel__shop{margin-top:0;text-align:center}
.sol-reel__ig{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;color:var(--sol-accent);border:1px solid var(--sol-line);transition:color var(--sol-dur-fast) var(--sol-ease),border-color var(--sol-dur-fast) var(--sol-ease),transform var(--sol-dur-fast) var(--sol-ease),background var(--sol-dur-fast) var(--sol-ease)}
.sol-reel__ig svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sol-reel__ig:hover{border-color:var(--sol-accent);background:var(--sol-mist);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.sol-reel__ig:hover{transform:none}}

/* ---- Reels 3D ----
   Cards sit on a shared perspective and rotate away from centre as the rail scrolls.
   Values are deliberately small: the depth should be felt, not noticed. */
.sol-reels__rail{padding-top:30px;padding-bottom:38px;align-items:flex-start}

/* Entrance: the rail lifts and settles once the section comes into view */
.js .sol-reels__rail .sol-reel{opacity:0}
.js .sol-reels.is-in .sol-reel{opacity:1;transition:opacity .7s var(--sol-ease)}
@media (prefers-reduced-motion:reduce){
    .js .sol-reels__rail .sol-reel{opacity:1;transform:none}
  
}


/* ---- Reels band ----
   The section sits on a tinted ground drawn from the palette so the cards read as
   objects resting on a surface, which is what makes the shadow legible. */
.sol-reels{background:linear-gradient(180deg,var(--sol-bg) 0%,var(--sol-mist) 16%,var(--sol-mist) 84%,var(--sol-bg) 100%);padding-block:var(--sol-space-xl) var(--sol-space-xl);margin-top:var(--sol-space-xl)}
.sol-reels__head{padding-bottom:var(--sol-space-sm)}
.sol-reels__arrow{border-color:rgba(42,11,104,.2);background:var(--sol-bg)}
.sol-reels__arrow:hover:not([disabled]){background:var(--sol-surface)}

/* Cards sit above the ground on a soft indigo shadow, deeper at the centre */
.sol-reel__ig{background:var(--sol-bg);border-color:rgba(42,11,104,.18)}
.sol-reel__ig:hover{background:var(--sol-surface)}
@media (prefers-reduced-motion:reduce){
  .js .sol-reels__rail .sol-reel{opacity:1;transform:none}
  .sol-reel{will-change:auto}
}

/* ---- Reel card ----
   A real card: surface, hairline, shadow, padding. No transforms on scroll, so the
   browser never has to recomposite the embedded frames while the page moves. */
.sol-reel{background:var(--sol-surface);border:1px solid rgba(42,11,104,.09);border-radius:var(--sol-radius);padding:12px 12px 6px;box-shadow:0 2px 4px rgba(42,11,104,.05),0 14px 34px rgba(42,11,104,.10);transition:box-shadow .35s var(--sol-ease),border-color .35s var(--sol-ease)}
.sol-reel:hover{box-shadow:0 4px 8px rgba(42,11,104,.06),0 22px 48px rgba(42,11,104,.16);border-color:rgba(42,11,104,.16)}
.sol-reel__play{border-radius:var(--sol-radius);background:var(--sol-mist)}
.sol-reel__foot{margin-top:10px;padding-bottom:4px}
.sol-reel__ig{border:0;background:transparent;width:34px;height:34px;color:var(--sol-lavender)}
.sol-reel__ig:hover{background:var(--sol-mist);color:var(--sol-accent);transform:none}
@media (max-width:620px){.sol-reel{padding:10px 10px 4px}}
@media (prefers-reduced-motion:reduce){.js .sol-reels__rail .sol-reel{opacity:1}}

/* ---- Reel card, rounded ----
   A deliberate exception to the 2px radius the rest of the site holds: these are
   media tiles rather than product surfaces, and the softer corner suits them. */
.sol-reel{border-radius:20px;overflow:hidden;padding:12px}
.sol-reel__play{border-radius:13px;overflow:hidden}
.sol-reels__arrow{border-radius:999px}

/* Zoom settles on the card nearest the centre once scrolling stops. Only one card
   transforms, and only when the rail is still, so nothing recomposites mid scroll. */
@media (max-width:620px){.sol-reel{border-radius:16px;padding:10px}.sol-reel__play{border-radius:10px}}
@media (prefers-reduced-motion:reduce){}

/* ---- Reel cards: identical at rest, zoom on hover ----
   No centre focus and no dimming. Every card carries the same shadow and the same
   opacity, and only the one under the cursor lifts. */
.sol-reel{opacity:1;transform:none;box-shadow:0 2px 4px rgba(42,11,104,.05),0 14px 34px rgba(42,11,104,.10);transition:transform .5s cubic-bezier(.25,.46,.45,.94),box-shadow .5s cubic-bezier(.25,.46,.45,.94),border-color .4s ease}
@media (hover:hover) and (pointer:fine){
  .sol-reel:hover{transform:scale(1.035);box-shadow:0 6px 14px rgba(42,11,104,.07),0 28px 58px rgba(42,11,104,.17);border-color:rgba(42,11,104,.15);z-index:3}
}
@media (prefers-reduced-motion:reduce){.sol-reel:hover{transform:none}}

/* Momentum and a softer settle on the rail */
.sol-reels__rail{-webkit-overflow-scrolling:touch;scroll-padding-inline:var(--sol-gutter)}
.sol-reel{scroll-snap-align:center}
.sol-reel__play,
.sol-heroArt{width:100%;height:100%;display:block}

/* ---- Hero: full bleed landscape ---- */
.sol-hero{position:relative;display:block;min-height:min(84svh,760px);margin-top:calc(var(--sol-header-h) + var(--sol-utility-h));overflow:hidden;background:var(--sol-accent)}
.sol-hero__art{position:absolute;inset:0;overflow:hidden}
.sol-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--sol-ease)}
.sol-hero__slide.is-live{opacity:1}
.sol-hero__slide>*{position:absolute;inset:0}
.sol-hero__slide img,.sol-hero__slide .sol-slotImg{width:100%;height:100%;object-fit:cover;object-position:72% center}
.sol-hero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(20,7,50,.86) 0%,rgba(20,7,50,.66) 34%,rgba(20,7,50,.18) 62%,rgba(20,7,50,.05) 100%)}
.sol-hero__copy{position:relative;z-index:2;max-width:var(--sol-max);margin-inline:auto;padding:var(--sol-space-xxl) var(--sol-gutter);min-height:min(84svh,760px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sol-hero__copy>*{max-width:min(620px,54%)}
.sol-hero__eyebrow{display:block;margin-bottom:var(--sol-space-md);color:var(--sol-lavender-light)}
.sol-hero h1,.sol-hero .sol-display-xl{color:var(--sol-bg);margin-bottom:var(--sol-space-md);font-size:clamp(2.4rem,5.2vw,4.6rem)}
.sol-hero .sol-lede{color:rgba(247,244,239,.86);margin-bottom:var(--sol-space-lg);max-width:42ch}
.sol-hero__text{position:relative;width:100%}
.sol-hero__dots{margin-top:var(--sol-space-xl);display:flex;gap:10px}
.sol-hero__dot{width:38px;height:2px;border:0;padding:0;background:rgba(247,244,239,.34);cursor:pointer;transition:background var(--sol-dur) var(--sol-ease)}
.sol-hero__dot[aria-selected="true"]{background:var(--sol-bg)}
@media (max-width:900px){
  .sol-hero{min-height:0}
  .sol-hero__art{position:absolute;inset:0}
  .sol-hero__slide img,.sol-hero__slide .sol-slotImg{object-position:76% center}
  .sol-hero__scrim{background:linear-gradient(180deg,rgba(20,7,50,.42) 0%,rgba(20,7,50,.62) 46%,rgba(20,7,50,.9) 100%)}
  .sol-hero__copy{min-height:0;padding-block:var(--sol-space-xxl) var(--sol-space-xl);padding-top:58svh}
  .sol-hero__copy>*{max-width:100%}
  .sol-hero .sol-lede{max-width:100%}
}

/* ---- Instagram embed geometry ----
   The embed is a fixed layout: a header strip, the video, then a caption and
   action bar. The iframe is rendered at its natural full height and then shifted
   up so the video band alone sits inside the card window. */
:root{
  --sol-ig-w:340px;      /* iframe width */
  --sol-ig-full:620px;   /* natural embed height at that width */
  --sol-ig-shift:54px;   /* top of embed to top of video */
  --sol-ig-card:400px;   /* visible height of the card window */
}
.sol-reel.is-live{width:min(340px,84vw)}
.sol-reel.is-live .sol-reel__play{position:relative;overflow:hidden;aspect-ratio:auto;height:var(--sol-ig-card);border-radius:13px;background:#000}
.sol-reel__frame{position:absolute;left:50%;top:0;width:var(--sol-ig-w);height:var(--sol-ig-full);margin-left:calc(var(--sol-ig-w) / -2);transform:translateY(calc(var(--sol-ig-shift) * -1));border:0;display:block;background:#000;opacity:0;transition:opacity .45s var(--sol-ease);z-index:2}
.sol-reel.is-ready .sol-reel__frame{opacity:1}
@media (max-width:620px){
  :root{--sol-ig-w:320px;--sol-ig-full:600px;--sol-ig-shift:50px;--sol-ig-card:380px}
  .sol-reel.is-live{width:min(320px,86vw)}
}
