.hww-main { background:#fff; overflow:hidden; max-width:100%; }
.hww-container { width:min(calc(100% - 64px), 1216px); margin-inline:auto; }
.hww-kicker { display:inline-flex; align-items:center; gap:8px; color:#248E41; font-size:10px; line-height:1; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.hww-kicker::before { content:""; width:18px; height:2px; border-radius:999px; background:currentColor; }
.hww-line { width:50px; height:3px; margin-top:14px; background:#248E41; border-radius:999px; }
.hww-line--center { margin-inline:auto; }
.hww-title,
.hww-section h2,
.hww-step-card h3,
.hww-different-card h3 { color:#171c23; }
.hww-title { margin:0; max-width:960px; font-size:clamp(42px,4.8vw,60px); line-height:1.02; letter-spacing:-.05em; font-weight:700; overflow-wrap:break-word; }
.hww-subtitle { margin:14px 0 10px !important; color:#202a3c !important; font-size:23px !important; line-height:1.2 !important; font-weight:600 !important; letter-spacing:-.03em; }
.hww-section { position:relative; padding:72px 0; border-top:1px solid #edf1f3; background:#fff; }
.hww-heading-block { max-width:760px; }
.hww-heading-block h2,
.hww-heading-center h2,
.hww-different-panel h2,
.hww-applies-copy h2 { margin:0; font-size:clamp(31px,3vw,40px); line-height:1.1; letter-spacing:-.04em; font-weight:700; overflow-wrap:break-word; }
.hww-heading-block p,
.hww-heading-center p,
.hww-different-panel p,
.hww-applies-copy p { color:#68778b; font-size: 15px; line-height:1.75; }
.hww-heading-center { max-width:780px; margin:0 auto 34px; text-align:center; }
.hww-heading-center .hww-kicker { justify-content:center; }
.hww-button { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:8px; border:1px solid transparent; text-decoration:none; font-size:13px; line-height:1; font-weight:600; transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease; }
.hww-button:hover,
.hww-button:focus-visible { transform:translateY(-1px); outline:none; }
.hww-button--primary { color:#fff; background:#248E41; box-shadow:0 14px 24px rgba(36,147,65,.18); }
.hww-button--primary:hover,
.hww-button--primary:focus-visible { background:#248E41; }
.hww-button--secondary { color:#248E41; background:#fff; border-color:#cae8d3; }
.hww-button--secondary:hover,
.hww-button--secondary:focus-visible { background:#f5fbf7; }

.hww-hero { padding:44px 0 28px; }
.hww-hero-grid { display:grid; grid-template-columns:.96fr 1.04fr; gap:48px; align-items:center; }
.hww-hero-grid--wide { display:block; max-width:1040px; }
.hww-hero-grid--wide .hww-hero-copy { max-width:980px; }
.hww-hero-copy > .hww-kicker { min-height:28px; padding:0 10px; background:#f1fbf4; border:1px solid #d8edde; border-radius:999px; }
.hww-hero-copy > .hww-kicker::before { width:5px; height:5px; border-radius:50%; }
.hww-hero-copy > p:not(.hww-subtitle) { max-width:900px; margin:10px 0 0; color:#617085; font-size:15px; line-height:1.74; }
.hww-hero-copy > p:last-of-type { margin-bottom:10px; }
.hww-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hww-hero-image img,
.hww-process-visual img,
.hww-applies-visual img { width:100%; height:auto; display:block; border:1px solid #e5ece8; border-radius:18px; box-shadow:0 18px 36px rgba(17,32,24,.10); }
.hww-hero-image img { animation:hwwFloat 7s ease-in-out 1s infinite alternate; }
@keyframes hwwFloat { to { transform:translateY(-6px); } }

.hww-section--intro { padding-top:36px; padding-bottom:42px; }
.hww-top-section + .hww-section--intro { border-top:0; }
.hww-section--process,
.hww-section--applies { background:#f8fafb; }
.hww-process-visual { max-width:1120px; margin:0 auto 34px; }
.hww-section--process { padding-top:0; padding-bottom:64px; border-top:0; }
.hww-process-layout { display:grid; grid-template-columns:290px minmax(0,1fr); gap:28px; align-items:start; min-width:0; }
.hww-step-nav { position:sticky; top:110px; display:grid; gap:10px; padding:16px; background:#fff; border:1px solid #e3ece6; border-radius:18px; box-shadow:0 16px 32px rgba(15,38,28,.05); }
.hww-step-nav a { min-width:0; min-height:52px; display:flex; align-items:center; gap:12px; padding:10px 12px; color:#1b2430; background:#f7faf8; border:1px solid #edf3ef; border-radius:12px; text-decoration:none; font-size: 15px; line-height:1.2; font-weight:700; overflow-wrap:anywhere; transition:background-color .22s ease, color .22s ease, transform .22s ease, border-color .22s ease; }
.hww-step-nav a:hover,
.hww-step-nav a:focus-visible { color:#fff; background:#248E41; border-color:#248E41; transform:translateX(3px); outline:none; }
.hww-step-nav span { display:inline-grid; place-items:center; flex:0 0 34px; width:34px; height:34px; color:#248E41; background:#fff; border:1px solid #d9ecdf; border-radius:50%; font-size:11px; line-height:1; font-weight:800; }
.hww-step-detail-list { display:grid; gap:18px; min-width:0; }
.hww-step-detail { scroll-margin-top:112px; padding:26px; background:#fff; border:1px solid #e3ece6; border-radius:18px; box-shadow:0 16px 32px rgba(15,38,28,.05); }
.hww-step-topline { display:flex; align-items:center; gap:14px; margin-bottom:14px; }
.hww-step-topline span { display:inline-grid; place-items:center; flex:0 0 46px; width:46px; height:46px; color:#fff; background:#248E41; border-radius:14px; font-size:13px; line-height:1; font-weight:800; box-shadow:0 12px 24px rgba(36,142,65,.18); }
.hww-step-detail h3 { margin:0; color:#171c23; font-size:clamp(22px,2.2vw,30px); line-height:1.08; letter-spacing:-.035em; font-weight:700; overflow-wrap:break-word; }
.hww-step-detail h4 { margin:0 0 14px; color:#202a3c; font-size:19px; line-height:1.3; letter-spacing:-.02em; font-weight:700; overflow-wrap:break-word; }
.hww-step-detail p { margin:0 0 10px; color:#66758a; font-size: 15px; line-height:1.72; }
.hww-step-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.72fr); gap:18px; margin-top:20px; align-items:stretch; min-width:0; }
.hww-step-body h5 { margin:0 0 12px; color:#171c23; font-size:13px; line-height:1; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hww-step-body ul { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.hww-step-body li { position:relative; padding-left:24px; color:#243044; font-size: 15px; line-height:1.45; font-weight:600; }
.hww-step-body li::before { content:""; position:absolute; left:0; top:.52em; width:9px; height:9px; border-radius:50%; background:#248E41; box-shadow:0 0 0 5px rgba(36,142,65,.11); }
.hww-outcome { min-height:100%; margin:0 !important; padding:18px; display:flex; flex-direction:column; justify-content:center; color:#173220 !important; background:#eff9f2; border:1px solid #d7eedf; border-radius:14px; font-size: 15px !important; line-height:1.64 !important; }
.hww-outcome strong { color:#248E41; }
.hww-process-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.hww-step-card { min-height:170px; padding:18px 16px 16px; background:#fff; border:1px solid #e7edef; border-radius:13px; box-shadow:0 10px 20px rgba(15,38,28,.03); }
.hww-step-card span { display:inline-grid; place-items:center; width:34px; height:34px; margin-bottom:14px; color:#248E41; background:#ecf9f0; border-radius:9px; font-size:11px; line-height:1; font-weight:700; }
.hww-step-card h3 { margin:0 0 8px; font-size:16px; line-height:1.3; font-weight:700; }
.hww-step-card p { margin:0; color:#6f7d90; font-size:13px; line-height:1.58; }

.hww-different-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:28px; align-items:start; }
.hww-different-panel { min-height:100%; padding:30px 28px; border-radius:18px; background:linear-gradient(135deg,#101825 0%, #162233 100%); box-shadow:0 18px 32px rgba(15,24,37,.12); }
.hww-different-panel .hww-kicker { color:#68d38e; }
.hww-different-panel .hww-line { background:#248E41; }
.hww-different-panel h2 { color:#fff; margin-top:8px; }
.hww-different-panel p { margin:16px 0 0; color:rgba(255,255,255,.72); font-size: 15px; line-height:1.74; }
.hww-different-cards { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hww-different-card { min-height:122px; padding:18px 16px; background:#fff; border:1px solid #e6edef; border-radius:14px; }
.hww-different-card h3 { margin:0 0 8px; font-size:16px; line-height:1.3; font-weight:700; }
.hww-different-card p { margin:0; color:#6d7a8d; font-size:13px; line-height:1.58; }

.hww-section--journey { background:#fff; }
.hww-journey-track { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-top:32px; }
.hww-journey-track::before { content:""; position:absolute; left:7%; right:7%; top:31px; height:2px; background:linear-gradient(90deg, rgba(36,142,65,.10), rgba(36,142,65,.95), rgba(36,142,65,.10)); }
.hww-journey-track div { position:relative; min-height:126px; padding:16px 14px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:14px; text-align:center; background:#fff; border:1px solid #e3ece6; border-radius:16px; box-shadow:0 12px 24px rgba(15,38,28,.05); }
.hww-journey-track span { display:inline-grid; place-items:center; width:34px; height:34px; color:#fff; background:#248E41; border-radius:50%; font-size:11px; line-height:1; font-weight:800; box-shadow:0 0 0 8px #fff, 0 10px 20px rgba(36,142,65,.18); }
.hww-journey-track strong { color:#182130; font-size: 15px; line-height:1.35; }
.hww-result { max-width:860px; margin:30px auto 0; padding:28px 30px; text-align:center; color:#fff; background:#248E41; border-radius:18px; box-shadow:0 18px 34px rgba(36,142,65,.20); }
.hww-result span { display:block; margin-bottom:8px; color:rgba(255,255,255,.78); font-size:11px; line-height:1; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hww-result p { margin:0; color:#fff; font-size:clamp(22px,2.5vw,32px); line-height:1.18; letter-spacing:-.035em; font-weight:700; }
#journeyTitle { color:#171c23 !important; }
.hww-main .consulting-panel-head h2 { color:#fff !important; }
.hww-main .consulting-panel-tagline { color:rgba(255,255,255,.86) !important; }

.hww-applies-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:34px; align-items:center; }
.hww-applies-copy--wide { max-width:100%; }
.hww-applies-list { list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.hww-applies-list li { position:relative; min-height:64px; padding:16px 16px 16px 44px; background:#fff; border:1px solid #e6edef; border-radius:14px; color:#1f2a39; font-size: 15px; line-height:1.45; font-weight:600; box-shadow:0 10px 20px rgba(15,38,28,.03); }
.hww-applies-list a { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.hww-applies-list a:hover,
.hww-applies-list a:focus-visible { color:#248E41; outline:none; }
.hww-applies-list li::before { content:""; position:absolute; left:16px; top:18px; width:16px; height:16px; border-radius:50%; background:radial-gradient(circle at center, #248E41 0 46%, rgba(36,147,65,.18) 48% 100%); }
.hww-applies-visual img { animation:hwwPulse 8s ease-in-out 1s infinite alternate; }
@keyframes hwwPulse { to { transform:translateY(-4px) scale(1.01); } }

.hww-reveal { opacity:0; transform:translateY(24px); transition:opacity .72s cubic-bezier(.22,.61,.36,1), transform .72s cubic-bezier(.22,.61,.36,1); }
.hww-reveal--left { transform:translateX(-24px); }
.hww-reveal--right { transform:translateX(24px); }
.hww-reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
[data-hww-delay="1"] { transition-delay:.08s; }
[data-hww-delay="2"] { transition-delay:.16s; }
[data-hww-delay="3"] { transition-delay:.24s; }

@media (max-width:1100px) {
  .hww-hero-grid,
  .hww-different-grid,
  .hww-applies-grid { grid-template-columns:1fr; }
  .hww-process-layout { grid-template-columns:1fr; }
  .hww-step-nav { position:relative; top:auto; grid-template-columns:repeat(3,1fr); }
  .hww-process-grid { grid-template-columns:repeat(3,1fr); }
  .hww-journey-track { grid-template-columns:repeat(3,1fr); }
  .hww-journey-track::before { display:none; }
}
@media (max-width:860px) {
  .hww-container { width:min(calc(100% - 40px), 1216px); }
  .hww-different-cards,
  .hww-applies-list { grid-template-columns:1fr; }
  .hww-step-body { grid-template-columns:1fr; }
  .hww-step-nav { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .hww-container { width:calc(100% - 30px); }
  .hww-section { padding:56px 0; }
  .hww-section--process { padding-top:0; }
  .hww-hero { padding:38px 0 32px; }
  .hww-title { font-size:clamp(36px,11vw,46px); letter-spacing:-.04em; }
  .hww-subtitle { font-size:20px !important; }
  .hww-hero-actions { flex-direction:column; }
  .hww-button { width:100%; }
  .hww-step-nav { grid-template-columns:1fr; padding:12px; }
  .hww-step-detail { padding:20px; }
  .hww-step-topline { align-items:flex-start; }
  .hww-step-topline span { flex-basis:42px; width:42px; height:42px; }
  .hww-process-grid { grid-template-columns:1fr; }
  .hww-journey-track { grid-template-columns:1fr; }
  .hww-result { padding:24px 18px; text-align:left; }
}
@media (prefers-reduced-motion: reduce) {
  .hww-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
  .hww-hero-image img,
  .hww-applies-visual img { animation:none !important; }
}
