/* Company introduction: a welcoming letter, values and practical next steps. */
.about-hero { position:relative; isolation:isolate; display:flex; align-items:center; width:min(1440px,94%); aspect-ratio:2/1; min-height:430px; margin:16px auto 40px; overflow:hidden; border-radius:22px; background:#efe6d6; color:#39483b; }
.about-hero__visual { position:absolute; inset:0; z-index:-2; display:block; }
#main .about-hero__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; border-radius:0; }
.about-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(247,241,229,.66),rgba(247,241,229,.32) 35%,transparent 56%); pointer-events:none; }
.about-hero__copy { width:48%; padding:48px 0 48px 6%; }
.about-hero__eyebrow { margin:0 0 28px; color:#635d4a; font-size:9px; font-weight:500; letter-spacing:.22em; line-height:1.8; }
.about-hero h1 { margin:0 0 18px; color:#52604e; font-family:var(--sans); font-size:13px; font-weight:500; letter-spacing:.1em; }
.about-hero__message { margin:0; font-family:"Brand Story Batang",var(--serif); font-size:clamp(30px,3.1vw,47px); font-weight:400; letter-spacing:-.06em; line-height:1.65; word-break:keep-all; }
.about-hero__rule { display:block; width:36px; height:1px; margin:26px 0 22px; background:#8f8d73; }
.about-hero__note { margin:0; color:#59604f; font-size:clamp(12px,1vw,14px); line-height:1.95; word-break:keep-all; }
@media (max-width:680px) {
  .about-hero { flex-direction:column; align-items:stretch; width:calc(100% - 24px); aspect-ratio:auto; min-height:0; margin:12px auto 28px; border-radius:16px; background:#f3ecdf; }
  .about-hero::before { display:none; }
  .about-hero__visual { position:relative; inset:auto; z-index:auto; width:100%; aspect-ratio:4/3; }
  #main .about-hero__visual img { position:absolute; inset:0; object-position:82% center; }
  .about-hero__copy { width:100%; padding:30px 28px 36px; }
  .about-hero__eyebrow { margin-bottom:19px; font-size:8px; letter-spacing:.19em; }
  .about-hero h1 { margin-bottom:12px; font-size:12px; }
  .about-hero__message { font-size:clamp(27px,7vw,36px); line-height:1.6; }
  .about-hero__rule { margin:20px 0 16px; }
  .about-hero__note { font-size:12px; }
}
.about-page .home-intro { --intro-ink:#35483e; --intro-muted:#667067; width:min(1120px, calc(100% - 64px)); margin-inline:auto; color:var(--intro-ink); padding-block:80px; }
.about-page :is(#welcome,#our-story,#our-values,#our-promise,#first-visit) { scroll-margin-top:28px; }
.about-page :is(#welcome,#our-values,#our-promise,#first-visit):focus { outline:none; }
.home-chapters { display:flex; align-items:center; justify-content:space-between; gap:20px; width:min(1120px, calc(100% - 64px)); margin:0 auto; padding-block:16px; border-block:1px solid #dedfd7; }
.home-chapters__label { color:#687260; font-size:12px; white-space:nowrap; }
.home-chapters__links { display:flex; flex-wrap:wrap; gap:6px 28px; }
.home-chapters a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; color:#35483e; }
.home-chapters a:hover { text-decoration:underline; text-underline-offset:6px; }
.home-intro .home-intro__eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:0 0 24px; color:#766650; font-size:10px; font-weight:600; letter-spacing:.18em; line-height:1.7; }
.home-intro__eyebrow>span { font-size:12px; font-weight:400; letter-spacing:-.01em; }
.home-intro :is(h2,h3) { font-family:"Brand Story Batang",var(--serif); font-weight:400; letter-spacing:-.045em; word-break:keep-all; overflow-wrap:anywhere; }
.home-intro h2 { margin:0; font-size:clamp(29px,3.1vw,40px); line-height:1.6; }
.home-intro p { word-break:keep-all; overflow-wrap:anywhere; }
.home-intro__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:44px; }
.home-intro__heading>p { max-width:380px; margin:0 0 7px; color:var(--intro-muted); font-size:14px; line-height:1.95; }
.home-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:44px; border-bottom:1px solid #a4ad9d; font-size:13px; }
.home-text-link:hover { color:#795534; border-color:currentColor; }
.about-page .home-greeting { display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(40px,7vw,104px); padding-block:86px; }
.home-greeting__memory { width:100%; aspect-ratio:4/3; margin:28px 0 0; overflow:hidden; border-radius:14px; background:#eee5d5; }
#main .home-greeting__memory img { display:block; width:100%; height:100%; object-fit:cover; object-position:76% center; border-radius:inherit; }
.home-greeting__aside { margin:24px 0; color:var(--intro-muted); font-size:14px; line-height:1.95; }
.home-greeting__letter { padding:4px 0 0 36px; border-left:1px solid #dcded4; }
.home-greeting__letter p { margin:0 0 19px; color:#536055; font-size:15px; line-height:2.1; }
.home-greeting__letter .home-greeting__salutation { color:#35483e; font-weight:600; }
.home-greeting__letter .home-greeting__signature { margin:28px 0 0; color:#71614d; font-family:"Brand Story Batang",var(--serif); font-size:17px; }
.home-greeting__signature strong { display:inline-block; margin-top:7px; font-size:16px; font-weight:400; }
.about-page .brand-story { margin-top:0; margin-bottom:0; }
.home-values__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.home-values__grid article { position:relative; padding:26px 0 0; border-top:1px solid #b5bdaf; }
.home-values__number { position:absolute; right:0; top:25px; color:#869080; font-family:"Brand Story Batang",var(--serif); font-size:16px; }
.home-values__grid .home-values__keyword { margin:0 0 19px; color:#74654f; font-size:12px; }
.home-values__grid h3 { margin:0 0 18px; font-size:clamp(23px,2.1vw,28px); line-height:1.6; }
.home-values__grid article>p:last-child { margin:0; color:var(--intro-muted); font-size:14px; line-height:2; }
.home-vision { position:relative; isolation:isolate; overflow:hidden; margin-top:52px; border:1px solid #e3d9c8; border-radius:16px; background:#f0e8d8; }
.home-vision>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 65%; }
.home-vision::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fbf7ecfa 5%,#fbf7eceb 50%,#fbf7ec35 100%); }
.home-vision__copy { max-width:700px; padding:42px 48px; }
.home-vision .home-intro__eyebrow { margin-bottom:18px; }
.home-vision h3 { margin:0 0 16px; color:#514735; font-size:30px; line-height:1.55; }
.home-vision__copy>p:last-child { margin:0; max-width:510px; color:#625e50; font-size:14px; line-height:2; }
.home-responsibility { background:#354b40; }
.about-page .home-responsibility__inner { --intro-ink:#f5f1e5; --intro-muted:#d1d9cd; padding-block:72px; }
.home-responsibility .home-intro__eyebrow { color:#d1c7ab; }
.home-promises { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:64px; }
.home-promises article { display:flex; align-items:flex-start; gap:20px; padding:30px 0; border-top:1px solid #718175; }
.home-promises article>span { flex-shrink:0; padding-top:3px; color:#d1c7ab; font-size:12px; }
.home-promises h3 { margin:0 0 12px; font-size:22px; line-height:1.6; }
.home-promises p { margin:0; color:#d1d9cd; font-size:14px; line-height:2; }
.home-promises a { display:inline-flex; align-items:center; gap:18px; min-height:44px; margin-top:10px; color:#f5f1e5; font-size:12px; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#94a18f; }
.home-promises a:hover { text-decoration-color:currentColor; }
.home-start-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-start-paths>a { display:flex; flex-direction:column; align-items:flex-start; padding:29px 27px 23px; border:1px solid #d8ddd1; border-radius:12px; background:#f3f4ee; transition:background .2s,border-color .2s; }
.home-start-paths>a:nth-child(2) { background:#f5f0e7; border-color:#e2d9c8; }
.home-start-paths>a:nth-child(3) { background:#f0eeed; border-color:#dcd8d3; }
.home-start-paths>a:hover { background:#ebeede; border-color:#88947e; }
.home-start-paths__label { font-size:12px; color:#65715e; word-break:keep-all; }
.home-start-paths h3 { margin:22px 0 10px; font-size:27px; }
.home-start-paths p { margin:0 0 25px; color:#606b60; font-size:14px; line-height:1.95; }
.home-start-paths__action { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; margin-top:auto; padding-top:18px; border-top:1px solid #cdd2c4; font-size:12px; }
.home-first-visit__help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:28px; }
.home-first-visit__help p { margin:0; color:var(--intro-muted); font-size:13px; }
.about-page :is(.home-intro,.home-chapters) a:focus-visible { outline:3px solid #795c39; outline-offset:5px; }
.home-responsibility a:focus-visible { outline-color:#e3d2a9; }
.about-page .home-first-visit+.together-services { border-top:1px solid #dedfd7; }
@media (max-width:900px) {
  .home-chapters { flex-direction:column; align-items:flex-start; gap:4px; }
  .home-chapters__links { gap:4px 24px; }
  .about-page .home-greeting { grid-template-columns:1fr 1.15fr; gap:32px; }
  .home-greeting__letter { padding-left:24px; }
  .home-intro__heading { align-items:flex-start; flex-direction:column; gap:20px; }
  .home-intro__heading>p { max-width:none; }
  .home-values__grid { gap:24px; }
  .home-promises { column-gap:30px; }
  .home-start-paths { gap:14px; }
  .home-start-paths>a { padding:24px 18px; }
}
@media (max-width:680px) {
  .about-page .home-intro,.home-chapters { width:calc(100% - 40px); }
  .about-page .home-intro { padding-block:52px; }
  .home-chapters { padding-block:12px; }
  .home-chapters__links { gap:0 20px; }
  .home-chapters a { font-size:12px; }
  .about-page .home-greeting { grid-template-columns:1fr; gap:32px; padding-block:52px; }
  .home-intro h2 { font-size:29px; }
  .home-intro .home-intro__eyebrow { font-size:9px; margin-bottom:20px; }
  .home-intro__eyebrow>span { font-size:11px; }
  .home-greeting__letter { padding:26px 0 0; border-left:0; border-top:1px solid #dcded4; }
  .home-greeting__letter p { font-size:14px; }
  .home-intro__heading { margin-bottom:32px; }
  .home-intro__heading>p { font-size:13px; }
  .home-intro__heading>p br { display:none; }
  .home-values__grid,.home-promises,.home-start-paths { grid-template-columns:1fr; }
  .home-values__grid { gap:30px; }
  .home-values__grid h3 { font-size:25px; }
  .home-vision { margin-top:36px; }
  .home-vision::before { background:#fbf7ece8; }
  .home-vision__copy { padding:30px 24px; }
  .home-vision h3 { font-size:26px; }
  .home-promises article { gap:16px; padding-block:26px; }
  .home-promises article:last-child { padding-bottom:0; }
  .home-promises h3 { font-size:22px; }
  .home-promises p { font-size:13px; }
  .home-start-paths>a { padding:26px; }
  .home-start-paths h3 { margin-top:16px; }
  .home-first-visit__help { flex-direction:column; align-items:flex-start; gap:8px; }
}
@media (prefers-reduced-motion:reduce) { .home-start-paths>a { transition:none; } }
