/* Scene rhythm and service layouts requested for the Korean company page. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html:has(.brand-layout){scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:68px}
.brand-layout .hero{scroll-snap-align:start}
.brand-layout .company-intro,.brand-layout .release-section,.brand-layout .product-item{scroll-snap-align:center;scroll-snap-stop:normal}
.brand-layout #contact{scroll-snap-align:end}
.brand-layout .hero{background:#0064ff;isolation:isolate;overflow:hidden}
.hero-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#0064ff}
.ambient-field{position:absolute;inset:-12%;background:radial-gradient(ellipse at 15% 15%,#dce5ff 0,transparent 44%),radial-gradient(ellipse at 90% 15%,#009bff 0,transparent 48%),radial-gradient(ellipse at 80% 100%,#afdfff 0,transparent 45%),#0049e5;animation:ambient-drift 16s ease-in-out infinite alternate;will-change:transform}
@keyframes ambient-drift{from{transform:translate3d(-2%,-1%,0) scale(1.02)}to{transform:translate3d(3%,2%,0) scale(1.08)}}
.brand-layout .hero h1{min-height:2.3em;display:flex;align-items:center;justify-content:center}
.brand-layout .company-intro{min-height:0;display:block}
.brand-layout .company-intro-grid{padding-block:72px}
.release-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:36px}
.release-section .release-heading h2{margin:0!important}
.release-heading>a{display:flex;gap:18px;align-items:center;font-size:15px;white-space:nowrap}
.release-gallery{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.release-panel{position:relative;min-height:520px;border-radius:24px;overflow:hidden;background:#0064ff url('/assets/company/hero-blue.svg') center/cover}
.release-panel[hidden]{display:none!important}
.release-panel .feature-shade{position:absolute;inset:0;background:linear-gradient(0deg,#001d59e6,transparent 100%)}
.release-panel .feature-copy{position:absolute;inset:auto 32px 32px;display:grid;gap:20px;color:white}
.release-panel .feature-copy>p:first-child{font-size:18px;color:#ffffffdb}
.release-panel h3{font-size:32px;font-weight:500;line-height:1.4;margin:0}
.release-panel .release-summary{font-size:17px;line-height:1.6;color:#ffffffed}
.release-panel .release-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;margin-top:8px}
.release-panel .release-meta a{color:white;text-decoration:underline;text-underline-offset:4px}
.release-choices{display:flex;flex-direction:column;gap:16px}
.release-choice{width:100%;text-align:left;padding:28px;border:1px solid transparent;border-radius:24px;background:#f4f4f4;color:#333;display:flex;flex-direction:column;gap:14px;flex:1;cursor:pointer}
.brand-layout .release-choice{background:#f4f4f4;border:1px solid transparent}
.release-choice[aria-pressed=true]{display:none}
.release-choice:hover{background:#eaf0fc!important}
.release-choice>span{font-size:14px;color:#666}
.release-choice strong{font-size:21px;line-height:1.5;font-weight:500}
.release-choice time{font-size:14px;color:#666;margin-top:auto}
.release-section .news-content{padding-block:72px}
.brand-layout .release-section .news-content{padding-block:72px}
.brand-layout .release-panel{aspect-ratio:auto;min-height:460px}
.release-archive .release-choice[aria-pressed=true]{display:flex;border-color:#0064ff;background:#eef4ff}
.release-archive .release-choices{max-height:640px;overflow:auto}
.release-archive .release-choice{min-height:170px;flex:none}
.brand-layout .products{height:auto;position:relative;padding:0}
.brand-layout .product-list{position:static;inset:auto;width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
.brand-layout .product-item{width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:72px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}
.brand-layout .product-item:nth-child(even) .product-frame{order:2}
.brand-layout .product-item:nth-child(even) .service-copy{order:1}
.brand-layout .product-frame{width:100%;height:auto;aspect-ratio:565/540;position:relative;border-radius:24px;overflow:visible}
.brand-layout .product-image{width:100%;height:100%;border-radius:24px;overflow:hidden;display:block;padding:0}
.brand-layout .product-image img{width:100%;height:100%;object-fit:cover}
.brand-layout .service-copy{max-width:465px}
.brand-layout .service-brand{display:flex;gap:12px;align-items:center;margin:0 0 36px;font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.brand-layout .service-brand img{flex:none}
.brand-layout .service-brand.brand-onyouoffice{letter-spacing:-.02em}
.brand-layout .itarouter-lockup{width:240px;height:74px;object-fit:contain;object-position:left center;margin:-14px 0}
.clipomi-symbol{display:grid;place-items:center;background:#1b2020;border-radius:10px;width:44px;height:44px}
.brand-layout .service-tagline{font-size:38px;line-height:1.4;font-weight:500;letter-spacing:-.025em;margin-bottom:24px}
.brand-layout .service-description{font-size:18px;line-height:1.8;color:#666;word-break:keep-all;margin-bottom:32px}
.brand-layout .service-detail-link{display:inline-flex;align-items:center;gap:28px;font-size:16px;padding:8px 0;border-bottom:1px solid #aaa;border-radius:0;cursor:pointer}
.brand-layout .product-frame .destination-note{inset:auto 16px 16px;max-height:calc(100% - 32px);overflow:auto;z-index:2}
footer.site-footer#contact{height:auto;min-height:0;padding:0;background:#1a1a1a;color:white}
.site-footer .company-info{margin-top:48px;color:#aaa}
.site-footer .footer-top nav a{color:#aaa}
.site-footer .company-info a{color:#bbb}
@media(max-width:900px){.brand-layout .product-item{gap:40px}.brand-layout .service-tagline{font-size:30px}.release-panel{min-height:480px}.release-choice{padding:20px}.release-choice strong{font-size:18px}}
@media(max-width:760px){html:has(.brand-layout){scroll-snap-type:none}.brand-layout .product-item{grid-template-columns:1fr;gap:36px;padding:72px 0;min-height:0}.brand-layout .product-item:nth-child(even) .product-frame,.brand-layout .product-item:nth-child(even) .service-copy{order:initial}.brand-layout .service-copy{max-width:none}.release-gallery{grid-template-columns:1fr}.release-panel{min-height:460px}.release-panel .feature-copy{inset:auto 24px 24px}.release-panel h3{font-size:27px}.release-heading{gap:16px}.release-heading>a{font-size:13px}.release-choices{flex-direction:row}.release-choice{min-width:0;padding:18px}.release-choice strong{font-size:16px}.release-choice>span,.release-choice time{font-size:12px}.site-footer .footer-contact{display:block}.site-footer .footer-contact h2{font-size:38px;margin-bottom:32px}.site-footer .footer-contact>a{font-size:21px}.release-archive .release-choices{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html:has(.brand-layout){scroll-snap-type:none;scroll-behavior:auto}.ambient-field{animation:none;will-change:auto}}

.brand-layout .product-list{left:auto;transform:none}
.brand-layout .release-heading h2{font-size:38px;font-weight:600;line-height:1.35}
.brand-layout .release-panel .feature-copy .release-summary{font-size:17px;color:#fffffff0}
.brand-layout .release-panel .feature-copy>p:first-child{font-size:18px;color:#ffffffdf}

.release-heading h1{font-size:38px;line-height:1.35;font-weight:600;margin:0}

/* Content enters in a restrained image/copy sequence; scroll remains interruptible. */
.scene-reveal{opacity:0;transform:translate3d(var(--scene-x,0px),30px,0);filter:blur(4px);transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .9s ease}
.scene-reveal.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.brand-layout .product-frame.scene-reveal{--scene-x:-24px}
.brand-layout .service-copy.scene-reveal{--scene-x:24px;transition-delay:.12s}
.brand-layout .product-item:nth-child(even) .product-frame.scene-reveal{--scene-x:24px}
.brand-layout .product-item:nth-child(even) .service-copy.scene-reveal{--scene-x:-24px}
@media(prefers-reduced-motion:reduce){.scene-reveal{opacity:1;transform:none;filter:none;transition:none}}
@media(max-width:760px){.brand-layout .company-intro-grid,.brand-layout .release-section .news-content{padding-block:48px}.brand-layout .product-item{padding-block:48px}.scene-reveal{--scene-x:0px!important}}

.brand-layout #main{overflow-x:clip}

.brand-layout #about,.brand-layout #releases,.brand-layout .product-item{scroll-margin-block:0}

.release-list { max-width: 760px; margin: 0; padding: 0; list-style: none; }
.release-list li { padding-block: 28px; border-top: 1px solid var(--line); }
.release-list h2 { margin: 8px 0; font-size: clamp(21px, 3vw, 28px); line-height: 1.4; }
.release-list p { margin: 0 0 12px; }
.release-list-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--muted); font-size: 14px; }
.release-list a { color: var(--blue); }

[data-hero-type] { position: relative; }
[data-hero-type].typing::after {
  content: "";
  position: absolute;
  width: .045em;
  height: .85em;
  margin-left: .09em;
  bottom: .14em;
  background: currentColor;
}
[data-hero-type].typing-finished::after {
  animation: hero-caret .85s step-end 5;
}
@keyframes hero-caret { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  [data-hero-type].typing::after { display: none; }
}
