/* JOYCITY main-page composition, rebuilt with 3Vi content and local assets. */
.home-page { --jc-unit: 10px; --ink: #111; --muted: #666; --accent: #ff7a19; --line: #ddd; --bg: #fff; background: #fff; color: #111; }
.home-page h1, .home-page h2, .home-page h3 { letter-spacing: -0.015em; word-break: keep-all; overflow-wrap: anywhere; }
.home-page .jc-container, .home-page .header-bar, .home-page .site-footer > .wrap { width: min(calc(var(--jc-unit) * 100), calc(100% - 48px)); margin-inline: auto; }
.home-page :focus-visible { outline: 2px solid #ff7a19; outline-offset: 6px; }
.home-page a { text-underline-offset: 5px; }
.home-page section, .home-page article[id] { scroll-margin-top: 100px; }
.home-page .site-header { position: fixed; inset: 0 0 auto; z-index: 90; min-height: 0; height: calc(var(--jc-unit) * 6.25); border: 0; background: transparent; color: #fff; transition: background-color 240ms ease, transform 500ms ease; }
.home-page .site-header.is-scrolled { background: #161616b3; }
.home-page .site-header.is-hidden { transform: translateY(-100%); }
.home-page .header-bar { height: 100%; min-height: 0; flex-wrap: nowrap; }
.home-page .logo { position: relative; z-index: 3; color: #fff; font-size: 28px; font-weight: 850; letter-spacing: -0.06em; line-height: 1.2; }
.home-page .nav-toggle, .js .home-page .nav-toggle { position: relative; z-index: 3; display: block; width: 48px; height: 48px; min-height: 48px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; }
.home-page .nav-toggle span { position: absolute; right: 0; width: calc(var(--jc-unit) * 2.75); height: calc(var(--jc-unit) * 0.3125); background: currentColor; transition: transform 260ms ease, top 260ms ease; }
.home-page .nav-toggle span:first-child { top: 16px; }
.home-page .nav-toggle span:last-child { top: 27px; }
.home-page .nav-toggle[aria-expanded="true"] span { top: 22px; }
.home-page .nav-toggle[aria-expanded="true"] span:first-child { transform: rotate(45deg); }
.home-page .nav-toggle[aria-expanded="true"] span:last-child { transform: rotate(-45deg); }
.home-page .site-nav, .js .home-page .site-nav, .js .home-page .site-nav.is-open { position: fixed; z-index: 2; inset: 0; width:100vw; height:100vh; height:100dvh; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-content: center; align-items: start; gap: 48px; padding: 120px max(48px, calc((100vw - var(--jc-unit) * 100) / 2)); border: 0; border-radius: 0; background: #161616; box-shadow: none; overflow-y: auto; visibility: hidden; opacity: 0; transform: translateX(-100%); transition: transform 400ms ease, opacity 260ms ease, visibility 400ms; }
.home-page .site-nav.is-open, .js .home-page .site-nav.is-open { visibility: visible; opacity: 1; transform: translateX(0); }
.home-page .site-nav::before { content: "3Vi"; position: fixed; left: 50%; top: 50%; z-index: -1; transform: translate(-50%,-50%); color: #ffffff04; font-size: clamp(240px,45vw,780px); font-weight: 900; letter-spacing: -0.07em; pointer-events: none; }
.home-page .jc-menu-group { min-width: 0; }
.home-page .jc-menu-group a, .home-page .site-nav a { display: block; width: fit-content; max-width: 100%; min-height: 44px; margin: 0 0 12px; padding: 8px 0; border-radius: 0; background: transparent; color: #aaa; font-size: 15px; overflow-wrap: anywhere; }
.home-page .jc-menu-group a:first-child { margin-bottom: 32px; color: #fff; font-size: clamp(24px, 2.2vw, 40px); font-weight: 600; }
.home-page .site-nav a:hover { background: transparent; color: #ff7a19; }
.jc-menu-copyright { grid-column: 1 / -1; margin-top: 48px; color: #777; font-size: 12px; }
html.jc-menu-open { overflow: hidden; }

.jc-hero { position: relative; display: grid; place-items: center; min-height: 640px; height: 100vh; height: 100svh; overflow: hidden; background: #000; color: #fff; }
.jc-hero-canvas { position: absolute; top: 50%; left: 50%; width: max(1920px,100vw); height: auto; aspect-ratio: 16 / 9; transform: translate(-50%,-50%); }
.jc-hero-copy { position: relative; width: calc(100% - 48px); text-align: center; pointer-events: none; }
.home-page .jc-hero-message { margin: 0; color: #fff; font-size: clamp(28px,3.8vw,64px); font-weight: 800; line-height: 1.4; letter-spacing: -0.035em; text-shadow: 0 2px 16px #000; animation: jc-copy-enter 1s 650ms both; }
.jc-scroll { position: absolute; left: 50%; bottom: 28px; display: grid; justify-items: center; gap: 14px; min-width: 48px; padding: 8px; transform: translateX(-50%); color: #ddd; font-size: 10px; letter-spacing: 0.18em; text-decoration: none; }
.jc-scroll i { position: relative; display: block; width: 1px; height: 32px; overflow: hidden; background: #ffffff33; }
.jc-scroll i::after { content: ""; position: absolute; inset: 0; background: #fff; animation: jc-scroll-cue 1600ms ease infinite; }
.jc-motion-control { position: absolute; right: 24px; bottom: 24px; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff33; background: transparent; color: #aaa; font: inherit; font-size: 11px; cursor: pointer; }
.jc-hero.is-paused *, .jc-hero.is-paused *::after { animation-play-state: paused; }

.jc-section-heading .jc-eyebrow, .jc-eyebrow { color: #ff7a19; font-size: calc(var(--jc-unit) * 1.4375); font-weight: 600; letter-spacing: 0; }
.jc-section-heading h2 { margin-top: calc(var(--jc-unit) * 2.1875); color: #111; font-size: calc(var(--jc-unit) * 2.75); font-weight: 700; line-height: 1.4; }
.jc-section-description { max-width: 960px; margin-top: calc(var(--jc-unit) * 2.5); color: #555; font-size: calc(var(--jc-unit) * 1.5625); line-height: 1.75; }
.jc-services { position: relative; isolation: isolate; height: calc(var(--jc-unit) * 67.5); min-height: 720px; padding: calc(var(--jc-unit) * 5.9375) 0 0; overflow: hidden; background: #000; color: #fff; }
.jc-services .jc-eyebrow { color: #ff7a19; }
.jc-services h2 { color: #fff; }
.jc-service-background { position: absolute; z-index: -1; inset: 0; background: linear-gradient(#00000055,#00000099), url('../assets/images/awen-cloud.webp') center / cover; transition: background-image 600ms ease; }
.jc-services[data-service="consulting"] .jc-service-background { background-image: linear-gradient(#00000055,#00000099), url('../assets/images/security-consulting.webp'); }
.jc-services[data-service="agent"] .jc-service-background { background-image: linear-gradient(#00000055,#00000099), url('../assets/images/hero-network.svg'); background-color: #10222d; }
.jc-services[data-service="setep"] .jc-service-background { background-image: linear-gradient(#00000055,#00000099), url('../assets/images/awen-cloud.webp'); }
.jc-carousel { --card-width: calc(var(--jc-unit) * 29.375); position: relative; display: flex; align-items: stretch; gap: calc(var(--jc-unit) * 4.5); width: 100%; margin-top: 0; padding: 24px calc(66% - var(--card-width) / 2) 48px; padding-right: calc(34% - var(--card-width) / 2); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-left:32%; scrollbar-width: none; }
.jc-carousel::-webkit-scrollbar { display: none; }
.jc-service-card { display: flex; flex: 0 0 var(--card-width); flex-direction: column; justify-content: flex-end; min-width: 0; height: calc(var(--jc-unit) * 46.6875); overflow: visible; border: 0; background: transparent; color: #111; opacity: 0.7; transform: scale(0.85); transform-origin: center bottom; scroll-snap-align: center; transition: opacity 400ms ease, transform 400ms ease; }
.home-page .jc-service-card.is-current { opacity: 1; transform: translateY(calc(var(--jc-unit) * -3.125)) scale(1.1); }
.jc-service-card:focus-within { opacity: 1; }
.jc-card-visual { position: relative; z-index: 1; flex: 0 0 49%; width: 100%; min-height: 0; margin: 0 auto -24px; border: 5px solid #222a31; border-radius: 12px; background: #101820; overflow: hidden; box-shadow: 0 16px 25px #00000044; }
.jc-card-visual img { display: block; width: 100%; height: 100%; padding: 0; object-fit: contain; }
.jc-consulting .jc-card-visual img { object-fit: cover; }
.jc-setep .jc-card-visual { background: #fff; }
.home-page #cloud { --ink: #111; --muted: #666; --line: #ddd; background: transparent; color: #111; }
.jc-card-copy { display: flex; flex-direction: column; align-items: center; min-height: 0; padding: 38px 20px 20px; border-radius: 30px; background: #fff; text-align: center; }
.jc-card-category { color: #777; font-size: 10px; line-height: 1.5; }
.jc-card-copy h3 { margin-top: 8px; font-size: 32px; font-weight: 750; line-height: 1.2; }
.jc-card-copy > p:not(.jc-card-category) { margin-top: 10px; color: #666; font-size: 12px; line-height: 1.7; }
.jc-card-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; margin-top: 16px; padding: 8px 24px; border-radius: 999px; background: #ff7a19; color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
.jc-card-link:hover { background: #db5900; color: #fff; }
.jc-service-card:not(.is-current):not(:focus-within) .jc-card-link { visibility: hidden; }
.jc-carousel-controls { position: absolute; bottom: 30px; left: 50%; display: flex; align-items: center; justify-content: center; gap: 18px; transform: translateX(-50%); }
.jc-carousel-arrow { min-width: 44px; min-height: 44px; border: 1px solid #ffffff55; border-radius: 50%; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.jc-carousel-dots { display: flex; }
.jc-carousel-dots button { position: relative; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.jc-carousel-dots button::after { content: ""; position: absolute; top: 18px; left: 18px; width: 8px; height: 8px; border-radius: 50%; background: #ffffff66; }
.jc-carousel-dots button[aria-current="true"]::after { left: 10px; width: 24px; border-radius: 6px; background: #ff7a19; }
.jc-service-note { position: absolute; bottom: 4px; left: 50%; transform: translateX(-50%); color: #ccc; font-size: 10px; line-height: 1.5; text-align: center; }

.jc-news { padding: calc(var(--jc-unit) * 7.5) 0 0; background: #fff; }
.jc-news-grid { display: grid; grid-template-columns: repeat(3, 29.6875%); gap: calc(var(--jc-unit) * 4.6875); margin-top: calc(var(--jc-unit) * 4.375); }
.jc-news-card a { display: block; height: 100%; color: inherit; text-decoration: none; }
.jc-news-image { position: relative; display: grid; place-content: center; width: 100%; aspect-ratio: 1.203 / 1; margin-bottom: 20px; overflow: hidden; background: #f1f1f1; }
.jc-news-image img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 300ms ease; }
.jc-news-card:first-child img { object-fit: cover; }
.jc-news-image:has(img) { display: block; }
.jc-news-card a:hover img { transform: scale(1.06); }
.jc-news-card h3 { margin-bottom: 14px; font-size: calc(var(--jc-unit) * 1.5625); font-weight: 700; line-height: 1.6; }
.jc-news-card p { color: #666; font-size: 14px; line-height: 1.7; }
.jc-news-card a > p { display: none; }
.jc-news-card time { display: block; margin-top: 20px; color: #888; font-size: 12px; }
.jc-patent-image { background: #161616; text-align: center; }
.jc-patent-image > span { color: #ff7a19; font-size: 80px; font-weight: 850; letter-spacing: -0.07em; }
.jc-patent-image > p { color: #ccc; font-size: 13px; }
.jc-history { margin-top: 56px; }
.jc-view-more { display: flex; justify-content: center; align-items: center; gap: 28px; width: fit-content; min-height: 44px; margin: 0 auto; padding: 12px 0; color: #111; font-size: 14px; font-weight: 600; list-style: none; cursor: pointer; }
.jc-view-more::-webkit-details-marker { display: none; }
.jc-view-more span { font-size: 32px; font-weight: 400; }
.jc-history-list { margin-top: 40px; border-top: 1px solid #ddd; }
.jc-history-list article { display: grid; grid-template-columns: 110px 1fr 1.3fr; gap: 20px 32px; padding: 26px 0; border-bottom: 1px solid #ddd; }
.jc-history-list article > * { min-width: 0; margin: 0; }
.jc-history-list .oc-label { color: #888; font-size: 12px; }
.jc-history-list h3 { font-size: 18px; font-weight: 600; }
.jc-history-list p:not(.oc-label) { color: #666; font-size: 14px; line-height: 1.8; }
.jc-history-list a { grid-column: 2 / -1; color: #a84100; font-size: 13px; }

.jc-approach { padding: calc(var(--jc-unit) * 7.5) 0 calc(var(--jc-unit) * 6.25); background: #fff; }
.jc-values { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: calc(var(--jc-unit) * 10); }
.jc-value { min-width: 0; padding: 0 32px; border-right: 1px solid #bcbcbc; text-align: center; }
.jc-value:first-child { padding-left: 0; }
.jc-value:last-child { padding-right: 0; border: 0; }
.jc-value svg { display: block; width: min(180px, 75%); height: 160px; margin: 0 auto 32px; fill: none; stroke: #222; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.jc-value svg .jc-icon-accent { stroke: #ff7a19; }
.jc-value h3 { font-size: clamp(20px, 1.8vw, 30px); font-weight: 700; line-height: 1.6; }
.jc-value h3 span { color: #777; }
.jc-value > p { margin-top: 20px; color: #555; font-size: 15px; line-height: 1.9; }
.jc-value > .jc-value-result { color: #222; font-size: 12px; }
.jc-value > a { display: inline-block; min-height: 44px; margin-top: 24px; padding: 10px 0; color: #a84100; font-size: 14px; }
.jc-company { display: grid; grid-template-columns: 0.85fr 1.3fr; gap: 64px; margin-top: 100px; padding-top: 64px; border-top: 1px solid #ddd; }
.jc-company-profile h2 { margin-top: 12px; font-size: 24px; font-weight: 700; }
.jc-company-profile > p:not(.jc-eyebrow):not(.jc-credentials) { margin-top: 16px; color: #666; font-size: 15px; }
.jc-company .jc-eyebrow { color: #777; font-size: 13px; }
.jc-experience { margin-top: 24px; }
.jc-experience > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid #ddd; }
.jc-experience dt { color: #666; font-size: 14px; }
.jc-experience dd { flex-shrink: 0; font-size: 20px; font-weight: 600; }
.jc-credentials { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 20px; color: #666; font-size: 12px; }
.jc-logos { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 20px; }
.jc-logos > span { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 80px; padding: 16px; border: 1px solid #ddd; background: #fff; }
.jc-logos .on-dark { background: #161616; border-color: #161616; }
.jc-logos img { display: block; width: auto; max-width: 100%; height: auto; max-height: 36px; object-fit: contain; }
.jc-research { padding-top: 100px; }
.jc-research-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 48px; }
.jc-research-grid article { min-width: 0; padding-top: 24px; border-top: 1px solid #bbb; }
.jc-status { color: #a84100; font-size: 12px; }
.jc-research-grid h3 { margin-top: 16px; font-size: 28px; font-weight: 700; }
.jc-research-grid article > p:not(.jc-status) { max-width: 500px; margin-top: 16px; color: #666; font-size: 16px; line-height: 1.8; }
.jc-research-grid a { display: inline-block; min-height: 44px; margin-top: 16px; padding: 10px 0; color: #a84100; font-size: 14px; }
.jc-contact { margin-top: 100px; padding-top: 48px; border-top: 1px solid #ddd; }
.jc-contact h2 { margin-top: 20px; font-size: 36px; font-weight: 700; }
.jc-contact dl { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 32px; }
.jc-contact dt { color: #777; font-size: 13px; }
.jc-contact dd { margin-top: 12px; color: #111; font-size: clamp(20px, 2vw, 30px); font-weight: 600; }
.jc-contact a { text-decoration: none; }
.jc-contact a:hover { text-decoration: underline; }
.home-page .site-footer { --ink: #fff; --muted: #aaa; --line: #ffffff20; background: #161616; color: #aaa; }
.home-page .footer-grid { grid-template-columns: 1.35fr 1fr; gap: 64px; font-size: 12px; }
.home-page .footer-name { color: #fff; font-size: 24px; font-weight: 700; }
.home-page .footer-contact a { color: #ccc; }
.home-page .footer-copy { color: #888; }
.home-page .site-header :focus-visible, .home-page .site-footer :focus-visible { outline-color: #ff7a19; }
.jc-motion-ready .jc-reveal { opacity: 0; transform: translateY(55px); transition: opacity 700ms ease, transform 900ms cubic-bezier(0.16,1,0.3,1); }
.jc-motion-ready .jc-reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes jc-copy-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes jc-scroll-cue { from { transform: translateY(-100%); } to { transform: translateY(100%); } }
@media (min-width:1280px) { .home-page { --jc-unit:12px; } }
@media (min-width:1600px) { .home-page { --jc-unit:14px; } }
@media (min-width:1920px) { .home-page { --jc-unit:16px; } }
@media (max-width:1025px) {
  .home-page { --jc-unit:16px; }
  .home-page .jc-container, .home-page .header-bar, .home-page .site-footer > .wrap { width:81.25%; }
  .home-page .site-header { height:88px; }
  .home-page .site-nav, .js .home-page .site-nav, .js .home-page .site-nav.is-open { grid-template-columns:1fr 1fr; align-content:start; gap:32px; padding:120px 9.375% 48px; }
  .home-page .jc-menu-group a:first-child { margin-bottom:16px; font-size:28px; }
  .jc-menu-copyright { margin-top:16px; }
  .jc-section-heading { text-align:center; }
  .jc-section-heading h2 { font-size:35px; }
  .jc-section-description { font-size:18px; }
  .jc-services { padding-top:60px; }
  .jc-carousel { --card-width:min(76vw,440px); }
  .jc-service-card { height:560px; }
  .jc-news, .jc-approach { padding-top:65px; }
  .jc-news-grid { gap:24px; }
  .jc-news-card h3 { font-size:20px; }
  .jc-values { grid-template-columns:1fr; gap:48px; margin-top:72px; }
  .jc-value, .jc-value:first-child, .jc-value:last-child { max-width:600px; margin-inline:auto; padding:0 0 48px; border:0; border-bottom:1px solid #ccc; }
  .jc-value:last-child { border:0; padding-bottom:0; }
  .jc-company { grid-template-columns:1fr; gap:40px; }
  .jc-research-grid { gap:32px; }
  .jc-history-list article { grid-template-columns:110px 1fr; }
  .jc-history-list article > p:not(.oc-label), .jc-history-list a { grid-column:2; }
}
@media (max-width:640px) {
  .jc-hero { min-height:600px; }
  .jc-hero-message { margin-top:32px; font-size:24px; }
  .jc-motion-control { right:12px; bottom:20px; font-size:10px; }
  .jc-scroll { bottom:20px; }
  .jc-section-heading .jc-eyebrow { font-size:20px; }
  .jc-section-heading h2 { margin-top:24px; font-size:28px; }
  .jc-section-description br { display:none; }
  .jc-card-copy { padding:20px; }
  .jc-news-grid { grid-template-columns:1fr; gap:40px; margin-top:40px; }
  .jc-news-card h3 { font-size:22px; }
  .jc-news-card time { margin-top:12px; }
  .jc-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jc-research-grid, .jc-contact dl, .home-page .footer-grid { grid-template-columns:1fr; }
  .jc-company, .jc-contact { margin-top:64px; }
  .jc-research { padding-top:64px; }
  .jc-history-list article { grid-template-columns:1fr; gap:12px; }
  .jc-history-list article > p:not(.oc-label), .jc-history-list a { grid-column:auto; }
  .home-page .site-nav, .js .home-page .site-nav, .js .home-page .site-nav.is-open { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::after { animation:none !important; transition:none !important; }
  .jc-motion-ready .jc-reveal { opacity:1; transform:none; }
  .jc-service-card, .home-page .jc-service-card.is-current { transform:none; }
  .jc-motion-control { display:none; }
}

/* Values measured from the live desktop and mobile reference. */
.jc-news .jc-section-heading h2 { margin-top:20px; }
.jc-news-grid { margin-top:56px; }
.jc-news-image { aspect-ratio:1.203 / 1; }
.jc-value h3 { color:#ff7a19; font-size:calc(var(--jc-unit) * 1.5625); text-transform:uppercase; }
.jc-value h3 span { color:#111; }
@media (max-width:1025px) {
  .home-page .site-header { height:calc(var(--jc-unit) * 6.25); }
  .jc-hero-canvas { width:195vw; }
  .jc-services { height:calc(var(--jc-unit) * 67.5); min-height:0; padding-top:calc(var(--jc-unit) * 3.75); }
  .jc-services .jc-eyebrow { color:#fff; font-size:calc(var(--jc-unit) * 2.625); font-weight:800; }
  .jc-services .jc-section-heading h2 { margin-top:15px; font-size:calc(var(--jc-unit) * 1.375); font-weight:400; }
  .jc-carousel { --card-width:calc(var(--jc-unit) * 29.375); gap:calc(var(--jc-unit) * 2); padding:24px calc((100% - var(--card-width)) / 2) 48px; }
  .jc-service-card { height:calc(var(--jc-unit) * 43); }
  .home-page .jc-service-card.is-current { transform:translateY(-24px) scale(0.9); }
  .jc-news, .jc-approach { padding-top:calc(var(--jc-unit) * 4.0625); }
  .jc-news .jc-section-heading h2 { font-size:calc(var(--jc-unit) * 2.1875); }
  .jc-news-grid { grid-template-columns:1fr; margin-top:calc(var(--jc-unit) * 4.375); gap:calc(var(--jc-unit) * 7.5); }
  .jc-news-card h3 { font-size:calc(var(--jc-unit) * 1.875); }
  .jc-approach .jc-section-heading h2 { font-size:calc(var(--jc-unit) * 2.1875); }
}
@media (max-width:639px) { .home-page { --jc-unit:14px; } }
@media (max-width:439px) { .home-page { --jc-unit:12px; } }
@media (max-width:640px) {
  .home-page .jc-hero-message { font-size:clamp(16px,4.8vw,30px); white-space:nowrap; }
  .jc-hero-copy { width:calc(100% - 24px); }
  .jc-card-copy { padding:36px 16px 16px; }
  .jc-card-copy h3 { font-size:30px; }
  .jc-card-copy > p:not(.jc-card-category) { font-size:11px; }
  .jc-card-link { margin-top:12px; min-height:38px; font-size:13px; }
  .jc-carousel-arrow { display:none; }
  .jc-service-note { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page .jc-service-card.is-current { transform:none; }
}
.jc-services .jc-section-heading .jc-eyebrow { line-height:1.2; }
.jc-services .jc-section-heading h2 { margin-top:calc(var(--jc-unit) * 2.5); line-height:1.5; }
.jc-carousel { padding-top:calc(var(--jc-unit) * 1.25); }
.jc-card-visual { flex:1 1 auto; }
.jc-card-copy { flex:0 0 auto; width:80.56%; height:calc(var(--jc-unit) * 16.875); margin-inline:auto; padding:28px 12px 14px; }
.jc-card-category { font-size:11px; }
.jc-card-copy > p:not(.jc-card-category) { display:none; }
.jc-card-link { width:84%; min-height:calc(var(--jc-unit) * 3.125); margin-top:12px; padding:8px 0; font-size:calc(var(--jc-unit) * 1.5625); }
.jc-carousel-arrow { display:none; }
.jc-carousel-dots button::after { top:16px; left:16px; width:12px; height:12px; }
.jc-carousel-dots button[aria-current="true"]::after { left:8px; width:28px; }
.jc-carousel-controls { bottom:24px; }
@media (max-width:1025px) {
  .jc-services .jc-section-heading h2 { margin-top:calc(var(--jc-unit) * 1.25); }
  .jc-service-card { height:calc(var(--jc-unit) * 46.6875); }
  .home-page .jc-service-card.is-current { transform:translateY(calc(var(--jc-unit) * -3.125)) scale(0.9); }
  .jc-carousel-controls { bottom:40px; }
}
@media (prefers-reduced-motion:reduce) { .home-page .jc-service-card.is-current { transform:none; } }

.home-page { font-family:"Noto Sans KR","Malgun Gothic",sans-serif; }
.jc-eyebrow, .jc-value h3 { font-family:"Montserrat","Noto Sans KR",sans-serif; }

@media (max-width:1025px) { .jc-carousel { scroll-padding-left:0; } }
