/* Friendly first-visit guidance; retain the existing hero and readable typography. */
#about.welcome{display:block;max-width:1280px;padding-top:90px;padding-bottom:72px}
.welcome-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
#about.welcome h2{font-size:44px;line-height:1.75;letter-spacing:.035em}
.welcome h2>span{display:block}
.welcome-copy{font-size:21px;line-height:2;color:var(--body);padding-top:6px}
.welcome-copy p{margin-bottom:22px}
.welcome-copy .welcome-first{font-size:25px;line-height:1.9;color:var(--ink);font-weight:600}
.welcome-promises{list-style:none;display:flex;flex-wrap:wrap;gap:18px 34px;margin:42px 0 22px;padding:26px 0;border-block:1px solid var(--line)}
.welcome-promises li{font-size:21px;line-height:1.8;font-weight:600;display:flex;gap:12px;align-items:baseline}
.welcome-promises li>span{color:#7c956b;font-size:24px}
.welcome-reassurance{font-size:18px;color:var(--body);line-height:1.95;margin:0}
.visit-flow{background:#edf0e5;border-block:1px solid #e0e6d7}
.visit-flow>.section{max-width:1280px;padding-top:72px;padding-bottom:72px}
.flow-heading .eyebrow{font-size:16.5px;margin-bottom:18px}
.flow-heading h2{font-size:44px;line-height:1.65;letter-spacing:.04em}
.flow-heading h2>span{display:inline-block}
.flow-heading>p:last-child{font-size:21px;line-height:1.9;color:var(--body);margin:20px 0 0}
.visit-steps{list-style:none;padding:0;margin:38px 0 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.visit-steps>li{position:relative;min-width:0}
.visit-steps>li:not(:last-child):after{content:'→';position:absolute;right:-31px;top:110px;color:#829476;font-size:26px}
.step-art{position:relative;width:100%;max-width:330px;margin:0 auto 18px}
.step-art svg{display:block;width:100%;height:auto}
.step-number{position:absolute;left:0;top:8px;font-family:Georgia,serif;font-size:26px;line-height:1.4;color:#728564}
.visit-steps h3{font-size:25px;line-height:1.65;letter-spacing:.01em;margin-bottom:15px}
.visit-steps p{font-size:19.5px;line-height:1.95;color:var(--body);margin-bottom:16px}
.visit-steps .step-words{font-weight:600;color:var(--ink);border-left:3px solid #abbc96;padding-left:15px;margin-bottom:14px}
.flow-map{font-size:18px;font-weight:600;border-bottom:1px solid #8b9c7e;padding-bottom:5px;display:inline-flex;gap:20px}
.flow-map:hover{text-decoration:underline;text-underline-offset:4px}
.flow-after{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding-top:28px;border-top:1px solid #ccd7c2}
.flow-after p{margin:0;font-size:19.5px;line-height:1.95}
.flow-after strong{font-size:23px;font-weight:600}
.flow-after .line-note{font-size:18px;color:var(--body);padding-left:28px;border-left:1px solid #ccd7c2}
.line-note a{display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:100%;min-height:52px;padding:12px 18px;font-size:18px;line-height:1.8;font-weight:600;color:white;background:var(--ink);border-radius:6px;margin:9px 0}
.line-note a:hover{background:#3d6653;text-decoration:underline;text-underline-offset:4px}
.photo-slide img.photo-closeup-two{transform:scale(1.22);transform-origin:54% 48%}
.photo-slide img.photo-closeup-three{transform:scale(1.35);transform-origin:68% 45%}
@media(max-width:1100px){.welcome-intro{grid-template-columns:1fr;gap:28px}.welcome-copy{max-width:850px;padding:0}.welcome-promises{gap:16px 28px;margin-top:30px}.visit-steps{gap:28px}.visit-steps h3{font-size:23px}.visit-steps>li:not(:last-child):after{right:-24px}}
@media(max-width:800px){.visit-steps{grid-template-columns:1fr;gap:48px}.visit-steps>li{max-width:560px;width:100%;margin:auto}.step-art{max-width:300px;margin-bottom:14px}.visit-steps>li:not(:last-child):after{content:'↓';right:calc(50% - 9px);top:auto;bottom:-38px;font-size:24px}.visit-steps h3{font-size:27px}.flow-after{grid-template-columns:1fr;gap:22px}.flow-after .line-note{border-left:0;padding:20px 0 0;border-top:1px solid #ccd7c2}}
@media(max-width:700px){#about.welcome{padding:62px 26px 50px}#about.welcome h2{font-size:clamp(27px,7.7vw,40.5px);line-height:1.8;letter-spacing:.015em}.welcome-intro{gap:24px}.welcome-copy,.flow-heading>p:last-child{font-size:19.5px;line-height:1.95}.welcome-copy .welcome-first{font-size:21px}.welcome-promises{display:block;margin:26px 0 20px;padding:18px 0}.welcome-promises li{font-size:19.5px;gap:10px;margin-bottom:12px}.welcome-promises li:last-child{margin-bottom:0}.welcome-reassurance{font-size:18px}.visit-flow>.section{padding:52px 26px}.flow-heading .eyebrow{font-size:15px}.flow-heading h2{font-size:34.5px;line-height:1.7}.visit-steps{margin:28px 0 36px}.visit-steps h3{font-size:25.5px}.visit-steps p{font-size:19.5px}.flow-after p{font-size:19.5px}.flow-after strong{font-size:21px}.flow-after .line-note{font-size:18px}}

/* Wrap only after the quoted place name; keep each phrase together. */
.visit-steps .step-words>span{display:inline-block;white-space:nowrap}

/* Keep the LINE message keyword intact so visitors can copy it accurately. */
.line-note .line-keyword{display:inline-block;white-space:nowrap;color:var(--ink);font-size:inherit;line-height:inherit}
