:root {
  --ink: #111922;
  --text: #4c5562;
  --line: #e4e9ee;
  --pink: #d81784;
  --blue: #075dc7;
  --green: #57a900;
  --purple: #a836c9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Arial, sans-serif; letter-spacing: .02em; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.page-width { width: min(1260px, calc(100% - 72px)); margin-inline: auto; }

.site-header { height: 82px; border-bottom: 1px solid #f0f2f4; background: rgba(255,255,255,.98); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); }
.header-inner { width: min(1260px, calc(100% - 72px)); height: 100%; margin-inline: auto; display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: center; gap: 36px; }
.header-brand { display: inline-flex; align-items: center; justify-self: start; }
.brand { display: inline-flex; align-items: center; flex: none; }
.brand-official { width: 172px; height: auto; object-fit: contain; }
.main-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(14px, 1.55vw, 25px); }
.main-nav a { font-size: 12px; font-weight: 700; white-space: nowrap; }
.main-nav a:hover { color: var(--blue); }
.arrow { width: 22px; height: 22px; border-radius: 50%; display: inline-grid; place-items: center; background: #fff; color: currentColor; font-size: 12px; line-height: 1; flex: none; }
.blue-button .arrow { color: var(--blue); }
.green-button .arrow { color: var(--green); }
.mobile-menu { display: none; }

.hero { min-height: 520px; padding-top: 54px; padding-bottom: 24px; display: grid; grid-template-columns: .96fr 1.04fr; gap: 44px; align-items: center; position: relative; isolation: isolate; overflow: hidden; border-radius: 0 0 34px 34px; background: linear-gradient(125deg, #fff7fc 0%, #fff 34%, #f6f1ff 64%, #edf8ff 82%, #f1faec 100%); background-size: 180% 180%; animation: heroGradient 14s ease-in-out infinite; }
.hero::before { content: ""; position: absolute; z-index: -1; width: 320px; height: 320px; left: -150px; top: -125px; border-radius: 50%; background: radial-gradient(circle, rgba(237,39,144,.22), rgba(237,39,144,0) 68%); animation: orbDrift 9s ease-in-out infinite; }
.hero::after { content: ""; position: absolute; z-index: -1; width: 380px; height: 380px; right: -170px; bottom: -190px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, rgba(0,174,226,.22), rgba(97,178,36,.13) 46%, transparent 70%); animation: orbDrift 11s ease-in-out infinite reverse; }
.hero-copy { padding-left: 32px; position: relative; z-index: 2; }
.hero-copy::before { content: ""; position: absolute; z-index: -1; left: 0; top: -20px; width: 92%; height: calc(100% + 40px); border-radius: 38px 80px 48px 70px; background: rgba(255,255,255,.7); box-shadow: 0 20px 60px rgba(91,72,138,.06); backdrop-filter: blur(2px); }
.hero-copy h1 { font-size: clamp(42px, 4vw, 58px); line-height: 1.42; letter-spacing: .04em; margin: 0 0 26px; font-weight: 800; }
.hero-copy h1 em { font-style: normal; color: var(--pink); }
.hero-copy h1 span { color: var(--blue); }
.hero-copy p { margin: 0 0 18px; font-size: 14px; line-height: 1.95; color: #353d48; font-weight: 600; }
.hero-collage { height: 470px; position: relative; z-index: 2; }
.soft-shape { position: absolute; border-radius: 46% 54% 58% 42% / 55% 47% 53% 45%; background: linear-gradient(135deg, rgba(244,226,250,.8), rgba(233,241,255,.75)); }
.shape-one { width: 420px; height: 390px; left: -28px; top: 20px; background: linear-gradient(145deg, rgba(250,196,228,.72), rgba(222,221,255,.76) 52%, rgba(203,239,248,.72)); animation: blobFloat 8s ease-in-out infinite; }
.dot-pattern { position: absolute; width: 92px; height: 88px; left: -62px; top: 90px; background-image: radial-gradient(#b79de6 1.6px, transparent 1.6px); background-size: 12px 12px; opacity: .78; animation: dotsFloat 7s ease-in-out infinite; }
.hero-collage figure { margin: 0; position: absolute; overflow: hidden; background: #f3f6f8; }
.hero-collage img { width: 100%; height: 100%; object-fit: cover; }
.hero-main-photo { width: 58%; height: 420px; left: 2%; top: 12px; border-radius: 45% 16% 35% 17% / 32% 21% 38% 26%; z-index: 2; box-shadow: 0 24px 58px rgba(58,74,102,.16); animation: photoFloat 7s ease-in-out infinite; }
.hero-main-photo img { object-position: 60% center; }
.hero-sub-photo { width: 34%; right: 3%; z-index: 3; }
.hero-sub-top { height: 186px; top: 24px; border-radius: 18% 36% 28% 22% / 20% 32% 26% 25%; box-shadow: 0 18px 38px rgba(62,80,110,.12); animation: photoFloat 8.5s ease-in-out infinite reverse; }
.hero-sub-top img { object-position: 38% center; transform: scale(1.15); }
.hero-sub-bottom { height: 190px; bottom: 34px; border-radius: 33% 22% 34% 18% / 32% 22% 31% 26%; box-shadow: 0 18px 38px rgba(62,80,110,.12); animation: photoFloat 9s ease-in-out infinite; }
.hero-sub-bottom img { object-position: center; }
.hero-vertical { position: absolute; right: -4px; top: 170px; writing-mode: vertical-rl; color: #d6dce2; font: 700 11px Arial; letter-spacing: .16em; }

.choice { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; padding-top: 16px; }
.choice-card { min-height: 315px; border-radius: 18px; padding: 30px 46px 28px; position: relative; overflow: visible; display: flex; flex-direction: column; justify-content: space-between; }
.choice-person { background: linear-gradient(135deg, #fbfcf7, #f3f7ee); }
.choice-company { background: linear-gradient(135deg, #fbfcff, #f0f5ff); }
.choice-copy { text-align: center; position: relative; z-index: 2; }
.choice-copy p { margin: 0 0 9px; font-size: 14px; font-weight: 800; }
.choice-copy h2 { margin: 0 0 8px; font-size: 30px; color: var(--blue); }
.choice-person .choice-copy h2 { color: var(--green); font-size: 26px; }
.choice-company .choice-copy h2 { font-size: 27px; }
.choice-copy h2 span { letter-spacing: .04em; }
.choice-copy small { font-size: 12px; }
.round-photos { display: flex; justify-content: center; gap: 10px; margin: 16px 0; }
.round-photos img { width: 62px; height: 62px; object-fit: cover; border-radius: 50%; border: 4px solid rgba(255,255,255,.9); }
.round-photos img:nth-child(1) { object-position: 60% center; }
.long-button { min-height: 51px; width: 100%; max-width: 440px; margin: auto auto 0; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 50px; color: #fff; font-size: 14px; font-weight: 800; position: relative; z-index: 3; }
.green-button { background: linear-gradient(135deg, #69b813, #4a9700); }
.blue-button { background: linear-gradient(135deg, #0b6bd4, #004dad); }
.company-action-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; position: relative; z-index: 3; }
.company-action-row .long-button { min-height: 51px; width: 100%; max-width: none; margin: 0; padding: 0 11px; gap: 0; font-size: 12px; text-align: center; line-height: 1.4; }
.white-blue-button { color: var(--blue); background: rgba(255,255,255,.94); border: 1px solid #78a8e4; }
.choice-illustration { position: absolute; z-index: 4; object-fit: contain; pointer-events: none; }
.person-illustration { width: 118px; height: 178px; left: -47px; bottom: -6px; }
.city-illustration { width: 145px; height: 138px; right: -52px; bottom: -4px; }

.fields { padding-top: 26px; text-align: center; }
.compact-heading h2 { font-size: 24px; margin: 0 0 6px; }
.compact-heading p { margin: 0; font-size: 12px; font-weight: 700; }
.field-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 18px; text-align: left; }
.field-card { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; }
.field-card > img { width: 100%; height: 132px; object-fit: cover; }
.field-card:first-child > img { object-position: 55% center; }
.field-card:last-child > img { object-position: 37% center; transform: scaleX(-1); }
.field-card > div { padding: 18px 16px 19px; }
.field-card h3 { margin: 0 0 10px; font-size: 15px; }
.field-card h3 span { margin-right: 8px; }
.field-card p { margin: 0; font-size: 12px; line-height: 1.75; color: #3c4650; font-weight: 600; }
.field-card.purple h3 { color: var(--purple); }
.field-card.pink h3 { color: var(--pink); }
.field-card.green h3 { color: var(--green); }
.field-card.blue h3 { color: var(--blue); }
.outline-pill { margin: 16px auto 0; min-height: 40px; padding: 0 22px; border: 1px solid #91c84c; color: #5b9f0b; border-radius: 999px; display: inline-flex; align-items: center; gap: 20px; font-size: 11px; font-weight: 800; }
.outline-pill .arrow { background: #ebf6de; width: 18px; height: 18px; }

.flow-panel { min-height: 245px; margin-top: 24px; padding: 26px 22px; border-radius: 13px; background: linear-gradient(135deg, #f5f9ff, #edf4fd); display: grid; grid-template-columns: 245px 1fr 180px; gap: 25px; align-items: stretch; }
.flow-intro h2 { font-size: 24px; line-height: 1.45; margin: 0 0 12px; }
.flow-intro p { font-size: 11.5px; line-height: 1.85; margin: 0 0 14px; }
.flow-intro > a { display: inline-flex; align-items: center; gap: 16px; border: 1px solid #77aaf1; background: #fff; color: var(--blue); border-radius: 9px; padding: 9px 14px; font-size: 10px; font-weight: 800; }
.flow-intro .arrow { width: 16px; height: 16px; background: #eaf2ff; }
.flow-steps { background: rgba(255,255,255,.9); border-radius: 12px; display: grid; grid-template-columns: repeat(4, 1fr); padding: 20px 10px; }
.flow-step { position: relative; text-align: center; padding: 0 9px; }
.flow-step h3 { margin: 8px 0; font-size: 11px; color: #5a9c0a; }
.flow-step p { margin: 0; font-size: 10.5px; line-height: 1.7; }
.flow-arrow { position: absolute; right: -9px; top: 30px; color: #1670da; font-size: 22px; }
.flow-photo { width: 100%; height: 100%; max-height: 193px; object-fit: cover; object-position: 54% center; border-radius: 9px; }
.mini-icon { width: 42px; height: 42px; border: 1.5px solid currentColor; border-radius: 12px; color: #5fa80b; display: inline-grid; place-items: center; background: #fff; box-shadow: 0 7px 18px rgba(69,112,25,.10); position: relative; }
.mini-icon svg { width: 26px; height: 26px; }

.cases { padding-top: 26px; }
.cases-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 14px; }
.cases-heading h2 { font-size: 22px; margin: 0 0 5px; }
.cases-heading p { font-size: 11px; margin: 0; }
.cases-heading > a { border: 1px solid #dfb982; color: #a66b16; border-radius: 999px; min-width: 180px; padding: 9px 14px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 800; }
.cases-heading .arrow { width: 17px; height: 17px; background: #fff7eb; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.case-grid article { min-height: 168px; border: 1px solid var(--line); border-radius: 10px; padding: 22px 19px; display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; }
.case-logo { width: 80px; height: 80px; border: 2px solid currentColor; border-radius: 50%; display: grid; place-items: center; font: italic 800 20px Georgia; }
.green-logo { color: #1a8a44; }.blue-logo { color: #3f77ba; }.aqua-logo { color: #2998d5; }
.case-grid b { font-size: 11px; }
.case-grid p { font-size: 10.5px; line-height: 1.75; margin: 10px 0; }
.case-grid a { font-size: 10px; color: var(--blue); font-weight: 800; }

.activities { margin-top: 44px; padding: 42px 44px 46px; border: 1px solid #e3e9ef; border-radius: 24px; background: linear-gradient(135deg, #fff9fc 0%, #f7fbff 52%, #f7fced 100%); position: relative; overflow: hidden; }
.activities::before { content: ""; position: absolute; width: 230px; height: 230px; right: -90px; top: -120px; border-radius: 50%; background: linear-gradient(135deg, rgba(216,23,132,.12), rgba(7,93,199,.12)); }
.activities-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; position: relative; }
.activities-heading > div > span { display: block; margin-bottom: 6px; color: var(--blue); font: 800 10px/1.2 Arial, sans-serif; letter-spacing: .16em; }
.activities-heading h2 { margin: 0 0 7px; font-size: 27px; }
.activities-heading p { margin: 0; color: #55606c; font-size: 12px; font-weight: 600; }
.activities-heading > a { min-width: 172px; min-height: 40px; padding: 0 14px 0 18px; border: 1px solid #8db5e7; border-radius: 999px; color: var(--blue); background: rgba(255,255,255,.8); display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; font-weight: 800; }
.activities-heading .arrow { width: 18px; height: 18px; background: #e8f2ff; }
.activity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; }
.activity-card { min-height: 390px; padding: 23px 23px 20px; border: 1px solid rgba(212,220,228,.9); border-radius: 17px; background: rgba(255,255,255,.92); box-shadow: 0 13px 32px rgba(47,71,98,.07); display: flex; flex-direction: column; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.activity-card:hover { transform: translateY(-4px); box-shadow: 0 17px 36px rgba(47,71,98,.11); }
.activity-photo { width: calc(100% + 46px); max-width: none; height: 150px; margin: -23px -23px 18px; object-fit: cover; border-radius: 16px 16px 0 0; transition: transform .45s ease; }
.activity-card:hover .activity-photo { transform: scale(1.035); }
.activity-notice .activity-photo { object-position: 64% center; }
.activity-report .activity-photo { object-position: center; }
.activity-press .activity-photo { object-position: 45% center; }
.activity-card-top { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
.activity-card-top > span { padding: 5px 10px; border-radius: 999px; background: #eef5ff; color: var(--blue); font-size: 10px; font-weight: 800; }
.activity-report .activity-card-top > span { color: #568e10; background: #eff8e5; }
.activity-press .activity-card-top > span { color: #b0136f; background: #fff0f8; }
.activity-icon { width: 45px; height: 45px; border-radius: 13px; display: grid; place-items: center; color: var(--blue); background: linear-gradient(145deg, #eef7ff, #dcecff); }
.activity-icon svg { width: 25px; height: 25px; }
.activity-icon-report { color: #5b9d0b; background: linear-gradient(145deg, #f4fbe9, #e4f4cf); }
.activity-icon-press { color: #c51b7e; background: linear-gradient(145deg, #fff4fa, #fbe0ef); }
.activity-card time { color: #8a929b; font: 700 10px Arial, sans-serif; letter-spacing: .06em; }
.activity-card h3 { margin: 9px 0 8px; font-size: 16px; line-height: 1.55; }
.activity-card p { margin: 0 0 18px; color: #58626d; font-size: 11.5px; line-height: 1.75; font-weight: 600; }
.activity-card > a { margin-top: auto; display: inline-flex; align-items: center; gap: 9px; color: var(--blue); font-size: 10.5px; font-weight: 800; }
.activity-card > a .arrow { width: 17px; height: 17px; color: #fff; background: var(--blue); }

.numbers { padding-top: 22px; padding-bottom: 24px; text-align: center; }
.numbers-hero { margin-top: 18px; padding: 25px 26px 18px; border: 1px solid #e1e8ef; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 18px 46px rgba(54,78,102,.08); position: relative; z-index: 4; }
.number-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; }
.number-grid article { min-height: 162px; border: 1px solid; border-radius: 14px; padding: 16px 10px 12px; display: flex; flex-direction: column; align-items: center; position: relative; overflow: hidden; background: linear-gradient(180deg, #fff, #fbfdff); }
.number-grid article::after { content: ""; position: absolute; width: 82px; height: 82px; right: -34px; top: -38px; border-radius: 50%; opacity: .10; background: currentColor; }
.number-grid article > * { position: relative; z-index: 1; }
.number-grid article > span { color: #27323d; font-size: 12px; font-weight: 800; margin-bottom: 8px; }
.number-grid .mini-icon { width: 50px; height: 50px; margin-bottom: 7px; border-radius: 15px; }
.number-grid .mini-icon svg { width: 30px; height: 30px; }
.number-grid p { margin: 0; font-size: 12px; color: currentColor; }
.number-grid p b { font: 500 40px/1 Arial; margin-right: 4px; }
.availability-number p b { font-size: 30px; letter-spacing: .04em; }
.green-number { color: #4a9c08; border-color: #a7cf79 !important; }
.blue-number { color: #0759bf; border-color: #92b9ea !important; }
.green-number .mini-icon { background: linear-gradient(145deg, #f7fceb, #e8f6d8); border-color: #92c957; }
.blue-number .mini-icon { background: linear-gradient(145deg, #f4f9ff, #e4f0ff); border-color: #78abe8; box-shadow: 0 7px 18px rgba(7,89,191,.10); }
.stat-note { margin-top: 4px; color: #6c7580; font-size: 9.5px; font-weight: 700; }
.numbers-date { display: block; text-align: right; font-size: 10px; color: #6f7883; margin-top: 10px; }

.bottom-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 34px 0 22px; }
.bottom-cta article { height: 194px; border-radius: 14px; overflow: hidden; display: grid; align-items: center; }
.bottom-person { grid-template-columns: 165px 1fr; background: linear-gradient(135deg, #f5f8f1, #eef5e7); }
.bottom-company { grid-template-columns: 1fr 165px; background: linear-gradient(135deg, #eef5ff, #f3f7fd); }
.bottom-cta img { width: 100%; height: 100%; object-fit: cover; }
.bottom-person img { object-position: 64% center; }.bottom-company img { object-position: 60% center; transform: scaleX(-1); }
.bottom-cta article > div { padding: 20px 26px; }
.bottom-cta h2 { margin: 0 0 8px; font-size: 21px; color: var(--green); }
.bottom-company h2 { color: var(--blue); }
.bottom-cta p { margin: 0 0 13px; font-size: 11px; line-height: 1.75; }
.bottom-cta article > div > div { display: flex; gap: 12px; }
.bottom-cta a { min-height: 37px; border-radius: 8px; padding: 0 15px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; color: #fff; font-size: 10px; font-weight: 800; }
.bottom-cta .white-button { background: #fff; color: #202a34; border: 1px solid #d5ddd0; }
.bottom-cta .blue-white { color: var(--blue); border-color: #90b6e7; }
.bottom-cta .arrow { width: 16px; height: 16px; }

.footer { border-top: 1px solid #eef0f2; }
.footer-main { min-height: 205px; padding: 30px 0 24px; display: grid; grid-template-columns: 260px 1fr; grid-template-rows: auto auto; column-gap: 56px; row-gap: 14px; }
.footer-brand { grid-row: 1 / 3; }
.footer-brand p { font-size: 10px; line-height: 1.75; margin: 15px 0 0; }
.footer-socials { grid-column: 2; display: flex; align-items: center; justify-content: flex-end; justify-self: end; gap: 8px; }
.footer-socials a { min-height: 34px; padding: 0 11px 0 7px; border: 1px solid #dce3e9; border-radius: 999px; background: #fff; display: inline-flex; align-items: center; gap: 7px; color: #3d4854; font-size: 10.5px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease; }
.footer-socials a:hover { transform: translateY(-2px); box-shadow: 0 7px 16px rgba(34,55,76,.1); }
.footer-socials a span { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #1877f2; font: 800 14px Arial, sans-serif; }
.footer-socials a:nth-child(2) span { background: linear-gradient(135deg, #7d35b5, #e32d75 55%, #f5a136); font-size: 13px; }
.footer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.footer-links div { display: flex; flex-direction: column; gap: 7px; }
.footer-links b { font-size: 11px; margin-bottom: 4px; }
.footer-links a { font-size: 10.5px; color: #515a65; }
.group-footer { border-top: 1px solid #e3e7ea; }
.group-footer > div { min-height: 42px; display: flex; align-items: center; }
.group-footer b, .group-footer span { border-right: 1px solid #d8dde1; padding: 0 35px; font-size: 10px; }
.group-footer b { padding-left: 0; }.group-footer small { margin-left: auto; font-size: 9px; }
.mobile-fixed { display: none; }

.current-nav { color: var(--green); }
.people-page { background: #fff; }
.people-hero { min-height: 540px; margin-top: 28px; padding: 58px 58px 54px; border-radius: 34px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 58px; align-items: center; overflow: hidden; position: relative; background: linear-gradient(135deg, #fbfdf7 0%, #f4faed 42%, #f3f8ff 100%); }
.people-hero::before { content: ""; position: absolute; width: 330px; height: 330px; left: -150px; top: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(216,23,132,.18), transparent 68%); }
.people-hero-copy { position: relative; z-index: 2; }
.breadcrumb { display: flex; gap: 9px; align-items: center; margin-bottom: 34px; color: #7b858f; font-size: 10px; font-weight: 700; }
.breadcrumb a:hover { color: var(--green); }
.people-eyebrow, .people-section-heading > span, .visit-copy > span { display: block; margin-bottom: 10px; color: var(--green); font: 800 11px/1.2 Arial, sans-serif; letter-spacing: .17em; }
.people-hero h1 { margin: 0 0 22px; font-size: clamp(43px, 4.6vw, 64px); line-height: 1.34; letter-spacing: .035em; }
.people-hero h1 em { color: var(--green); font-style: normal; }
.people-hero-copy > p { margin: 0; color: #3e4852; font-size: 15px; line-height: 2; font-weight: 600; }
.people-hero-actions { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.people-primary, .people-secondary { min-height: 52px; padding: 0 22px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; font-weight: 800; }
.people-primary { color: #fff; background: linear-gradient(135deg, #69b813, #4a9700); box-shadow: 0 13px 28px rgba(76,153,0,.2); }
.people-secondary { color: #4f7e18; background: rgba(255,255,255,.86); border: 1px solid #a9ca86; }
.people-hero-facts { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 22px; color: #4c5660; font-size: 11px; font-weight: 800; }
.people-hero-facts span { display: inline-flex; align-items: center; gap: 7px; }
.people-hero-facts svg { width: 18px; height: 18px; color: var(--green); }
.people-hero-visual { height: 425px; position: relative; }
.people-hero-visual::before { content: ""; position: absolute; width: 88%; height: 96%; right: -10px; top: -5px; border-radius: 47% 29% 41% 24% / 30% 40% 28% 42%; background: linear-gradient(145deg, rgba(222,242,201,.85), rgba(217,235,255,.88)); transform: rotate(4deg); }
.people-hero-photo { width: 88%; height: 390px; margin-left: auto; object-fit: cover; object-position: 62% center; border-radius: 39% 18% 33% 20% / 27% 29% 36% 23%; position: relative; z-index: 2; box-shadow: 0 24px 54px rgba(53,79,65,.16); }
.people-hero-illustration { width: 230px; height: 340px; object-fit: contain; position: absolute; z-index: 3; left: -58px; bottom: -72px; pointer-events: none; }
.people-hero-tag { min-height: 42px; padding: 0 17px; border-radius: 999px; display: inline-flex; align-items: center; position: absolute; z-index: 4; right: 1px; bottom: 2px; color: #4d8c08; background: rgba(255,255,255,.94); border: 1px solid #b9d899; box-shadow: 0 10px 25px rgba(48,80,45,.12); font-size: 11px; font-weight: 800; }

.people-local-nav { min-height: 76px; margin-top: 20px; padding: 0 30px; border: 1px solid #e0e7dd; border-radius: 16px; display: flex; align-items: center; justify-content: center; gap: clamp(20px, 4vw, 58px); background: #fff; box-shadow: 0 13px 34px rgba(47,71,55,.06); }
.people-local-nav a { color: #47534b; font-size: 12px; font-weight: 800; white-space: nowrap; }
.people-local-nav a:hover { color: var(--green); }

.people-section { padding-top: 94px; padding-bottom: 96px; }
.people-section-heading { margin-bottom: 35px; }
.people-section-heading h2 { margin: 0 0 12px; font-size: clamp(31px, 3.4vw, 43px); letter-spacing: .04em; }
.people-section-heading > p { margin: 0; color: #56616a; font-size: 14px; line-height: 1.85; font-weight: 600; }
.centered-heading { text-align: center; }
.eligibility-lead { padding: 37px 42px; border-radius: 20px; display: grid; grid-template-columns: 1fr 1.25fr; gap: 42px; align-items: center; background: linear-gradient(135deg, #f3f9e9, #f7fbf3); border: 1px solid #dcebc9; }
.eligibility-lead strong { color: #3f8000; font-size: 23px; line-height: 1.7; }
.eligibility-lead p { margin: 0; color: #405047; font-size: 14px; line-height: 1.95; font-weight: 600; }
.eligibility-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 24px; }
.eligibility-grid article { min-height: 220px; padding: 27px 26px; border: 1px solid #e1e8dc; border-radius: 17px; background: #fff; box-shadow: 0 12px 30px rgba(49,76,43,.055); }
.eligibility-grid article > span { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--green); font: 800 12px Arial, sans-serif; }
.eligibility-grid h3 { margin: 22px 0 11px; font-size: 17px; line-height: 1.55; }
.eligibility-grid p { margin: 0; color: #556159; font-size: 13px; line-height: 1.85; font-weight: 600; }
.people-note { margin: 18px 0 0; color: #69736d; font-size: 11px; line-height: 1.7; }

.people-work-section { padding: 90px 0 100px; background: linear-gradient(180deg, #fbfdf8, #f5f9f0); }
.people-work-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.people-work-card { border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid #e3e8df; box-shadow: 0 16px 38px rgba(44,67,45,.07); }
.people-work-card > img { width: 100%; height: 190px; object-fit: cover; }
.people-work-card:first-child > img { object-position: 58% center; }
.people-work-card:last-child > img { object-position: 38% center; }
.people-work-card > div { padding: 0 23px 25px; }
.people-work-icon { width: 50px; height: 50px; margin-top: -25px; border-radius: 14px; display: grid; place-items: center; position: relative; background: #fff; box-shadow: 0 9px 20px rgba(50,69,64,.14); }
.people-work-icon svg { width: 25px; height: 25px; }
.people-work-card h3 { margin: 18px 0 10px; font-size: 17px; }
.people-work-card p { margin: 0; color: #58626a; font-size: 13px; line-height: 1.8; font-weight: 600; }
.people-work-card.purple .people-work-icon, .people-work-card.purple h3 { color: var(--purple); }
.people-work-card.pink .people-work-icon, .people-work-card.pink h3 { color: var(--pink); }
.people-work-card.green .people-work-icon, .people-work-card.green h3 { color: var(--green); }
.people-work-card.blue .people-work-icon, .people-work-card.blue h3 { color: var(--blue); }

.day-layout { display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: start; }
.day-timeline { padding: 4px 0; }
.day-step { min-height: 86px; display: grid; grid-template-columns: 78px 22px 1fr; gap: 17px; position: relative; }
.day-step time { padding-top: 2px; color: var(--green); font: 800 18px Arial, sans-serif; }
.day-step > span { width: 13px; height: 13px; margin-top: 5px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 2px #8fc84f; position: relative; z-index: 2; }
.day-step:not(:last-child) > span::after { content: ""; width: 2px; height: 73px; position: absolute; left: 3px; top: 11px; background: #d8e8c7; }
.day-step h3 { margin: 0 0 7px; font-size: 17px; }
.day-step p { margin: 0; color: #59636b; font-size: 13px; line-height: 1.7; font-weight: 600; }
.day-aside { border-radius: 22px; overflow: hidden; background: linear-gradient(145deg, #eef6e5, #f6faef); border: 1px solid #dce8d0; position: sticky; top: 104px; }
.day-aside > img { width: 100%; height: 235px; object-fit: cover; object-position: 39% center; }
.day-aside > div { padding: 28px 30px 31px; }
.day-aside span { color: var(--green); font-size: 11px; font-weight: 800; }
.day-aside h3 { margin: 9px 0 13px; color: #407e03; font-size: 23px; line-height: 1.55; }
.day-aside p { margin: 0; color: #4e5b52; font-size: 13px; line-height: 1.9; font-weight: 600; }

.start-section { padding: 92px 0 98px; background: linear-gradient(135deg, #f5f9ff, #f2f8ec); }
.start-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.start-grid article { min-height: 194px; padding: 26px 25px; border-radius: 17px; background: rgba(255,255,255,.94); border: 1px solid #e0e7e3; position: relative; }
.start-grid article > span { color: #7ab331; font: 800 28px/1 Arial, sans-serif; opacity: .7; }
.start-grid h3 { margin: 20px 0 9px; font-size: 17px; }
.start-grid p { margin: 0; color: #59646c; font-size: 13px; line-height: 1.8; font-weight: 600; }
.start-support { max-width: 810px; margin: 26px auto 0; padding: 20px 25px; border: 1px solid #b9d991; border-radius: 15px; display: flex; align-items: center; gap: 17px; background: #fff; }
.start-support svg { width: 30px; height: 30px; flex: none; color: var(--green); }
.start-support p { margin: 0; color: #4b584f; font-size: 13px; line-height: 1.8; }

.people-faq-list { max-width: 920px; margin: 0 auto; border-top: 1px solid #dfe5df; }
.people-faq-list details { border-bottom: 1px solid #dfe5df; }
.people-faq-list summary { min-height: 82px; padding: 16px 12px; list-style: none; cursor: pointer; display: grid; grid-template-columns: 38px 1fr 28px; gap: 14px; align-items: center; font-size: 15px; font-weight: 800; }
.people-faq-list summary::-webkit-details-marker { display: none; }
.people-faq-list summary > span, .people-faq-list details > div > span { color: var(--green); font: 800 20px Arial, sans-serif; }
.people-faq-list summary i { font-style: normal; color: var(--green); font-size: 23px; transition: transform .2s ease; }
.people-faq-list details[open] summary i { transform: rotate(45deg); }
.people-faq-list details > div { padding: 0 54px 24px 64px; display: grid; grid-template-columns: 38px 1fr; gap: 14px; }
.people-faq-list details > div p { margin: 0; color: #535f57; font-size: 13px; line-height: 1.9; font-weight: 600; }

.visit-section { min-height: 660px; margin-bottom: 70px; padding: 52px; border-radius: 28px; display: grid; grid-template-columns: 390px 1fr; gap: 50px; align-items: start; overflow: hidden; background: linear-gradient(135deg, #f1f8e8, #f7fbf3 55%, #eef5ff); position: relative; }
.visit-intro { position: sticky; top: 104px; }
.visit-copy { position: relative; z-index: 2; }
.visit-copy h2 { margin: 0 0 15px; color: #397604; font-size: 32px; line-height: 1.5; }
.visit-copy p { margin: 0; color: #4d5a51; font-size: 13px; line-height: 1.9; font-weight: 600; }
.visit-intro-photo { width: 100%; height: 205px; margin-top: 22px; object-fit: cover; object-position: 64% center; border-radius: 21px; box-shadow: 0 15px 34px rgba(45,69,55,.12); }
.visit-flow { display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 2; }
.visit-intro .visit-flow { margin-top: 18px; }
.visit-flow article { padding: 15px; border-radius: 14px; display: grid; grid-template-columns: 40px 1fr; gap: 13px; align-items: center; background: rgba(255,255,255,.9); border: 1px solid #dfe9d6; }
.visit-flow article > span { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--green); font: 800 12px Arial, sans-serif; }
.visit-flow h3 { margin: 0 0 4px; font-size: 14px; }
.visit-flow p { margin: 0; color: #647068; font-size: 11px; line-height: 1.65; font-weight: 600; }
.visit-form { padding: 35px 36px 32px; border: 1px solid #dce6d5; border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 18px 44px rgba(45,69,55,.09); position: relative; z-index: 2; }
.visit-form-heading { margin-bottom: 26px; }
.visit-form-heading > span { color: var(--green); font-size: 11px; font-weight: 800; }
.visit-form-heading h3 { margin: 6px 0 6px; font-size: 24px; }
.visit-form-heading p { margin: 0; color: #717a74; font-size: 11px; }
.visit-form b { color: #d8175f; }
.visit-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 18px; }
.visit-form label > span, .visit-interests legend, .visit-message > span { display: block; margin-bottom: 8px; color: #3f4a43; font-size: 12px; font-weight: 800; }
.visit-form input[type="text"], .visit-form input[type="email"], .visit-form input[type="tel"], .visit-form input[type="date"], .visit-form select, .visit-form textarea { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #d9e0da; border-radius: 10px; outline: none; background: #fff; color: #27322c; font: inherit; font-size: 13px; transition: border-color .2s ease, box-shadow .2s ease; }
.visit-form textarea { min-height: 122px; padding-block: 13px; resize: vertical; line-height: 1.7; }
.visit-form input:focus, .visit-form select:focus, .visit-form textarea:focus { border-color: #87b94f; box-shadow: 0 0 0 3px rgba(87,169,0,.11); }
.visit-form input::placeholder, .visit-form textarea::placeholder { color: #a1aaa4; }
.visit-interests { margin: 23px 0 20px; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 9px; }
.visit-interests legend { width: 100%; }
.visit-interests label { cursor: pointer; }
.visit-interests input { position: absolute; opacity: 0; pointer-events: none; }
.visit-interests label > span { min-height: 38px; margin: 0; padding: 0 13px; border: 1px solid #d8e1d5; border-radius: 999px; display: inline-flex; align-items: center; background: #fff; color: #556059; font-size: 11px; }
.visit-interests input:checked + span { color: #397a00; border-color: #8fbd5b; background: #eff8e5; }
.visit-message { display: block; }
.visit-consent { margin: 20px 0 17px; display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; cursor: pointer; }
.visit-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--green); }
.visit-consent > span { margin: 0 !important; font-size: 11px !important; line-height: 1.7; }
.visit-form button { width: 100%; min-height: 54px; border: 0; border-radius: 12px; display: flex; align-items: center; justify-content: center; gap: 24px; color: #fff; background: linear-gradient(135deg, #69b813, #4a9700); box-shadow: 0 13px 28px rgba(76,153,0,.18); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.visit-form > small { display: block; margin-top: 10px; text-align: center; color: #778079; font-size: 10px; }

@keyframes heroGradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes blobFloat {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50% { transform: translate3d(10px, -13px, 0) rotate(2deg); }
}
@keyframes photoFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -8px, 0); }
}
@keyframes dotsFloat {
  0%, 100% { transform: translate3d(0, 0, 0); opacity: .68; }
  50% { transform: translate3d(7px, -8px, 0); opacity: .95; }
}
@keyframes orbDrift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(18px, 12px, 0) scale(1.07); }
}

@media (max-width: 1180px) {
  .header-inner { grid-template-columns: 185px minmax(0, 1fr); gap: 24px; }
  .main-nav { gap: 11px; }
  .main-nav a { font-size: 11px; }
  .hero-main-photo { width: 57%; }
  .hero-sub-photo { width: 34%; }
  .flow-panel { grid-template-columns: 200px 1fr; }
  .flow-photo { display: none; }
  .people-hero { padding-inline: 42px; gap: 35px; }
  .people-work-grid { grid-template-columns: repeat(2, 1fr); }
  .visit-section { grid-template-columns: 350px 1fr; gap: 34px; }
}

@media (max-width: 940px) {
  .site-header { height: 68px; }
  .header-inner { width: calc(100% - 32px); grid-template-columns: 1fr auto; gap: 18px; }
  .main-nav { display: none; }
  .mobile-menu { display: block; margin-left: auto; position: relative; }
  .mobile-menu summary { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-content: center; gap: 4px; list-style: none; cursor: pointer; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary i { width: 18px; height: 2px; background: var(--ink); }
  .mobile-menu nav { position: fixed; top: 68px; left: 0; right: 0; background: #fff; padding: 14px 20px 22px; box-shadow: 0 18px 38px rgba(20,40,60,.12); display: flex; flex-direction: column; }
  .mobile-menu nav a { padding: 12px 2px; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 800; }
}

@media (max-width: 820px) {
  .page-width { width: min(100% - 32px, 620px); }
  .hero { min-height: auto; padding-top: 42px; grid-template-columns: 1fr; gap: 22px; }
  .hero-copy { padding-left: 4px; }
  .hero-copy h1 { font-size: clamp(39px, 10vw, 55px); }
  .hero-collage { height: 390px; width: 100%; }
  .hero-main-photo { width: 56%; height: 350px; left: 3%; }
  .hero-sub-photo { width: 35%; right: 3%; }
  .hero-sub-top { height: 150px; }.hero-sub-bottom { height: 160px; bottom: 20px; }
  .choice { grid-template-columns: 1fr; gap: 18px; }
  .choice-card { padding-inline: 28px; }
  .choice-illustration { display: none; }
  .field-grid { grid-template-columns: repeat(2, 1fr); }
  .flow-panel { grid-template-columns: 1fr; }
  .flow-intro { text-align: center; }
  .flow-steps { min-height: 170px; }
  .case-grid { grid-template-columns: 1fr; }
  .activities { padding: 34px 28px 36px; }
  .activity-grid { grid-template-columns: 1fr; }
  .activity-card { min-height: 370px; }
  .number-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .number-grid article:last-child { grid-column: 1 / -1; }
  .bottom-cta { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; grid-template-rows: auto; }
  .footer-brand { grid-row: auto; }
  .footer-links { order: 2; }
  .footer-socials { grid-column: auto; order: 3; justify-self: end; }
  .group-footer > div { overflow-x: auto; }.group-footer small { display: none; }
  .people-hero { min-height: auto; padding: 42px 30px 32px; grid-template-columns: 1fr; gap: 34px; }
  .breadcrumb { margin-bottom: 24px; }
  .people-hero h1 { font-size: clamp(39px, 10vw, 55px); }
  .people-hero-visual { height: 360px; }
  .people-hero-photo { height: 335px; }
  .people-hero-illustration { left: -66px; bottom: -85px; }
  .people-local-nav { min-height: auto; padding: 17px 20px; justify-content: flex-start; overflow-x: auto; gap: 25px; }
  .people-section, .people-work-section, .start-section { padding-top: 68px; padding-bottom: 72px; }
  .eligibility-lead { grid-template-columns: 1fr; gap: 18px; }
  .eligibility-grid { grid-template-columns: 1fr; }
  .eligibility-grid article { min-height: auto; }
  .day-layout { grid-template-columns: 1fr; }
  .day-aside { position: static; }
  .start-grid { grid-template-columns: repeat(2, 1fr); }
  .visit-section { padding: 38px 30px; grid-template-columns: 1fr; }
  .visit-intro { position: static; }
  .visit-intro-photo { height: 260px; }
}

@media (max-width: 520px) {
  .brand-official { width: 150px; }
  .hero-copy h1 { font-size: 36px; }
  .hero-copy p { font-size: 11px; }
  .hero-collage { height: 315px; }
  .hero-main-photo { height: 285px; }.hero-sub-top { height: 120px; }.hero-sub-bottom { height: 130px; }
  .round-photos img { width: 50px; height: 50px; }
  .company-action-row { grid-template-columns: 1fr; }
  .choice-company { min-height: 390px; }
  .field-grid { grid-template-columns: 1fr; }
  .field-card > img { height: 175px; }
  .flow-steps { grid-template-columns: repeat(2, 1fr); gap: 22px 0; }
  .flow-arrow { display: none; }
  .cases-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .activities { margin-top: 34px; padding: 30px 20px 28px; border-radius: 18px; }
  .activities-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .activities-heading h2 { font-size: 23px; }
  .activities-heading > a { min-width: 164px; }
  .activity-card { padding: 20px; }
  .activity-photo { width: calc(100% + 40px); height: 170px; margin: -20px -20px 18px; }
  .case-grid article { grid-template-columns: 78px 1fr; }
  .case-logo { width: 64px; height: 64px; }
  .bottom-cta article { height: auto; min-height: 190px; grid-template-columns: 1fr; }
  .bottom-cta img { display: none; }
  .bottom-cta article > div { padding: 28px 22px; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .people-hero { width: calc(100% - 20px); margin-top: 10px; padding: 32px 20px 24px; border-radius: 22px; }
  .people-hero h1 { font-size: 35px; }
  .people-hero-copy > p { font-size: 13px; }
  .people-hero-actions { align-items: stretch; flex-direction: column; }
  .people-primary, .people-secondary { width: 100%; }
  .people-hero-visual { height: 280px; }
  .people-hero-photo { width: 94%; height: 260px; }
  .people-hero-illustration { width: 170px; height: 250px; left: -55px; bottom: -70px; }
  .people-hero-tag { bottom: -2px; }
  .people-local-nav { width: calc(100% - 20px); }
  .people-section-heading h2 { font-size: 29px; }
  .people-section-heading > p { font-size: 13px; }
  .eligibility-lead { padding: 27px 23px; }
  .eligibility-lead strong { font-size: 19px; }
  .eligibility-lead p { font-size: 13px; }
  .people-work-grid { grid-template-columns: 1fr; }
  .people-work-card > img { height: 210px; }
  .day-step { grid-template-columns: 62px 18px 1fr; gap: 10px; }
  .day-step time { font-size: 15px; }
  .day-step p { font-size: 12px; }
  .day-aside > div { padding: 24px 22px 27px; }
  .start-grid { grid-template-columns: 1fr; }
  .start-grid article { min-height: auto; }
  .start-support { align-items: flex-start; }
  .people-faq-list summary { grid-template-columns: 32px 1fr 24px; padding-inline: 3px; font-size: 14px; }
  .people-faq-list details > div { padding: 0 6px 22px 35px; grid-template-columns: 30px 1fr; gap: 8px; }
  .visit-section { width: calc(100% - 20px); margin-bottom: 40px; padding: 31px 21px; border-radius: 22px; }
  .visit-copy h2 { font-size: 27px; }
  .visit-form { padding: 27px 19px 24px; border-radius: 17px; }
  .visit-form-grid { grid-template-columns: 1fr; gap: 15px; }
  .visit-form-heading h3 { font-size: 21px; }
  .visit-interests { gap: 7px; }
  .visit-interests label > span { padding-inline: 11px; font-size: 10.5px; }
  .mobile-fixed { position: fixed; z-index: 40; display: flex; bottom: 12px; left: 16px; right: 16px; height: 50px; border-radius: 12px; align-items: center; justify-content: center; gap: 20px; background: linear-gradient(135deg, #0b6bd4, #004dad); color: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 12px 28px rgba(5,88,191,.3); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero, .hero::before, .hero::after, .shape-one, .dot-pattern, .hero-main-photo, .hero-sub-photo { animation: none !important; }
}

/* Lower pages */
.subpage { background: #fff; }
.subpage-hero { min-height: 510px; margin-top: 28px; padding: 58px; border-radius: 34px; display: grid; grid-template-columns: .96fr 1.04fr; gap: 58px; align-items: center; overflow: hidden; position: relative; background: linear-gradient(135deg,#fbfdf8,#f2f8e9 48%,#eef6ff); }
.subpage-hero::before { content:""; position:absolute; width:360px; height:360px; left:-185px; top:-210px; border-radius:50%; background:radial-gradient(circle,rgba(216,23,132,.17),transparent 68%); }
.subpage-business,.subpage-services,.subpage-contact { background:linear-gradient(135deg,#f8fbff,#edf5ff 49%,#f8f3ff); }
.subpage-news { background:linear-gradient(135deg,#fbfdf8,#eff8e7 48%,#fff5fa); }.subpage-about { background:linear-gradient(135deg,#fbf9ff,#f1f6ff 48%,#f3faed); }
.subpage-hero-copy { position:relative; z-index:2; }.subpage-eyebrow { display:block; margin-bottom:12px; color:var(--green); font:800 11px/1.2 Arial,sans-serif; letter-spacing:.18em; }
.subpage-business .subpage-eyebrow,.subpage-services .subpage-eyebrow,.subpage-contact .subpage-eyebrow { color:var(--blue); }
.subpage-hero h1 { margin:0 0 24px; font-size:clamp(39px,4.35vw,58px); line-height:1.38; letter-spacing:.035em; }.subpage-hero h1 em { color:var(--green); font-style:normal; }.subpage-business h1 em,.subpage-services h1 em,.subpage-contact h1 em { color:var(--blue); }.subpage-news h1 em { color:var(--pink); }.subpage-about h1 em { color:var(--purple); }
.subpage-hero-copy>p { margin:0; color:#3f4a53; font-size:14px; line-height:2; font-weight:600; }.subpage-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:29px; }
.subpage-primary,.subpage-secondary { min-height:52px; padding:0 22px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:18px; font-size:12px; font-weight:800; }.subpage-primary { color:#fff; background:linear-gradient(135deg,#69b813,#4a9700); box-shadow:0 13px 28px rgba(76,153,0,.2); }.subpage-primary.is-blue { background:linear-gradient(135deg,#0b6bd4,#004dad); box-shadow:0 13px 28px rgba(5,88,191,.2); }.subpage-secondary { color:#4f7e18; background:rgba(255,255,255,.9); border:1px solid #a9ca86; }.subpage-secondary.is-blue { color:var(--blue); border-color:#9abce6; }.subpage-primary svg { width:17px; }
.subpage-hero-visual { height:405px; position:relative; }.subpage-visual-shape { width:92%; height:94%; position:absolute; right:-12px; top:8px; border-radius:43% 24% 39% 22%/28% 42% 29% 38%; background:linear-gradient(145deg,rgba(221,242,202,.86),rgba(215,233,255,.9)); transform:rotate(4deg); }.subpage-business .subpage-visual-shape,.subpage-services .subpage-visual-shape,.subpage-contact .subpage-visual-shape { background:linear-gradient(145deg,rgba(210,230,255,.9),rgba(235,222,255,.84)); }
.subpage-hero-visual img { width:90%; height:375px; margin-left:auto; object-fit:cover; border-radius:36% 18% 32% 18%/27% 30% 36% 22%; position:relative; z-index:2; box-shadow:0 24px 54px rgba(53,79,65,.16); }.subpage-visual-label { min-height:40px; padding:0 16px; border-radius:999px; display:inline-flex; align-items:center; position:absolute; z-index:3; right:0; bottom:2px; color:#4d8c08; background:rgba(255,255,255,.95); border:1px solid #bbd99e; font:800 10px Arial; letter-spacing:.12em; }
.subpage-local-nav { min-height:70px; margin-top:20px; padding:0 27px; border:1px solid #e0e7dd; border-radius:16px; display:flex; align-items:center; justify-content:center; gap:clamp(22px,5vw,65px); background:#fff; box-shadow:0 13px 34px rgba(47,71,55,.06); }.subpage-local-nav a { color:#47534b; font-size:11.5px; font-weight:800; white-space:nowrap; }
.subpage-section { padding-top:96px; padding-bottom:98px; }.subpage-band { padding:92px 0 98px; background:linear-gradient(135deg,#f7faf3,#f1f7eb); }.subpage-section-heading { margin-bottom:38px; }.subpage-section-heading>span { display:block; margin-bottom:11px; color:var(--green); font:800 11px/1.2 Arial; letter-spacing:.18em; }.business-page .subpage-section-heading>span,.services-page .subpage-section-heading>span,.contact-page .subpage-section-heading>span { color:var(--blue); }.news-page .subpage-section-heading>span { color:var(--pink); }.about-page .subpage-section-heading>span { color:var(--purple); }.subpage-section-heading h2 { margin:0 0 13px; font-size:clamp(30px,3.35vw,43px); line-height:1.45; }.subpage-section-heading>p { max-width:760px; margin:0; color:#56616a; font-size:14px; line-height:1.9; font-weight:600; }.subpage-section-heading.is-centered { text-align:center; }.subpage-section-heading.is-centered>p { margin-inline:auto; }

.principle-grid,.environment-grid,.vision-grid,.contact-category-grid,.news-index-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }.principle-grid article,.environment-grid article,.vision-grid article,.contact-category-grid article { min-height:260px; padding:29px; border:1px solid #dfe7dd; border-radius:20px; background:#fff; box-shadow:0 16px 38px rgba(50,73,51,.06); position:relative; }.principle-number { color:#83ae50; font:800 12px Arial; }.principle-icon,.environment-grid article>span { width:54px; height:54px; margin-top:22px; border-radius:16px; display:grid; place-items:center; color:var(--green); background:#eef8e4; }.principle-icon svg,.environment-grid svg { width:27px; }.principle-grid h3,.environment-grid h3,.vision-grid h3 { margin:20px 0 11px; font-size:19px; }.principle-grid p,.environment-grid p,.vision-grid p { margin:0; color:#56615a; font-size:13px; line-height:1.9; font-weight:600; }
.support-cycle-band { background:linear-gradient(135deg,#f3f8ed,#edf5ff); }.support-cycle,.employment-support-grid,.outsourcing-grid,.partnership-flow,.service-index-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.support-cycle article,.employment-support-grid article,.outsourcing-grid article,.partnership-flow article { min-height:235px; padding:26px 23px; border:1px solid #dce5df; border-radius:18px; background:rgba(255,255,255,.95); position:relative; }.support-cycle article>span,.outsourcing-grid article>span { color:#8bb25b; font:800 29px Arial; }.support-cycle h3,.employment-support-grid h3,.outsourcing-grid h3,.partnership-flow h3 { margin:20px 0 10px; font-size:18px; }.support-cycle p,.employment-support-grid p,.outsourcing-grid p,.partnership-flow p { margin:0; color:#59645d; font-size:12px; line-height:1.85; font-weight:600; }.cycle-arrow,.partnership-arrow { width:22px; position:absolute; right:-22px; top:47%; color:#91b66b; z-index:2; }
.split-heading-row,.business-section-intro { display:grid; grid-template-columns:1fr 430px; gap:65px; align-items:center; }.split-heading-row>img,.business-section-intro img { width:100%; height:290px; object-fit:cover; border-radius:24px 55px 24px 45px; }.team-support-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:42px; }.team-support-grid article { padding:23px; border:1px solid #e0e7dc; border-radius:17px; display:grid; grid-template-columns:50px 1fr; gap:18px; }.team-support-grid article>svg { width:48px; height:48px; padding:11px; border-radius:14px; color:var(--green); background:#eef7e5; }.team-support-grid h3 { margin:2px 0 7px; font-size:16px; }.team-support-grid p { margin:0; color:#5b655e; font-size:12px; line-height:1.8; font-weight:600; }
.next-step-section { padding:92px 0; background:#f7fafb; }.next-step-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:72px; align-items:center; }.next-step-image img { width:100%; height:410px; object-fit:cover; border-radius:31% 16% 30% 19%; }.next-step-lead { color:#4e5a53; font-size:14px; line-height:1.9; font-weight:600; }.check-list { margin:24px 0 0; padding:0; list-style:none; display:grid; gap:12px; }.check-list li { display:flex; gap:11px; align-items:center; font-size:13px; font-weight:700; }.check-list svg { width:20px; color:var(--green); }

.office-gallery { height:490px; margin-top:28px; display:grid; grid-template-columns:1.4fr .7fr; grid-template-rows:1fr 1fr; gap:17px; }.office-gallery figure { margin:0; border-radius:19px; overflow:hidden; position:relative; }.office-gallery-main { grid-row:1/3; }.office-gallery img { width:100%; height:100%; object-fit:cover; }.office-gallery figcaption { position:absolute; left:16px; bottom:15px; padding:8px 12px; border-radius:999px; color:#fff; background:rgba(17,25,34,.68); font-size:10px; font-weight:800; }.office-info-band { background:linear-gradient(135deg,#f3f8ed,#eef6ff); }.office-info-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:58px; align-items:start; }.office-table,.company-profile-table { margin:0; border-top:1px solid #d5ded4; }.office-table>div,.company-profile-table>div { min-height:68px; padding:17px 4px; border-bottom:1px solid #d5ded4; display:grid; grid-template-columns:145px 1fr; gap:24px; }.office-table dt,.company-profile-table dt { color:#59665b; font-size:12px; font-weight:800; }.office-table dd,.company-profile-table dd { margin:0; color:#29332d; font-size:13px; line-height:1.75; font-weight:600; }.office-table dd a { color:var(--blue); font-size:18px; }.access-card { border-radius:22px; overflow:hidden; background:#fff; box-shadow:0 18px 44px rgba(40,66,57,.1); }.access-map-placeholder,.about-access-map { min-height:275px; padding:25px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,#1764a8,#548f67); }.access-map-placeholder svg { width:47px; margin-bottom:16px; }.access-map-placeholder span { margin-top:7px; font:800 10px Arial; letter-spacing:.14em; }.access-card-body { padding:28px; }.access-card-body h3 { margin:0 0 17px; }.access-card-body p { display:flex; gap:10px; color:#56615a; font-size:12px; line-height:1.75; font-weight:600; }.access-card-body p svg { width:18px; color:var(--green); flex:none; }.access-card-body a,.about-access a { display:inline-flex; gap:8px; align-items:center; color:var(--blue); font-size:12px; font-weight:800; }.office-visit-guide { display:grid; grid-template-columns:1fr 330px; gap:70px; align-items:center; }.office-visit-guide>div>p { color:#556159; font-size:13px; line-height:1.9; font-weight:600; }.simple-tag-list { margin:22px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:9px; }.simple-tag-list li { padding:9px 13px; border-radius:999px; color:#4c761e; background:#eff7e7; border:1px solid #d0e4bc; font-size:10.5px; font-weight:800; }.office-contact-card { min-height:230px; padding:31px; border-radius:22px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(145deg,#69b813,#3f8700); }.office-contact-card svg { width:37px; }.office-contact-card a { margin:8px 0; font:800 25px Arial; }

.business-choice { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }.business-choice>a { padding:28px; border:1px solid #d9e4ef; border-radius:20px; display:grid; grid-template-columns:58px 1fr 24px; gap:20px; align-items:center; box-shadow:0 15px 36px rgba(39,68,96,.06); }.business-choice>a>span { width:58px; height:58px; border-radius:17px; display:grid; place-items:center; color:var(--blue); background:#eaf3ff; }.business-choice h2 { margin:6px 0 8px; font-size:19px; }.business-choice small { color:var(--blue); font-weight:800; }.business-choice p { margin:0; color:#5b6670; font-size:11.5px; line-height:1.75; font-weight:600; }.employment-support-grid { margin-top:40px; }.employment-support-grid article>span { position:absolute; right:20px; top:18px; color:#d3e3f5; font:800 28px Arial; }.employment-support-grid article>svg { width:49px; height:49px; padding:11px; border-radius:14px; color:var(--blue); background:#eaf3ff; }.consultation-examples,.outsourcing-note { margin-top:24px; padding:25px 28px; border:1px solid #dce6f3; border-radius:17px; display:grid; grid-template-columns:240px 1fr; gap:28px; background:#f5f8ff; }.consultation-examples strong,.outsourcing-note strong { color:var(--blue); line-height:1.6; }.consultation-examples ul { margin:0; columns:2; }.consultation-examples li { color:#4f5b66; font-size:11.5px; line-height:1.7; }.outsourcing-band { background:linear-gradient(135deg,#f2f7ff,#f5f1fb); }.outsourcing-grid a { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:var(--blue); font-size:10.5px; font-weight:800; }.partnership-flow article { border-top:3px solid var(--blue); border-radius:0 0 16px 16px; background:#f8fbff; }.partnership-flow article>span { color:var(--blue); font:800 9px Arial; }.partnership-flow article>svg:not(.partnership-arrow) { width:43px; margin:19px 0 0; color:var(--blue); }

.service-index-card { min-height:205px; padding:24px; border:1px solid #dfe5eb; border-radius:19px; display:flex; flex-direction:column; background:#fff; }.service-index-card>span { color:#9daaba; font:800 11px Arial; }.service-index-card>svg:first-of-type { width:48px; height:48px; margin:25px 0 17px; padding:11px; border-radius:14px; }.service-index-card h3 { margin:0; font-size:16px; }.service-index-card>svg:last-child { width:18px; margin:auto 0 0 auto; }.service-purple>svg { color:var(--purple); background:#f6eafa; }.service-pink>svg { color:var(--pink); background:#fff0f8; }.service-green>svg { color:var(--green); background:#eef8e5; }.service-blue>svg { color:var(--blue); background:#eaf3ff; }.service-detail { padding:84px 0; scroll-margin-top:80px; }.service-detail-purple { background:#fbf8fd; }.service-detail-pink { background:#fff9fc; }.service-detail-green { background:#f7fbf3; }.service-detail-blue { background:#f5f9ff; }.service-detail-layout,.news-story-layout { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; }.service-detail-layout.is-reverse .service-detail-visual,.news-story-layout.is-reverse>img { order:2; }.service-detail-visual { position:relative; }.service-detail-visual img,.news-story-layout>img { width:100%; height:410px; object-fit:cover; border-radius:25px 65px 25px 52px; }.service-detail-visual>span { width:74px; height:74px; border-radius:50%; display:grid; place-items:center; position:absolute; right:-18px; bottom:-22px; color:#fff; background:var(--ink); font:800 19px Arial; }.service-detail-label { display:flex; align-items:center; gap:9px; font:800 10px Arial; letter-spacing:.14em; }.service-detail-label svg { width:22px; }.service-detail-copy h2 { margin:14px 0 13px; font-size:38px; }.service-detail-copy h3 { margin:0 0 13px; font-size:18px; }.service-detail-copy>p { color:#56616a; font-size:13px; line-height:1.9; font-weight:600; }.service-example-grid { margin:23px 0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.service-example-grid span { padding:10px; border:1px solid #e0e5ea; border-radius:10px; display:flex; gap:8px; align-items:center; background:#fff; font-size:10.5px; font-weight:700; }.service-example-grid svg { width:15px; color:var(--green); }.service-detail-copy>a { display:inline-flex; gap:9px; align-items:center; color:var(--blue); font-size:11.5px; font-weight:800; }.service-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:21px; }.service-process-grid article { padding:28px; border:1px solid #dce5ee; border-radius:18px; }.service-process-grid span { color:#9abbe0; font:800 28px Arial; }.service-process-grid h3 { margin:21px 0 10px; }.service-process-grid p { color:#5a6570; font-size:12px; line-height:1.8; font-weight:600; }

.news-index-card { border:1px solid #e0e5e9; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 16px 38px rgba(45,63,75,.065); }.news-index-card>img { width:100%; height:220px; object-fit:cover; }.news-index-card>div { padding:24px; }.news-category { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; color:var(--blue); background:#eaf3ff; font-size:9.5px; font-weight:800; }.news-index-card time { margin:13px 0 8px; display:flex; gap:7px; color:#8a949d; font:700 9.5px Arial; }.news-index-card time svg { width:13px; }.news-index-card h2 { margin:0 0 10px; font-size:17px; line-height:1.6; }.news-index-card p { color:#5b6670; font-size:11.5px; line-height:1.8; font-weight:600; }.news-index-card b { display:flex; gap:8px; color:var(--blue); font-size:10px; }.news-story { padding:90px 0; scroll-margin-top:80px; }.news-story:nth-child(odd) { background:#f7fafb; }.news-story-meta { display:flex; gap:15px; }.news-story-meta span { display:flex; gap:7px; color:var(--blue); font-size:10px; font-weight:800; }.news-story-meta svg { width:16px; }.news-story-meta time { color:#8b949d; font:700 10px Arial; }.news-story-copy h2 { margin:17px 0 14px; font-size:32px; line-height:1.55; }.news-story-copy>strong { display:block; margin-bottom:19px; font-size:15px; line-height:1.75; }.news-story-copy>p { color:#59646e; font-size:13px; line-height:1.95; font-weight:600; }.news-story-copy>a { display:inline-flex; gap:9px; align-items:center; color:var(--blue); font-size:11px; font-weight:800; }

.about-origin { display:grid; grid-template-columns:360px 1fr; gap:85px; align-items:center; }.about-origin-mark { width:340px; height:240px; border-radius:38px 75px 38px 65px; display:flex; align-items:center; justify-content:center; gap:16px; background:linear-gradient(145deg,#f0e5fa,#e6f2ff 55%,#eaf7df); color:var(--purple); }.about-origin-mark span { font:800 69px Arial; }.about-origin-mark i { color:#759a51; font:400 30px Arial; }.about-origin-lead { font-size:21px!important; }.about-origin p { color:#56616a; font-size:13px; line-height:2; font-weight:600; }.vision-band { background:linear-gradient(135deg,#f5f0fb,#edf5ff 52%,#f2f8eb); }.vision-lead { max-width:820px; margin:-12px auto 38px; text-align:center; color:#52606a; font-size:14px; line-height:1.95; font-weight:600; }.vision-grid svg { width:49px; height:49px; padding:11px; border-radius:14px; color:var(--purple); background:#f3eaf9; }.vision-grid span { position:absolute; right:24px; top:24px; color:#d8cae4; font:800 27px Arial; }.representative-section { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:center; }.representative-copy h3 { color:#3e3150; font-size:23px; line-height:1.8; }.representative-copy>p { color:#55616a; font-size:13px; line-height:2; font-weight:600; }.representative-sign { margin-top:28px; padding-top:18px; border-top:1px solid #e2e6e9; display:flex; flex-direction:column; align-items:flex-end; }.representative-visual { height:480px; border-radius:38% 16% 34% 18%/27% 30% 36% 22%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(145deg,#55346f,#1e6891 62%,#55833a); }.representative-visual>span { font:800 13px Arial; letter-spacing:.25em; }.representative-visual>div { margin-top:60px; text-align:center; }.representative-visual svg { width:58px; }.representative-visual p { font:800 24px/1.6 Arial; }.profile-band { background:#f7f8fa; }.profile-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; }.company-timeline { padding:32px; border-radius:22px; background:#fff; }.company-timeline>h3 { color:var(--purple); font:800 11px Arial; }.company-timeline ol { padding:0; list-style:none; }.company-timeline li { min-height:115px; display:grid; grid-template-columns:72px 1fr; gap:15px; border-left:1px solid #ddd5e4; padding-left:18px; }.company-timeline time { color:var(--purple); font:800 10px Arial; }.company-timeline p { color:#626c75; font-size:11px; line-height:1.75; font-weight:600; }.about-access { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }.about-access p { display:flex; gap:9px; align-items:center; font-weight:700; }.about-access-map { background:linear-gradient(145deg,#5a3972,#206b90 60%,#5e8a48); border-radius:25px; }.about-access-map svg { width:42px; }.about-access-map span { margin:16px 0 7px; font:800 10px Arial; letter-spacing:.18em; }

.contact-form-section { padding:90px 0 100px; background:linear-gradient(135deg,#f2f7ff,#f1f8ec); }.contact-form-layout { display:grid; grid-template-columns:370px 1fr; gap:54px; align-items:start; }.contact-form-intro { position:sticky; top:105px; }.contact-category-grid article { display:flex; flex-direction:column; }.contact-category-grid article>svg { width:52px; height:52px; padding:12px; border-radius:15px; color:var(--blue); background:#eaf3ff; }.contact-category-grid h2 { margin:22px 0 10px; font-size:19px; }.contact-category-grid p { color:#5a6570; font-size:12px; line-height:1.85; font-weight:600; }.contact-category-grid a { margin-top:auto; display:flex; justify-content:space-between; color:var(--blue); font-size:10.5px; font-weight:800; }.contact-direct-card { padding:23px; border-radius:18px; display:grid; grid-template-columns:43px 1fr; gap:14px; color:#fff; background:linear-gradient(145deg,#0b6bd4,#0753a9); }.contact-direct-card>svg { width:43px; padding:9px; border-radius:13px; background:rgba(255,255,255,.15); }.contact-direct-card div { display:flex; flex-direction:column; }.contact-direct-card a { margin:6px 0; font:800 22px Arial; }.contact-direct-card small { display:flex; gap:6px; }.contact-notes { margin-top:18px; padding:21px; border:1px solid #d9e2e9; border-radius:16px; background:rgba(255,255,255,.72); }.contact-notes li { color:#5c6770; font-size:10.5px; line-height:1.65; }.contact-notes a { color:var(--blue); font-size:10px; font-weight:800; }
.inquiry-form { padding:36px; border:1px solid #dce5ec; border-radius:22px; background:#fff; box-shadow:0 18px 44px rgba(45,69,87,.08); }.inquiry-form b { color:#d8175f; }.inquiry-form label>span { display:block; margin-bottom:8px; font-size:12px; font-weight:800; }.inquiry-form input[type=text],.inquiry-form input[type=email],.inquiry-form input[type=tel],.inquiry-form select,.inquiry-form textarea { width:100%; min-height:50px; padding:0 14px; border:1px solid #d9e0e5; border-radius:10px; font:inherit; font-size:13px; }.inquiry-form textarea { min-height:160px; padding-block:13px; }.inquiry-form .visit-message { display:block; margin-top:22px; }.inquiry-form>button { width:100%; min-height:54px; border:0; border-radius:12px; display:flex; align-items:center; justify-content:center; gap:24px; color:#fff; background:linear-gradient(135deg,#0b6bd4,#004dad); font:inherit; font-size:13px; font-weight:800; }.inquiry-form>small { display:block; margin-top:10px; text-align:center; color:#778079; font-size:10px; }.form-wide { grid-column:1/-1; }.form-preview-notice { min-height:350px; padding:45px; border:1px solid #cbdde9; border-radius:22px; display:flex; align-items:center; justify-content:center; gap:20px; background:#fff; }.form-preview-notice>span { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--green); font-size:25px; }.form-preview-notice h3 { margin:0 0 8px; }.form-preview-notice p { color:#5b6670; font-size:12px; line-height:1.8; }.form-preview-notice button { padding:10px 15px; border:1px solid #b7c9d5; border-radius:8px; background:#fff; color:var(--blue); font-weight:800; }.visit-consent a { text-decoration:underline; }
.legal-hero { margin-top:28px; padding:72px 65px; border-radius:30px; background:linear-gradient(135deg,#f5f8fb,#eef5ff); }.legal-hero>span { color:var(--blue); font:800 11px Arial; }.legal-hero h1 { margin:14px 0; font-size:43px; }.legal-body { max-width:940px; padding-top:78px; padding-bottom:100px; }.legal-intro { padding:24px 26px; border-radius:14px; background:#f6f8fa; color:#4f5a63; font-size:13px; line-height:1.95; }.legal-body article { padding:30px 0; border-bottom:1px solid #e1e6e9; }.legal-body h2 { font-size:20px; }.legal-body article>p,.legal-body address { color:#55616a; font-size:13px; line-height:2; font-style:normal; font-weight:600; }.legal-body address { padding:20px; border-radius:12px; background:#f6f8fa; }.legal-date { text-align:right; color:#69737c; font-size:11px; }

.page-cta { min-height:225px; margin-top:28px; margin-bottom:70px; padding:42px 50px; border-radius:24px; display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; color:#fff; background:linear-gradient(135deg,#68ae1c,#3c7d00); }.page-cta-blue { background:linear-gradient(135deg,#0c69c8,#084787); }.page-cta>div:first-child>span { font:800 9px Arial; letter-spacing:.17em; }.page-cta h2 { margin:11px 0 8px; font-size:27px; }.page-cta p { margin:0; font-size:12px; line-height:1.8; }.page-cta-actions { display:flex; gap:10px; }.page-cta-actions a { min-height:49px; padding:0 18px; border-radius:10px; display:flex; align-items:center; gap:12px; background:#fff; font-size:11px; font-weight:800; }.page-cta-primary { color:#3f8000; }.page-cta-blue .page-cta-primary { color:var(--blue); }.page-cta-secondary { color:#fff; background:rgba(255,255,255,.12)!important; border:1px solid rgba(255,255,255,.48); }

@media(max-width:1100px){.subpage-hero{padding-inline:42px;gap:38px}.support-cycle,.employment-support-grid,.outsourcing-grid,.service-index-grid{grid-template-columns:repeat(2,1fr)}.cycle-arrow,.partnership-arrow{display:none}.split-heading-row,.business-section-intro{grid-template-columns:1fr 360px;gap:40px}.contact-form-layout{grid-template-columns:330px 1fr;gap:36px}}
@media(max-width:820px){.subpage-hero{min-height:auto;padding:42px 30px 32px;grid-template-columns:1fr;gap:34px}.subpage-hero-visual{height:350px}.subpage-hero-visual img{height:325px}.subpage-local-nav{min-height:auto;padding:17px 20px;justify-content:flex-start;overflow-x:auto}.subpage-section,.subpage-band,.next-step-section,.service-detail,.news-story{padding-top:68px;padding-bottom:72px}.principle-grid,.environment-grid,.vision-grid,.contact-category-grid,.news-index-grid{grid-template-columns:1fr}.split-heading-row,.next-step-layout,.office-info-layout,.office-visit-guide,.business-section-intro,.service-detail-layout,.news-story-layout,.about-origin,.representative-section,.profile-layout,.about-access,.contact-form-layout{grid-template-columns:1fr}.team-support-grid{grid-template-columns:1fr}.office-gallery{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:320px 210px}.office-gallery-main{grid-column:1/-1;grid-row:auto}.business-choice{grid-template-columns:1fr}.consultation-examples,.outsourcing-note{grid-template-columns:1fr}.partnership-flow{grid-template-columns:repeat(2,1fr)}.service-detail-layout.is-reverse .service-detail-visual,.news-story-layout.is-reverse>img{order:0}.about-origin-mark{width:100%}.representative-visual{height:350px}.contact-form-intro{position:static}.page-cta{grid-template-columns:1fr;gap:25px}}
@media(max-width:520px){.subpage-hero{width:calc(100% - 20px);margin-top:10px;padding:32px 20px 24px;border-radius:22px}.subpage-hero h1{font-size:34px}.subpage-hero-actions{flex-direction:column}.subpage-primary,.subpage-secondary{width:100%}.subpage-hero-visual{height:270px}.subpage-hero-visual img{height:250px}.subpage-local-nav{width:calc(100% - 20px)}.subpage-section-heading h2{font-size:28px}.support-cycle,.employment-support-grid,.outsourcing-grid,.service-index-grid,.partnership-flow{grid-template-columns:1fr}.office-gallery{grid-template-columns:1fr;grid-template-rows:260px 190px 190px}.office-gallery-main{grid-column:auto}.office-table>div,.company-profile-table>div{grid-template-columns:1fr;gap:6px}.business-choice>a{grid-template-columns:50px 1fr;padding:22px 18px}.business-choice>a>svg{display:none}.service-detail-visual img,.news-story-layout>img{height:270px}.service-detail-copy h2{font-size:30px}.service-example-grid{grid-template-columns:1fr}.news-story-copy h2{font-size:25px}.about-origin-mark{height:190px}.about-origin-mark span{font-size:52px}.representative-copy h3{font-size:19px}.representative-visual{height:300px}.inquiry-form{padding:27px 19px}.form-preview-notice{padding:28px 20px;flex-direction:column}.legal-hero{width:calc(100% - 20px);margin-top:10px;padding:45px 22px}.legal-hero h1{font-size:31px}.page-cta{width:calc(100% - 20px);margin-bottom:42px;padding:32px 22px;grid-template-columns:1fr}.page-cta-actions{flex-direction:column}.page-cta-actions a{width:100%}}

/* SOONESS support page */
.support-page .subpage-hero { background: linear-gradient(135deg, #fbfdf8 0%, #f0f8e7 48%, #edf6ff 100%); }
.support-page .subpage-hero-visual img { object-position: 62% center; }
.support-intro-section { padding-top: 105px; padding-bottom: 96px; display: grid; grid-template-columns: .94fr 1.06fr; gap: 76px; align-items: center; }
.support-intro-copy > p { margin: 0 0 16px; color: #536058; font-size: 13.5px; line-height: 1.95; font-weight: 600; }
.support-intro-lead { color: #25332a !important; font-size: 16px !important; line-height: 1.9 !important; }
.official-reference { margin-top: 9px; display: inline-flex; align-items: center; gap: 8px; color: #4b850c; font-size: 10.5px; font-weight: 800; }
.official-reference svg { width: 15px; height: 15px; }
.support-dual-model { min-height: 405px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; position: relative; }
.support-dual-model article { padding: 34px 28px 30px; border-radius: 24px; display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden; }
.support-dual-model article::after { content: ""; width: 155px; height: 155px; position: absolute; right: -62px; top: -62px; border-radius: 50%; background: currentColor; opacity: .075; }
.support-model-work { color: #075dc7; background: linear-gradient(145deg, #f2f7ff, #e4f0ff); border: 1px solid #c7dcf4; }
.support-model-care { color: #4d9305; background: linear-gradient(145deg, #f5faee, #e8f5da); border: 1px solid #cfe4b8; }
.support-dual-model article > span { width: 58px; height: 58px; border-radius: 17px; display: grid; place-items: center; color: #fff; background: currentColor; }
.support-dual-model article > span svg { width: 29px; height: 29px; }
.support-dual-model article > small { margin-top: 38px; font: 800 9px Arial, sans-serif; letter-spacing: .13em; }
.support-dual-model h3 { margin: 8px 0 11px; color: #18252d; font-size: 27px; }
.support-dual-model p { margin: 0; color: #526069; font-size: 12px; line-height: 1.85; font-weight: 600; }
.support-model-connector { width: 76px; height: 76px; padding-top: 5px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); color: #fff; background: linear-gradient(145deg, #6daf20, #357b02); border: 6px solid #fff; box-shadow: 0 13px 30px rgba(55, 102, 27, .22); }
.support-model-connector span { font: 700 19px/1 Arial; }.support-model-connector b { margin-top: 4px; font: 800 7px Arial; letter-spacing: .08em; }
.support-fact-band { padding: 34px 0; color: #fff; background: linear-gradient(120deg, #417f09, #599d16 52%, #347b58); }
.support-fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.support-fact-grid article { min-height: 95px; padding: 10px 30px; border-right: 1px solid rgba(255,255,255,.24); display: grid; grid-template-columns: 48px 1fr; gap: 17px; align-items: center; }
.support-fact-grid article:last-child { border-right: 0; }
.support-fact-grid article > span { color: rgba(255,255,255,.48); font: 800 27px Arial; }
.support-fact-grid h3 { margin: 0 0 6px; font-size: 14px; }.support-fact-grid p { margin: 0; font-size: 10.5px; line-height: 1.7; opacity: .85; font-weight: 600; }
.support-menu-band { padding: 94px 0 100px; background: linear-gradient(145deg, #f7faf3, #eef6e8 48%, #eef6ff); }
.support-menu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.support-menu-grid article { min-height: 242px; padding: 25px 25px 26px; border: 1px solid #dce7d5; border-radius: 19px; background: rgba(255,255,255,.93); box-shadow: 0 15px 34px rgba(49, 75, 49, .055); }
.support-menu-top { display: flex; align-items: center; justify-content: space-between; }
.support-menu-top > span { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: var(--green); background: #ecf7e1; }
.support-menu-top svg { width: 24px; height: 24px; }.support-menu-top small { color: #9ba79d; font: 800 8.5px Arial; letter-spacing: .12em; }
.support-menu-grid h3 { margin: 24px 0 10px; font-size: 17px; }.support-menu-grid p { margin: 0; color: #59655d; font-size: 12px; line-height: 1.85; font-weight: 600; }
.support-message-panel { margin-top: 25px; padding: 31px 35px; border-radius: 20px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: center; color: #fff; background: radial-gradient(circle at 8% 10%, rgba(255,255,255,.13), transparent 28%), linear-gradient(135deg, #17649b, #236d79 54%, #4e8b33); }
.support-message-panel span { font: 800 9px Arial; letter-spacing: .16em; opacity: .75; }.support-message-panel h3 { margin: 10px 0 0; font-size: 20px; line-height: 1.65; }.support-message-panel p { margin: 0; font-size: 12px; line-height: 1.9; font-weight: 600; opacity: .9; }
.support-timing { margin-top: 26px; padding: 27px; border: 1px solid #d4e2cf; border-radius: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #dbe6d7; }
.support-timing article { min-height: 155px; padding: 22px; background: #fff; }
.support-timing article:first-child { border-radius: 13px 0 0 13px; }.support-timing article:last-child { border-radius: 0 13px 13px 0; }
.support-timing article > span { display: inline-flex; min-height: 25px; padding: 0 10px; border-radius: 999px; align-items: center; color: #4e870e; background: #edf7e2; font-size: 9.5px; font-weight: 800; }
.support-timing h3 { margin: 16px 0 7px; font-size: 14px; }.support-timing p { margin: 0; color: #616c65; font-size: 10.5px; line-height: 1.75; font-weight: 600; }
.support-network { margin-top: 25px; padding: 28px 31px; border: 1px solid #dbe7d5; border-radius: 20px; display: grid; grid-template-columns: 190px 1fr; gap: 22px 40px; align-items: center; background: linear-gradient(135deg, #f9fcf6, #f3f8ed); }
.support-network-center { min-height: 92px; padding: 17px; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; color: #fff; background: linear-gradient(145deg, #69ad1f, #3f8206); text-align: center; }
.support-network-center svg { width: 27px; height: 27px; }.support-network-center strong { font-size: 11px; }
.support-network-partners { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.support-network-partners span { min-height: 48px; padding: 0 8px; border: 1px solid #d6e3d0; border-radius: 11px; display: grid; place-items: center; background: #fff; color: #536058; font-size: 10px; font-weight: 800; text-align: center; }
.support-network > p { grid-column: 2; margin: -8px 0 0; color: #677169; font-size: 10.5px; line-height: 1.7; }

@media (max-width: 1080px) {
  .support-intro-section { gap: 42px; }
  .support-menu-grid { grid-template-columns: repeat(2, 1fr); }
  .support-timing { grid-template-columns: repeat(2, 1fr); }
  .support-timing article:first-child, .support-timing article:last-child { border-radius: 0; }
  .support-network-partners { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .support-intro-section { padding-top: 72px; padding-bottom: 72px; grid-template-columns: 1fr; }
  .support-dual-model { min-height: 360px; }
  .support-fact-grid { grid-template-columns: 1fr; }
  .support-fact-grid article { min-height: 82px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  .support-fact-grid article:last-child { border-bottom: 0; }
  .support-menu-band { padding-top: 70px; padding-bottom: 74px; }
  .support-message-panel { grid-template-columns: 1fr; gap: 17px; }
  .support-network { grid-template-columns: 1fr; }
  .support-network-center { min-height: 82px; }
  .support-network > p { grid-column: 1; margin-top: 0; }
}

@media (max-width: 520px) {
  .support-intro-section { width: calc(100% - 32px); gap: 30px; }
  .support-intro-lead { font-size: 14px !important; }
  .support-dual-model { min-height: auto; grid-template-columns: 1fr; }
  .support-dual-model article { min-height: 250px; padding: 28px 23px; }
  .support-dual-model article > small { margin-top: 24px; }
  .support-model-connector { width: 62px; height: 62px; left: 50%; top: 50%; border-width: 5px; }
  .support-model-connector span { font-size: 16px; }.support-model-connector b { font-size: 6px; }
  .support-fact-grid article { padding-inline: 12px; }
  .support-menu-grid { grid-template-columns: 1fr; }
  .support-menu-grid article { min-height: auto; }
  .support-message-panel { padding: 26px 22px; }
  .support-message-panel h3 { font-size: 18px; }
  .support-timing { padding: 12px; grid-template-columns: 1fr; }
  .support-timing article { min-height: auto; }
  .support-network { padding: 21px; }
  .support-network-partners { grid-template-columns: repeat(2, 1fr); }
}

/* Search-ready entity summary */
.entity-summary { margin-top: 34px; margin-bottom: 26px; padding: 48px 52px; border: 1px solid #dfe8dd; border-radius: 28px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; background: linear-gradient(135deg, #fbfdf9, #f2f8eb 52%, #eef6ff); box-shadow: 0 18px 48px rgba(45, 75, 51, .065); }
.entity-summary-copy > span { color: var(--green); font: 800 10px/1.2 Arial, sans-serif; letter-spacing: .18em; }
.entity-summary-copy h2 { margin: 12px 0 16px; font-size: clamp(27px, 3vw, 39px); line-height: 1.45; }
.entity-summary-copy > p { margin: 0; color: #4e5d54; font-size: 13px; line-height: 2; font-weight: 600; }
.entity-summary-links { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.entity-summary-links a { min-height: 44px; padding: 0 15px; border: 1px solid #c9ddbb; border-radius: 10px; display: inline-flex; align-items: center; gap: 15px; color: #4c810f; background: rgba(255,255,255,.82); font-size: 10.5px; font-weight: 800; }
.entity-facts { margin: 0; border-top: 1px solid #d5dfd3; }
.entity-facts > div { min-height: 62px; padding: 13px 4px; border-bottom: 1px solid #d5dfd3; display: grid; grid-template-columns: 125px 1fr; gap: 20px; align-items: center; }
.entity-facts dt { color: #61705f; font-size: 10.5px; font-weight: 800; }
.entity-facts dd { margin: 0; color: #243129; font-size: 11.5px; line-height: 1.7; font-weight: 700; }
.people-note a { color: #477f0c; text-decoration: underline; text-underline-offset: 3px; }

/* Dedicated news articles */
.news-article-page { background: linear-gradient(180deg, #fff 0, #fbfcfa 100%); }
.news-article-hero { margin-top: 28px; padding: 62px 72px 0; border: 1px solid #e0e8dd; border-radius: 32px; background: linear-gradient(135deg, #fbfdf8, #f1f8ea 50%, #eef6ff); overflow: hidden; }
.news-article-press .news-article-hero { background: linear-gradient(135deg, #f7fbff, #edf5ff 52%, #f6f1fb); }
.news-article-report .news-article-hero { background: linear-gradient(135deg, #fbfdf8, #eef8e6 55%, #fff6f9); }
.news-article-hero .breadcrumb { margin-bottom: 34px; }
.news-article-hero .breadcrumb span[aria-current="page"] { max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-article-meta { display: flex; align-items: center; gap: 15px; }
.news-article-meta > span { min-height: 28px; padding: 0 11px; border-radius: 999px; display: inline-flex; align-items: center; color: #fff; background: var(--pink); font-size: 9.5px; font-weight: 800; }
.news-article-report .news-article-meta > span { background: var(--green); }
.news-article-press .news-article-meta > span { background: var(--blue); }
.news-article-meta time { display: inline-flex; align-items: center; gap: 7px; color: #6d7770; font: 700 10.5px Arial, sans-serif; }
.news-article-meta time svg { width: 15px; }
.news-article-hero h1 { max-width: 900px; margin: 22px 0 15px; font-size: clamp(34px, 4.4vw, 56px); line-height: 1.5; letter-spacing: .025em; }
.news-article-hero > p { max-width: 770px; margin: 0 0 36px; color: #4e5b53; font-size: 15px; line-height: 1.95; font-weight: 600; }
.news-article-hero > img { width: 100%; height: 470px; display: block; object-fit: cover; border-radius: 24px 24px 0 0; }
.news-article-layout { padding-top: 82px; padding-bottom: 86px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 80px; align-items: start; }
.news-article-body { max-width: 760px; }
.news-article-body section { padding: 0 0 48px; margin-bottom: 48px; border-bottom: 1px solid #e0e6e1; }
.news-article-body section:last-child { margin-bottom: 0; }
.news-article-body h2 { margin: 0 0 22px; padding-left: 20px; border-left: 4px solid var(--green); font-size: clamp(24px, 2.6vw, 32px); line-height: 1.65; }
.news-article-press .news-article-body h2 { border-left-color: var(--blue); }
.news-article-body p { margin: 0 0 17px; color: #4f5b54; font-size: 14px; line-height: 2.1; font-weight: 600; }
.news-article-body ul { margin: 26px 0 0; padding: 22px 24px; border: 1px solid #dce6d8; border-radius: 17px; display: grid; gap: 12px; list-style: none; background: #f7faf5; }
.news-article-body li { display: flex; gap: 10px; align-items: flex-start; color: #3f4c43; font-size: 12px; line-height: 1.7; font-weight: 700; }
.news-article-body li svg { width: 19px; flex: none; color: var(--green); }
.news-article-press .news-article-body li svg { color: var(--blue); }
.news-article-aside { padding: 28px; border: 1px solid #dce6da; border-radius: 20px; position: sticky; top: 98px; background: #fff; box-shadow: 0 16px 40px rgba(43, 67, 49, .075); }
.news-article-aside > span { color: var(--green); font: 800 8.5px Arial, sans-serif; letter-spacing: .15em; }
.news-article-press .news-article-aside > span { color: var(--blue); }
.news-article-aside h2 { margin: 12px 0 10px; font-size: 21px; }
.news-article-aside p { margin: 0; color: #5b6760; font-size: 11.5px; line-height: 1.85; font-weight: 600; }
.news-article-aside > a:not(.news-back-link) { min-height: 48px; margin-top: 22px; padding: 0 15px; border-radius: 11px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(135deg, #68ac1c, #3e8203); font-size: 10.5px; font-weight: 800; }
.news-article-press .news-article-aside > a:not(.news-back-link) { background: linear-gradient(135deg, #0b6bd4, #004dad); }
.news-article-aside a svg { width: 17px; }
.news-back-link { margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; color: #66716a; font-size: 10px; font-weight: 800; }

@media (max-width: 820px) {
  .entity-summary { padding: 38px 32px; grid-template-columns: 1fr; gap: 38px; }
  .news-article-hero { padding: 42px 30px 0; }
  .news-article-hero > img { height: 350px; }
  .news-article-layout { padding-top: 64px; grid-template-columns: 1fr; gap: 44px; }
  .news-article-body { max-width: none; }
  .news-article-aside { position: static; }
}

@media (max-width: 520px) {
  .entity-summary { width: calc(100% - 20px); padding: 31px 21px; border-radius: 22px; }
  .entity-facts > div { grid-template-columns: 1fr; gap: 5px; }
  .entity-summary-links { flex-direction: column; }
  .entity-summary-links a { width: 100%; justify-content: space-between; }
  .news-article-hero { width: calc(100% - 20px); margin-top: 10px; padding: 30px 20px 0; border-radius: 22px; }
  .news-article-hero .breadcrumb { margin-bottom: 26px; }
  .news-article-hero h1 { font-size: 31px; }
  .news-article-hero > p { font-size: 13px; }
  .news-article-hero > img { height: 260px; border-radius: 17px 17px 0 0; }
  .news-article-layout { padding-top: 52px; padding-bottom: 64px; }
  .news-article-body section { padding-bottom: 35px; margin-bottom: 35px; }
  .news-article-body h2 { font-size: 23px; }
  .news-article-body p { font-size: 13px; }
}
