/* FLORIA detail: PSD 1600px artboard and the HOLIDOT mobile editorial rhythm. */
.floria-project-detail{background:#141414;color:#fff}
.floria-desktop{width:min(100%,1600px);margin-inline:auto}
.floria-canvas{width:1600px;background:#141414}
.floria-image{object-fit:contain}
.floria-text{white-space:pre;overflow:visible;word-break:keep-all}
.floria-text.is-body-copy{font-kerning:normal}
.floria-text.is-channel-size{font-style:italic}
.floria-video,.floria-sequence,.floria-laptop,.floria-phone{position:relative;display:block;overflow:hidden;background:#141414}
.floria-sequence.is-paper{background:#020202}
.floria-video{background-position:center;background-size:cover}
.floria-video video{position:absolute;display:block;inset:-2px;width:calc(100% + 4px);height:calc(100% + 4px);object-fit:cover;background:transparent}
.floria-video video:focus-visible,.floria-phone-screen:focus-visible{outline:2px solid #91e8ce;outline-offset:3px}
.floria-sequence-base,.floria-sequence-frame,
.floria-device-frame,.floria-device-poster{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:fill}
.floria-sequence-frame{inset:auto;opacity:0;visibility:hidden;transition:none}
.floria-sequence-frame.is-shown{opacity:1;visibility:visible}
.floria-laptop,.floria-phone{overflow:visible;background:transparent}
.floria-laptop-screen,.floria-phone-screen{position:absolute;overflow:hidden;background:#080808;isolation:isolate}
.floria-laptop-screen{border-radius:2.5%/4%}
.floria-laptop-poster{position:absolute;inset:2.5%;display:block;width:95%;height:95%;object-fit:cover}
.floria-laptop-movie{position:absolute!important;inset:2.5%!important;width:95%!important;height:95%!important}
.floria-laptop-movie video{inset:0;width:100%;height:100%}
.floria-phone-screen{border-radius:7%/3.3%;opacity:0;transition:opacity .2s ease}
.floria-phone-screen.is-ready{opacity:1}
.floria-phone-screen::after{content:"";position:absolute;z-index:3;left:34%;top:0;width:32%;height:2.2%;border-radius:0 0 10px 10px;background:#050505;pointer-events:none}
.floria-phone-content{position:relative;display:block;width:100%;transform:translate3d(0,0,0)}
.floria-phone-piece{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}
.floria-phone-screen:hover .floria-phone-content{will-change:transform}
.floria-phone-toggle{display:none}
.floria-sns-posts{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.floria-sns-window{position:absolute;overflow:hidden;opacity:0;background:#080b12}
.floria-sns-posts.is-ready .floria-sns-window{opacity:1}
.floria-sns-track{display:flex;width:500%;height:100%;transform:translate3d(0,0,0)}
.floria-sns-slide{position:relative;flex:0 0 20%;height:100%;overflow:hidden}
.floria-sns-original{position:absolute;display:block;max-width:none;object-fit:fill}
.floria-sns-post{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.floria-phone-wheel-hint{position:absolute;z-index:5;left:50%;top:50%;width:32px;height:58px;transform:translate(-50%,-50%);color:#fff;opacity:0;pointer-events:none;transition:opacity .18s ease;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.floria-phone-wheel-hint svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.floria-phone-screen.is-hover-control:not(.has-wheel-input) .floria-phone-wheel-hint{opacity:1;animation:floria-wheel-hint-pulse 1.1s ease-in-out infinite}
@keyframes floria-wheel-hint-pulse{50%{opacity:.38}}
.floria-mobile{display:none}
@media(max-width:1180px){
  .floria-desktop{display:none}
  .floria-mobile{display:flex;--floria-edge:clamp(18px,5vw,40px)}
  .floria-mobile .floria-text{white-space:normal;overflow-wrap:normal;word-break:keep-all}
  .floria-mobile .floria-text.is-location{white-space:pre-line}
  .floria-mobile .floria-text.is-body-copy{font-size:17px;line-height:29px;letter-spacing:-.02em;transform:scaleY(.99);transform-origin:top left}
  .floria-mobile .floria-text.is-heading{font-size:clamp(17px,4.4vw,22px);line-height:1.45}
  .floria-mobile .floria-image{height:auto;object-fit:contain}
  .floria-mobile-hero{position:relative;width:100%!important;max-width:none!important;margin:0!important;overflow:hidden}
  .floria-mobile-hero>.floria-image:first-child{width:100%;max-width:none;margin:0;display:block}
  .floria-mobile-hero-mark{position:absolute!important;left:39.76%;top:75.63%;width:23.9%!important;height:auto!important;margin:0!important;object-fit:contain}
  .floria-mobile>.floria-video,.floria-mobile>.floria-sequence,
  .floria-mobile>.floria-laptop{width:100%;max-width:100%;margin:0}
  .floria-mobile>.floria-video.is-sns{width:min(100%,396px);align-self:center}
  .floria-mobile>.floria-phone{width:min(100%,325px);max-width:325px;align-self:center;margin:0}
  .floria-mobile .floria-phone-screen{border-radius:7%/3.3%;pointer-events:none}
  .floria-mobile .floria-phone-content{pointer-events:none}
  .floria-mobile .floria-phone-wheel-hint{display:none}
  .floria-mobile .floria-phone-toggle{position:absolute;z-index:5;left:50%;top:50%;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;background:transparent;color:#fff;transform:translate(-50%,-50%);cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 1px 3px rgba(0,0,0,.85))}
  .floria-mobile .floria-phone-toggle svg{display:block;width:52px;height:52px;animation:floria-phone-play-pulse .8s ease-in-out infinite}
  .floria-mobile .floria-phone-toggle.is-active svg{animation:none}
  .floria-mobile .floria-phone-toggle .floria-phone-play{fill:currentColor}
  .floria-mobile .floria-phone-toggle .floria-phone-pause{display:none;fill:currentColor}
  .floria-mobile .floria-phone-toggle.is-active{opacity:.62}
  .floria-mobile .floria-phone-toggle.is-active .floria-phone-play{display:none}
  .floria-mobile .floria-phone-toggle.is-active .floria-phone-pause{display:block}
  .floria-mobile .floria-phone-toggle:focus-visible{outline:2px solid #fff;outline-offset:3px}
  .floria-mobile .floria-row{align-self:stretch;width:100%;overflow:hidden}
  .floria-mobile .floria-row.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
  .floria-mobile .floria-row.is-three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .floria-mobile .floria-row.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floria-mobile .floria-row.is-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floria-mobile>[data-detail-spacing="floria-color-to-paper"]{--detail-target-gap:clamp(63px,19.56vw,160px)}
  .floria-mobile .floria-row>.floria-image{width:100%;max-width:none;margin:0}
  .floria-mobile>.floria-sns-strip{
    position:relative;align-self:flex-start;display:block;width:100vw!important;max-width:none!important;
    height:auto;aspect-ratio:1600/1015;margin-left:calc(-1 * var(--floria-edge))!important;overflow:hidden;background:#000;
  }
  .floria-sns-strip>.floria-image:first-child{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;margin:0;object-fit:fill}
  .floria-sns-strip>.floria-image:nth-child(2){position:absolute;left:0;top:13.8916%;width:100%;height:74.2857%;max-width:none;margin:0;object-fit:fill}
  .floria-sns-strip>.floria-sns-posts{inset:auto;left:0;top:13.8916%;width:100%;height:74.2857%}
  .floria-mobile>.floria-image.is-type-visual,.floria-mobile>.floria-image.is-fullbleed-print{
    align-self:flex-start;width:100vw!important;max-width:none!important;height:auto;margin-left:calc(-1 * var(--floria-edge))!important;margin-right:0!important;
  }
  .floria-mobile>[data-detail-spacing="sns-caption"]{--detail-target-gap:32px}
  .floria-mobile>[data-detail-spacing="floria-sns-to-colors"]{--detail-target-gap:clamp(45px,14vw,110px)}
  .floria-mobile>.floria-channel-art{align-self:stretch;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;width:100%}
  .floria-channel-art-panel{display:grid;grid-template-columns:minmax(0,1fr);row-gap:16px;align-content:start;min-width:0}
  .floria-channel-art-panel>.floria-text{margin:0 0 16px;font-size:clamp(10px,2.8vw,14px);line-height:1.15}
  .floria-channel-art-panel>.floria-image{display:block;width:100%;max-width:none;height:auto;margin:0}
}
@keyframes floria-phone-play-pulse{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){
  .floria-phone-screen{transition:none}
  .floria-sequence-frame{opacity:1;visibility:visible}
  .floria-phone-wheel-hint{animation:none!important}
  .floria-phone-toggle{display:none!important}
  .floria-mobile .floria-phone-toggle svg{animation:none!important}
}
