/* A distinct, light presentation for Hana within the existing portfolio. */
.hana-feature { display: grid; grid-template-columns: .9fr 1.1fr; position: relative; overflow: hidden; min-height: 470px; margin-bottom: 2rem; border: 1px solid #78aaa0; border-radius: 12px; background: #dcecdf; color: #153f3e; text-decoration: none; }
.hana-feature-copy { align-self: center; padding: clamp(1.7rem, 4vw, 4rem); position: relative; z-index: 1; }
.hana-feature-kicker { display: block; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #33675e; margin-bottom: 1.4rem; }
.hana-feature h3 { font: 600 clamp(2.5rem, 4.6vw, 5rem)/1 'Space Grotesk', Arial, sans-serif; letter-spacing: -.06em; margin: 0 0 1.1rem; }
.hana-feature-copy > p { font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.35; max-width: 21rem; margin-bottom: 1.5rem; }
.hana-feature-scope { display: block; font-size: .9rem; line-height: 1.6; color: #39675c; }
.hana-feature-link { display: inline-flex; gap: 1.5rem; margin-top: 2rem; color: #075a49; }
.hana-feature-screens { position: relative; min-width: 0; background: radial-gradient(ellipse at 60% 65%, #b4d9c3, transparent 70%); }
.hana-feature-screens img { position: absolute; width: 41%; height: auto; border: 5px solid #f7faf3; border-radius: 18px; box-shadow: 0 20px 40px #123d3b30; }
.hana-feature-worker { left: 8%; top: 12%; transform: rotate(-6deg); }
.hana-feature-timer { right: 7%; top: 22%; transform: rotate(7deg); }
.hana-feature:focus-visible { outline: 3px solid #26ae89; outline-offset: 5px; }
.hana-feature:hover .hana-feature-link { text-decoration: underline; text-underline-offset: .3em; }

.hana-case { --hana-ink: #153f3e; --hana-muted: #536a63; --hana-accent: #087b5c; --hana-rule: #cbd8cc; margin: 0; color: var(--hana-ink); background: #f6f7ef; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.hana-case *, .hana-case *::before, .hana-case *::after { box-sizing: border-box; }
.hana-case h1, .hana-case h2, .hana-case h3, .hana-case p, .hana-case figure, .hana-case dl, .hana-case dd { margin: 0; }
.hana-case a { color: inherit; }
.hana-case img { display: block; max-width: 100%; }
.hana-case [hidden] { display: none !important; }
.hana-case :focus-visible { outline: 3px solid #008f6d; outline-offset: 5px; }
.hana-shell { width: min(1320px, calc(100% - 112px)); margin-inline: auto; }
.hana-skip { position: absolute; top: -5rem; left: 1rem; z-index: 10; padding: 1rem; background: #fff; }
.hana-skip:focus { top: 1rem; }
.hana-nav { display: flex; align-items: center; justify-content: space-between; min-height: 112px; }
.hana-nav img { width: 56px; height: 56px; object-fit: contain; }
.hana-nav > a:last-child { text-decoration: none; font-size: .9rem; padding: .8rem 0 .8rem 1rem; }
.hana-eyebrow { margin-bottom: 1.4rem !important; color: var(--hana-accent); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
.hana-intro { padding-top: clamp(2rem, 6vw, 5.5rem); }
.hana-intro-top { display: flex; justify-content: space-between; gap: 1rem; }
.hana-intro-top > span { color: var(--hana-muted); font-size: .85rem; }
.hana-case h1 { font-size: clamp(3.1rem, 7.8vw, 7.5rem); line-height: 1.04; letter-spacing: -.065em; font-weight: 500; }
.hana-case h1 em { font-style: normal; color: #168162; }
.hana-intro-bottom { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin: 2.5rem 0 3.5rem; }
.hana-intro-bottom > p { max-width: 610px; color: var(--hana-muted); font-size: 1.2rem; }
.hana-intro-bottom > a { display: inline-flex; gap: 1.5rem; white-space: nowrap; text-underline-offset: .4em; }
.hana-hero-stage { background: #124f52; border-radius: 20px; overflow: hidden; padding: 2.5rem 5% 0; }
.hana-hero-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; color: #edf6e9; padding-bottom: 2rem; }
.hana-hero-caption strong { font-size: 2rem; font-weight: 600; letter-spacing: -.055em; }
.hana-hero-caption span { font-size: .875rem; color: #bcd9d0; }
.hana-hero-screens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 3%; max-width: 1040px; margin: 0 auto -11%; padding-top: 1rem; }
.hana-hero-screen { overflow: hidden; border: 6px solid #e5eee5; border-radius: 24px; box-shadow: 0 18px 45px #062c3255; }
.hana-hero-screen img { width: 100%; height: auto; }
.hana-hero-role { transform: translateY(10%) rotate(-6deg); }
.hana-hero-worker { position: relative; z-index: 1; }
.hana-hero-timer { transform: translateY(10%) rotate(6deg); }
.hana-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; padding: 2.5rem 0 3rem; }
.hana-facts dt { color: var(--hana-muted); font-size: .85rem; margin-bottom: .6rem; }
.hana-facts dd { font-size: 1rem; line-height: 1.5; }
.hana-case h2 { font-weight: 500; font-size: clamp(2rem, 3.5vw, 3.4rem); line-height: 1.15; letter-spacing: -.05em; text-wrap: balance; }
.hana-case h3 { font-weight: 500; font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.3; letter-spacing: -.03em; }
.hana-story { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); padding-block: clamp(4rem, 8vw, 7rem); }
.hana-overview { background: #e5ede1; }
.hana-prose p + p { margin-top: 1.4rem; }
.hana-prose p, .hana-section-heading > p, .hana-section-copy > p { color: var(--hana-muted); }
.hana-case .hana-lead { font-size: clamp(1.15rem, 1.6vw, 1.4rem); line-height: 1.6; color: var(--hana-ink); }
.hana-capabilities { padding-block: clamp(4rem, 7vw, 7rem); background: #d1e3d4; }
.hana-section-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 3rem; }
.hana-capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
.hana-capability-grid article { padding: 2rem 0; border-top: 1px solid #9cb6a5; }
.hana-capability-grid h3 { margin-bottom: 1rem; }
.hana-capability-grid p { color: #425e51; max-width: 34rem; }
.hana-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 1.5rem 0 0; margin: 1rem 0 0; border-top: 1px solid #9cb6a5; gap: 1.5rem; }
.hana-flow li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .95rem; }
.hana-flow li:not(:last-child)::after { content: '→'; color: #537b67; }
.hana-tracking { padding-block: clamp(4rem, 8vw, 7rem); background: #f3eee4; }
.hana-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.hana-section-copy > p:not(.hana-eyebrow) { margin-top: 1.6rem; }
.hana-detail { padding-top: 1.5rem; margin-top: 1.5rem; border-top: 1px solid var(--hana-rule); }
.hana-detail h3 { font-size: 1.2rem; margin-bottom: .7rem; }
.hana-detail p { color: var(--hana-muted); }
.hana-gallery { min-width: 0; }
.hana-tabs { display: flex; flex-wrap: wrap; gap: .3rem; padding: .3rem; border: 1px solid #bacabd; border-radius: 14px; margin: 0 auto 1.5rem; width: fit-content; max-width: 100%; background: #ffffff80; }
.hana-tabs button { appearance: none; cursor: pointer; border: 0; background: transparent; color: #465e52; font: inherit; font-size: .875rem; padding: .6rem .9rem; min-height: 44px; border-radius: 10px; }
.hana-tabs button[aria-selected="true"] { color: #fff; background: #14564e; }
.hana-screen { display: block; max-width: 360px; margin-inline: auto; overflow: hidden; border: 6px solid #fff; border-radius: 20px; background: #fff; box-shadow: 0 18px 40px #153f3e1c; }
.hana-screen img { width: 100%; height: auto; }
.hana-case figcaption { text-align: center; font-size: .8rem; color: var(--hana-muted); line-height: 1.5; margin: 1.2rem auto 0; max-width: 360px; }
.hana-management { background: #184c48; --hana-ink: #edf5e9; --hana-muted: #bfd1c5; --hana-accent: #8ce0b2; --hana-rule: #477268; color: var(--hana-ink); padding-block: clamp(4rem, 8vw, 7rem); }
.hana-management-layout { display: grid; grid-template-columns: 1fr .85fr .85fr; align-items: center; gap: 2rem; }
.hana-management-copy { padding-right: 1rem; }
.hana-management-copy .hana-detail:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.hana-reporting { background: #e1ecea; padding-block: clamp(4rem, 8vw, 7rem); }
.hana-case .hana-caption-note { font-size: .85rem; line-height: 1.6; color: var(--hana-muted); }
.hana-delivery { background: #f0f2e4; }
.hana-stack { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.8rem 0; }
.hana-stack span { padding: .45rem .9rem; font-size: .875rem; border: 1px solid #b4c5b3; border-radius: 100px; }
.hana-end { display: flex; justify-content: space-between; gap: 2rem; padding-block: 3rem; }
.hana-end a { text-decoration: none; font-size: 1.15rem; }
.hana-end a:first-child { font-size: clamp(1.4rem, 2.5vw, 2.1rem); letter-spacing: -.035em; }
.hana-end a:hover { text-decoration: underline; text-underline-offset: .25em; }
.hana-footer { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--hana-rule); color: var(--hana-muted); padding-block: 2rem; font-size: .85rem; }
@media (max-width: 1000px) {
  .hana-shell { width: calc(100% - 64px); }
  .hana-intro-bottom { flex-direction: column; align-items: start; gap: 1.5rem; }
  .hana-facts { grid-template-columns: 1fr 1fr; }
  .hana-story, .hana-split, .hana-section-heading { gap: 2.5rem; }
  .hana-management-layout { grid-template-columns: 1fr 1fr; }
  .hana-management-copy { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; padding: 0; }
  .hana-management-copy .hana-detail { margin: 0; padding: 0; border: 0; }
  .hana-feature { min-height: 400px; }
  .hana-feature-screens img { width: 49%; }
  .hana-feature-worker { left: 0; }
  .hana-feature-timer { right: 0; }
}
@media (max-width: 680px) {
  .hana-shell { width: calc(100% - 40px); }
  .hana-nav { min-height: 90px; }
  .hana-intro-top { flex-direction: column; gap: 0; margin-bottom: 1.8rem; }
  .hana-intro-top .hana-eyebrow { margin-bottom: .5rem !important; }
  .hana-case h1 { font-size: clamp(2.8rem, 10.4vw, 4.4rem); }
  .hana-intro-bottom { margin: 1.8rem 0 2rem; }
  .hana-intro-bottom > p { font-size: 1.05rem; }
  .hana-hero-stage { padding: 1.2rem 5% 0; border-radius: 12px; }
  .hana-hero-caption { padding-bottom: 1rem; align-items: start; flex-direction: column; gap: 0; }
  .hana-hero-caption strong { font-size: 1.6rem; }
  .hana-hero-caption span { font-size: .75rem; }
  .hana-hero-screens { grid-template-columns: 1fr 1fr; gap: 7%; margin-bottom: -15%; }
  .hana-hero-role { display: none; }
  .hana-hero-screen { border-width: 3px; border-radius: 12px; }
  .hana-hero-worker { transform: rotate(-5deg); }
  .hana-facts { gap: 1.5rem 1rem; padding-block: 2rem; }
  .hana-story, .hana-section-heading, .hana-split, .hana-capability-grid, .hana-management-copy { grid-template-columns: 1fr; gap: 2rem; }
  .hana-capability-grid { gap: 0; }
  .hana-story { padding-block: 4rem; }
  .hana-flow { grid-template-columns: 1fr; gap: .75rem; }
  .hana-flow li { justify-content: start; }
  .hana-flow li:not(:last-child)::after { content: '↓'; }
  .hana-management-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .hana-management-layout .hana-screen { border-width: 3px; border-radius: 12px; }
  .hana-management-layout figcaption { font-size: .75rem; }
  .hana-reporting .hana-section-copy { grid-row: 1; }
  .hana-screen { max-width: 340px; }
  .hana-end { flex-direction: column; gap: 1rem; }
  .hana-feature { grid-template-columns: 1fr; }
  .hana-feature-copy { padding: 1.7rem; }
  .hana-feature-screens { min-height: 320px; }
  .hana-feature-screens img { width: 38%; }
  .hana-feature-worker { left: 10%; top: 5%; }
  .hana-feature-timer { right: 10%; top: 14%; }
}

.hana-project-scope { margin: 1.5rem 0 0; color: var(--hana-muted); font-size: .95rem; }
