/* FV only: approved ampersand composition. Static HTML is the fallback. */
.hana-fv{--fv-paper:#faf9f5;--fv-teal:#007c72;background:var(--fv-paper);color:var(--fv-teal);position:relative;isolation:isolate;overflow:hidden;margin:auto;max-width:1920px}
.hana-fv-stage{position:relative;width:100%;aspect-ratio:1600/830;min-height:620px;max-height:920px;overflow:hidden}
.hana-fv-amp{position:absolute;left:22%;top:-10%;font-family:Georgia,'Times New Roman',serif;font-size:clamp(650px,65vw,1120px);line-height:1;font-weight:400;color:#dfe7de;pointer-events:none;z-index:1}
.hana-fv-photo{position:absolute;inset:0;z-index:2;clip-path:url(#hana-fv-mask)}
.hana-fv-photo img{width:100%;height:100%;object-fit:cover;object-position:75% 45%;display:block}
.hana-fv-gl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
.hana-fv-contour{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;fill:none;stroke:var(--fv-teal);stroke-width:1.15;vector-effect:non-scaling-stroke}
.hana-fv-copy{position:relative;z-index:4;width:51%;padding:6.4% 0 0 3.8%}
.hana-fv-place{font-size:clamp(13px,1.28vw,20px);letter-spacing:.12em;margin:0 0 32px}
.hana-fv-copy h1{font-size:clamp(48px,5.6vw,88px);line-height:1.6;letter-spacing:.065em;font-weight:400;margin:0 0 25px}
.hana-fv-copy h1 span{display:block;white-space:nowrap}.hana-fv-copy h1 span+span{margin-left:6%}
.hana-fv-intro{font-size:clamp(16px,1.45vw,22px);line-height:1.9;letter-spacing:.07em;margin-bottom:7.5%}
.hana-fv-link{display:flex;align-items:center;gap:22px;width:max-content;max-width:100%;min-height:52px;font-size:clamp(17px,1.7vw,26px);letter-spacing:.06em;text-decoration:none}
.hana-fv-link>span{display:grid;place-items:center;border-radius:50%;width:52px;height:52px;background:var(--fv-teal);color:white;font-family:Arial,sans-serif;font-size:27px;transition:transform .3s,background .3s}
.hana-fv-link:hover>span{transform:translateX(5px);background:#005d55}.hana-fv a:focus-visible{outline:2px solid var(--fv-teal);outline-offset:7px}
.hana-fv-limit{font-size:clamp(12px,1vw,15px);letter-spacing:.07em;margin-top:28px}
.hana-fv-edge{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #abc2b8;padding:20px 3.8%;font:12px/1.5 Georgia,serif;letter-spacing:.18em}.hana-fv-edge a{text-decoration:none;min-height:30px;display:flex;align-items:center;gap:15px}
@media(min-width:761px) and (max-width:1050px){.hana-fv-stage{min-height:560px}.hana-fv-copy{padding-top:7%}.hana-fv-copy h1{font-size:5.5vw}.hana-fv-intro{margin-bottom:35px}.hana-fv-contour{opacity:.7}.hana-fv-limit{margin-top:23px}}
@media(max-width:760px){
 .hana-fv-stage{aspect-ratio:auto;min-height:0;max-height:none;padding:0 0 365px}
 .hana-fv-copy{width:100%;padding:30px 22px 0}.hana-fv-place{font-size:11px;letter-spacing:.07em;margin-bottom:14px}
 .hana-fv-copy h1{font-size:clamp(36px,9.2vw,55px);line-height:1.5;letter-spacing:.05em;margin-bottom:17px}.hana-fv-copy h1 span+span{margin-left:7%}
 .hana-fv-intro{font-size:14px;line-height:1.9;margin-bottom:15px}.hana-fv-link{font-size:16px;gap:18px;min-height:44px}.hana-fv-link>span{width:42px;height:42px;font-size:24px}
 .hana-fv-limit{font-size:10px;margin-top:15px}.hana-fv-amp{font-size:570px;left:26%;top:-18px;opacity:.65}
 .hana-fv-photo{top:auto;height:345px;clip-path:ellipse(88% 77% at 72% 77%)}.hana-fv-photo img{object-position:80% center}
 .hana-fv-contour{display:none}.hana-fv-edge{padding:13px 22px;font-size:9px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:no-preference){
 .hana-fv.is-opening .hana-fv-amp{animation:fv-amp-in 1.25s ease both}
 .hana-fv.is-opening .hana-fv-contour path{stroke-dasharray:1;animation:fv-line-in 1.7s ease both}
 .hana-fv.is-opening .hana-fv-copy>*{animation:fv-copy-in .8s ease both;animation-delay:.25s}
 .hana-fv.is-opening .hana-fv-copy h1{animation-delay:.4s}.hana-fv.is-opening .hana-fv-link{animation-delay:.65s}
 @keyframes fv-amp-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
 @keyframes fv-line-in{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
 @keyframes fv-copy-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.hana-fv-gl{display:none!important}.hana-fv-link>span{transition:none}}

@media(min-width:761px) and (max-width:1050px){.hana-fv-contour path{stroke-opacity:0}.hana-fv-link{border-top:1px solid #abc2b8;padding-top:16px}}
