/* FV only. All selectors are scoped to its opt-in class. */
/* Static, hand-drawn header edge; header dimensions and controls are unchanged. */
.site-header{background:#fff;border-bottom:0}
.site-header::after{display:block;top:calc(100% - 1px);height:14px;background:url('images/header-wave.svg') center/100% 100% no-repeat}
/* Temporarily disable FV motion at the user's request. */
#home, #home *, #home::before, #home::after, #home *::before, #home *::after {
  animation: none !important;
  transition: none !important;
}
.hero.fv-illustrated:not(.has-video){display:block;padding:0;background:#007fd5;overflow:hidden;isolation:isolate}
.fv-illustrated .fv-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.fv-illustrated .fv-panorama{width:100%;height:100%;max-width:none;object-fit:cover;object-position:48% bottom;animation:fv-panorama-drift 8s ease-in-out infinite}
.fv-illustrated .fv-work-glints{position:absolute;left:50%;bottom:0;width:max(100%,calc((100dvh - var(--header-height)) * .571429));aspect-ratio:948/1659;transform:translateX(-50%);z-index:1}
.fv-illustrated .fv-work-glints svg{position:absolute;left:86%;top:22%;width:8%;height:auto;animation:fv-tool-glint 2.8s ease-out infinite}
.fv-illustrated .fv-work-glints svg+svg{left:52%;top:38%;width:5%;animation-delay:1.4s}
.fv-illustrated .fv-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 49%,rgba(0,56,138,.28) 60%,rgba(0,43,116,.48) 85%,rgba(0,43,116,.08) 100%)}
.hero.fv-illustrated:not(.has-video) .hero-copy{position:absolute;top:56%;left:0;right:0;padding:0 24px;display:grid;gap:16px;z-index:2;align-content:start;text-shadow:0 2px 6px rgba(0,39,103,.4)}
.fv-illustrated .hero-copy>.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.08em;gap:5px;flex-direction:column;align-items:flex-start}
.fv-illustrated .hero-job{padding:0;background:none;transform:none;color:#fff;font-size:13px;letter-spacing:.14em;display:flex;align-items:center;gap:14px}
.fv-illustrated .hero-job::after{content:'';display:block;width:44px;height:1px;background:#fff}
.fv-illustrated .hero-copy h1{font-size:clamp(32px,9.65vw,44px);line-height:1.45;letter-spacing:.01em;font-weight:700}
.fv-illustrated .hero-line--accent::after{height:5px;bottom:0;background:#ffe440;border-radius:60% 25% 40% 20%;transform:rotate(-3deg)}
.fv-illustrated .hero-copy>p:last-child{font-size:14px;line-height:1.85;letter-spacing:.06em}
.hero.fv-illustrated:not(.has-video)>.scroll-cue{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:3;padding:8px 20px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.28em;text-shadow:0 1px 5px #004987}
.fv-illustrated .scroll-cue span{font-size:0;width:1px;height:27px;background:#fff;margin:10px auto 4px;position:relative}
.fv-illustrated .scroll-cue span::after{content:'';position:absolute;bottom:0;left:-4px;width:8px;height:8px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}
.fv-illustrated .hero-copy>.eyebrow{animation:fv-copy-arrive .9s .15s cubic-bezier(.16,1,.3,1) both}
.fv-illustrated .hero-line{animation:fv-copy-arrive 1.1s .35s cubic-bezier(.16,1,.3,1) both}
.fv-illustrated .hero-line--accent{animation-delay:.6s}
.fv-illustrated .hero-line--accent::after{animation:hero-underline .8s 1.1s var(--ease) both}
.fv-illustrated .hero-copy>p:last-child{animation:fv-copy-arrive 1s .85s cubic-bezier(.16,1,.3,1) both}
.fv-illustrated.is-paused .hero-line,.fv-illustrated.is-paused .hero-copy>p{animation-name:none}
.fv-illustrated.has-video .fv-art{display:none}
@keyframes fv-panorama-drift{0%,100%{object-position:46% bottom;filter:saturate(1)}50%{object-position:54% bottom;filter:saturate(1.12)}}
@keyframes fv-tool-glint{0%,12%,70%,100%{opacity:0;transform:scale(.4) rotate(-20deg)}28%{opacity:1;transform:scale(1.1) rotate(0)}52%{opacity:0;transform:scale(1.55) rotate(20deg)}}
@keyframes fv-copy-arrive{from{opacity:0;transform:translate(32px,42px) rotate(3deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
@media(max-height:740px){
  .hero.fv-illustrated:not(.has-video) .hero-copy{top:54%;padding-inline:22px;gap:10px}
  .fv-illustrated .hero-copy h1{font-size:clamp(29px,8.7vw,38px);line-height:1.4}
  .fv-illustrated .hero-copy>.eyebrow{font-size:9px;gap:3px}
  .fv-illustrated .hero-job{font-size:11px}
  .fv-illustrated .hero-copy>p:last-child{font-size:12px;line-height:1.7}
  .hero.fv-illustrated:not(.has-video)>.scroll-cue{bottom:8px;font-size:9px}
  .fv-illustrated .scroll-cue span{height:18px;margin-top:7px}
}
@media(prefers-reduced-motion:reduce){.fv-illustrated .fv-panorama,.fv-illustrated .fv-work-glints svg{animation:none}.fv-illustrated .fv-work-glints{display:none}}

/* Reference-style static lower edge and independent original lettering assets. */
.hero.fv-illustrated:not(.has-video){--fv-rem:calc(min(100vw,480px) / 39);background:#fff;height:calc(100svh - var(--header-height));min-height:calc(100svh - var(--header-height));max-height:none;padding-bottom:0}
.fv-illustrated .fv-art{position:absolute;inset:0 0 auto;height:calc(100% - 20 * var(--fv-rem) + 35px)}
.fv-illustrated .fv-panorama{object-position:center top}
.fv-illustrated .fv-art::after{inset:auto 0 -1px;height:30px;background:url('images/fv-bottom-wave.svg') center/100% 100% no-repeat}
.fv-illustrated .fv-work-glints{display:none}
.hero.fv-illustrated:not(.has-video) .hero-copy{position:absolute;top:auto;bottom:calc(6.6 * var(--fv-rem) - 20px);padding:0 20px;gap:0;color:var(--ink);text-shadow:none;text-align:center}
.fv-illustrated .hero-copy>.eyebrow{align-items:center;font-size:9px;gap:1px}
.fv-illustrated .hero-job{color:var(--ink);font-size:11px}
.fv-illustrated .hero-job::after{display:none}
.fv-illustrated .hero-copy h1{line-height:1}
.fv-illustrated .fv-catch-lettering{width:100%;height:auto}
.fv-illustrated .hero-copy>p:last-child{font-size:12px;line-height:1.7}
.hero.fv-illustrated:not(.has-video)>.scroll-cue{left:auto;right:14px;bottom:7px;transform:none;color:var(--ink);text-shadow:none;font-family:'Zen Maru Gothic',sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em;padding:4px 8px}
.fv-illustrated .scroll-cue span{background:none;width:auto;height:auto;font-size:22px;line-height:1;margin:0;text-align:right}
.fv-illustrated .scroll-cue span::after{display:none}
.brand--header{min-width:0}
.brand img[src^="images/iriomote-logo.svg"]{background:#fff}
.brand--header .company-lettering{width:124px;max-width:calc(100% - 42px);height:auto;flex:0 1 auto;background:none}
.header-actions>.header-cta{padding-inline:6px}
.header-cta .cta-lettering{width:100%;height:auto;mix-blend-mode:multiply}
.header-actions>.cta--blue .cta-lettering{width:calc(100% - 12px);min-width:0;filter:invert(1);mix-blend-mode:screen}
@media(max-height:740px){
  .hero.fv-illustrated:not(.has-video) .hero-copy{top:auto;gap:5px}
  .fv-illustrated .hero-copy>p:last-child{font-size:11px}
  .hero.fv-illustrated:not(.has-video)>.scroll-cue{font-size:12px;bottom:4px}
}
