@font-face{font-family:AmuleDisplay;src:url('assets/fonts/amule-display-400.woff?v=1.48.0') format('woff');font-weight:400;font-display:swap}
/* Adapted from the selected first-view Site, scoped to the homepage hero. */
.amule-firstview{--fv-fit:1;--scene-duration:3000ms;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;width:100%;height:var(--fv-available-height,calc(100svh - var(--header-height) - 78px));min-height:0;padding:calc(14px * var(--fv-fit)) 24px calc(40px * var(--fv-fit));background:linear-gradient(150deg,#087f98 0%,#08758d 55%,#086b86 100%);color:#fff}
.fv-layout{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:440px;color:#fff;text-shadow:0 1px 2px #00526b25}
.fv-layout>.fv-brand,.fv-layout>.fv-scenes,.fv-layout>.fv-profile{flex-shrink:0}
.fv-scenes{display:grid;grid-template-columns:minmax(0,1fr);color:inherit}
.fv-copy{grid-area:1/1;min-width:0;opacity:1}
.fv-day{opacity:0}
.fv-eyebrow{display:flex;align-items:center;gap:10px;font-size:calc(8px * var(--fv-fit));font-weight:400;letter-spacing:.18em;line-height:1.6;color:inherit;margin:0 0 calc(12px * var(--fv-fit))}
.fv-eyebrow::before{content:'';width:20px;height:1px;background:currentColor}
.fv-lead{margin:0;font:400 calc(28px * var(--fv-fit))/1.55 var(--serif);letter-spacing:.025em}
.fv-title{margin:0;font:400 calc(42px * var(--fv-fit))/1.3 var(--serif);letter-spacing:.025em;color:inherit}
.fv-divider{width:34px;height:1px;background:currentColor;opacity:.8;margin:calc(10px * var(--fv-fit)) 0}
.fv-profile{position:relative;isolation:isolate;margin-top:calc(16px * var(--fv-fit));padding:calc(4px * var(--fv-fit)) 0 calc(10px * var(--fv-fit));border:0;border-radius:0;background:none;box-shadow:none;color:inherit;text-shadow:inherit;opacity:1;animation:none;transition:none}
/* The introduction lives in the sky: diffuse light and an open orbital arc. */
.fv-profile::before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-30px -60px -40px -35px;background:radial-gradient(ellipse at 88% 67%,#f9df9b14,transparent 65%);filter:blur(12px)}
.fv-profile::after{content:'';position:absolute;z-index:-1;pointer-events:none;left:-16%;bottom:-28px;width:140%;height:56px;border:0;border-top:1px solid #e6d19988;border-radius:50%;transform:rotate(-7deg);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 78%,transparent)}
.fv-name::before{content:'';display:inline-block;width:9px;height:12px;margin-right:9px;vertical-align:baseline;background:#eed79e;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);filter:drop-shadow(0 0 4px #ffe6a866)}
.fv-name{margin:0 0 calc(5px * var(--fv-fit));font:600 calc(19px * var(--fv-fit))/1.6 var(--serif)}
.fv-profile h1{margin:0;font:600 calc(21px * var(--fv-fit))/1.6 var(--serif);letter-spacing:0}
.fv-specialty{margin:calc(3px * var(--fv-fit)) 0 0;font-size:calc(18px * var(--fv-fit));line-height:1.65;letter-spacing:0}
.fv-promise{margin:calc(12px * var(--fv-fit)) 0 0;font-size:calc(18px * var(--fv-fit));line-height:1.65;letter-spacing:0}
.fv-motion{position:absolute;right:14px;bottom:6px;z-index:3;display:flex;align-items:center;justify-content:center;gap:5px;min-width:90px;min-height:36px;padding:0 10px;border:1px solid #d5eeeb77;border-radius:18px;background:#05566c;color:#fff;font-size:11px;line-height:1.5;box-shadow:0 2px 7px #00364522}
.fv-daylight{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 105% -8%,#fff9d6 0%,#fffdf1 24%,#f3fdff 48%,#d0edf4 83%,#b7dfec 100%);opacity:0;pointer-events:none}
.fv-sunlight{position:absolute;inset:-12%;z-index:1;opacity:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 100% 0%,#fffce8 0%,#fff1b180 19%,transparent 55%)}
.fv-sunlight::before{content:'';position:absolute;inset:-20%;background:linear-gradient(127deg,transparent 23%,#fffcedc9 30%,transparent 38%,#ffe6a188 45%,#fffbeeb8 49%,transparent 57%,#fff1bb70 65%,transparent 72%);filter:blur(9px);transform:translate3d(3%,-4%,0)}
.amule-firstview.is-dawn .fv-night,.amule-firstview.is-dusk .fv-day{animation:fv-copy-out var(--scene-duration) ease-in-out both}
.amule-firstview.is-dawn .fv-day,.amule-firstview.is-dusk .fv-night{animation:fv-copy-in var(--scene-duration) ease-in-out both}
.amule-firstview.is-day .fv-night{opacity:0}
.amule-firstview.is-day .fv-day{opacity:1}
.amule-firstview.is-dawn .fv-daylight,.amule-firstview.is-dawn .fv-sunlight{opacity:1;animation:fv-to-day var(--scene-duration) ease-in-out both}
.amule-firstview.is-day .fv-daylight,.amule-firstview.is-day .fv-sunlight{opacity:1}
.amule-firstview.is-dusk .fv-daylight,.amule-firstview.is-dusk .fv-sunlight{opacity:0;animation:fv-to-night var(--scene-duration) ease-in-out both}
.amule-firstview.is-dawn .fv-starfield{opacity:0;animation:fv-to-night var(--scene-duration) ease-in-out both}
.amule-firstview.is-day .fv-starfield{opacity:0}
.amule-firstview.is-dusk .fv-starfield{opacity:1;animation:fv-to-day var(--scene-duration) ease-in-out both}
.amule-firstview.is-dawn .fv-layout{animation:fv-color-day var(--scene-duration) ease-in-out both}
.amule-firstview.is-day .fv-layout{color:#09576b;text-shadow:none}
.amule-firstview.is-dusk .fv-layout{animation:fv-color-night var(--scene-duration) ease-in-out both}
.amule-firstview.is-dawn .fv-motion,.amule-firstview.is-day .fv-motion{background:#fffffff2;color:#00566c;border-color:#9bbec6}
.fv-paused .fv-daylight,.fv-paused .fv-sunlight,.fv-paused .fv-starfield,.fv-paused .fv-copy,.fv-paused .fv-meteor,.fv-paused .fv-twinkle{animation-play-state:paused}
.fv-paused .fv-layout{animation-play-state:paused}
@keyframes fv-copy-in{from{opacity:0}to{opacity:1}}
@keyframes fv-copy-out{from{opacity:1}to{opacity:0}}
@keyframes fv-to-day{from{opacity:0}to{opacity:1}}
@keyframes fv-to-night{from{opacity:1}to{opacity:0}}
@media(max-width:359px){.amule-firstview{padding-left:22px;padding-right:22px}.fv-lead{font-size:calc(26px * var(--fv-fit))}.fv-title{font-size:calc(38px * var(--fv-fit))}.fv-profile h1{font-size:calc(20px * var(--fv-fit))}}
@media(min-width:440px){.fv-lead{font-size:calc(31px * var(--fv-fit))}.fv-title{font-size:calc(46px * var(--fv-fit))}.fv-name{font-size:calc(20px * var(--fv-fit))}.fv-profile h1{font-size:calc(23px * var(--fv-fit))}.fv-specialty,.fv-promise{font-size:calc(19px * var(--fv-fit))}}
html[lang=en] .fv-lead,html[lang=ko] .fv-lead{font-size:calc(23px * var(--fv-fit));line-height:1.6}
html[lang=en] .fv-title,html[lang=ko] .fv-title{font-size:calc(32px * var(--fv-fit));line-height:1.5}
html[lang=ko] .amule-firstview{word-break:keep-all}
@media(prefers-reduced-motion:reduce){.fv-meteor{display:none}.fv-twinkle{animation:none!important;opacity:.3}.fv-daylight,.fv-sunlight,.fv-starfield,.fv-copy{animation:none!important}.fv-scenes,.fv-title{transition:none!important}.amule-firstview.is-morning .fv-night{opacity:0}.amule-firstview.is-morning .fv-day{opacity:1}}

.fv-starfield{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;contain:paint}.fv-meteor{position:absolute;top:-180px;left:var(--x);width:1px;height:var(--tail);background:linear-gradient(to bottom,transparent,rgba(255,244,214,.08) 35%,rgba(255,244,214,.75));opacity:0;animation:fv-starfall var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}.fv-meteor:before{content:'';position:absolute;left:-1px;bottom:-2px;width:3px;height:3px;border-radius:50%;background:#fff8e4;box-shadow:0 0 7px 2px #fff1bf88}.fv-meteor:after{content:'';position:absolute;bottom:-7px;left:-5px;width:11px;height:13px;background:#fff5d7;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.fv-meteor.soft{width:1px;opacity:0;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.3))}.fv-meteor.soft:after{width:6px;height:7px;left:-2.5px;bottom:-4px;background:#e0faff}.fv-meteor.soft:before{width:2px;height:2px;box-shadow:0 0 4px #e0faff66}
.fv-twinkle{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#f9e1ad;box-shadow:0 0 5px #f9e1ad;opacity:.25;animation:fv-twinkle var(--duration) ease-in-out infinite;animation-delay:var(--delay)}.fv-twinkle.bright{width:7px;height:7px;border-radius:0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
@keyframes fv-starfall{0%{transform:translate3d(0,-70px,0) rotate(23deg);opacity:0}10%{opacity:.72}75%{opacity:.72}100%{transform:translate3d(-330px,calc(100svh + 320px),0) rotate(23deg);opacity:0}}
@keyframes fv-twinkle{0%,100%{opacity:.15;transform:scale(.8)}50%{opacity:.65;transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.fv-meteor{display:none}.fv-twinkle{animation:none;opacity:.3}}

/* Borderless logo: the formal source shape takes the same currentColor as the copy. */
.fv-brand{position:relative;left:16px;width:160px;max-width:50%;align-self:flex-end;margin:0 0 calc(10px * var(--fv-fit)) auto;border:0;background:none;box-shadow:none;color:inherit}
.fv-brand-logo{display:block;width:100%;height:auto;aspect-ratio:2000/1410;color:inherit;overflow:visible;border:0;outline:0;background:transparent;box-shadow:none;filter:none}
@keyframes fv-color-day{from{color:#fff;text-shadow:0 1px 2px #00526b25}to{color:#09576b;text-shadow:none}}
@keyframes fv-color-night{from{color:#09576b;text-shadow:none}to{color:#fff;text-shadow:0 1px 2px #00526b25}}
@media(prefers-reduced-motion:reduce){.fv-layout{animation:none!important}.amule-firstview.is-morning .fv-layout{color:#09576b;text-shadow:none}}

/* Keep animation controls icon-only and leave the accessible button label intact. */
.fv-motion{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;gap:0;border-radius:50%}
.fv-motion>[data-i18n]{display:none}

/* A distinct calligraphic Mincho for the Japanese day/night headlines. */
html[lang=ja] .fv-lead,html[lang=ja] .fv-title{font-family:AmuleDisplay,var(--serif);font-weight:400;font-synthesis:none}
