:root{--ground:#e5ebdf;--paper:#fafbf6;--ink:#203c30;--muted:#536457;--accent:#d9e998;--soft:#eef2e7;--deep:#294d3b;--edge:28px;--small:14px;--body:16px;--lead:21px;--head:32px;--display:clamp(64px,7vw,104px)}
*{box-sizing:border-box}html{scroll-padding-top:24px}body{margin:0;background:var(--ground);color:var(--ink);font:var(--body)/1.8 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}main:focus{outline:none}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em;text-wrap:balance;word-break:keep-all}p{word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}.wrap{width:calc(100% - var(--edge)*2);max-width:1440px;margin-inline:auto}.arrow{width:22px;height:22px;flex:0 0 22px;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:5}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.wordmark{font-size:25px;letter-spacing:-.045em;font-weight:750;display:inline-flex;align-items:center;min-height:44px}.wordmark span{color:var(--deep)}nav{display:flex;gap:32px;font-size:var(--small)}nav a{min-height:44px;display:inline-flex;align-items:center}a:hover{text-decoration:underline}.hero{padding-block:44px 58px}.hero-intro{display:grid;grid-template-columns:.85fr 1.3fr;gap:48px;align-items:center}.hero h1{font-size:var(--display);line-height:1.05;font-weight:650}.hero-intro p{font-size:var(--lead);line-height:1.8;max-width:52ch}.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 26px;margin-top:24px}.hero-links a,.text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:var(--small)}.hero-links .primary-link{background:var(--ink);color:var(--paper);padding:10px 18px;gap:24px;border-radius:0;min-height:48px}.primary-link:hover{background:var(--deep);text-decoration:none}.folder-tabs{display:flex;align-items:flex-end;gap:6px;flex-wrap:wrap}.folder-tabs button{font-size:var(--body);border:0;background:#ccd8c7;color:var(--ink);padding:12px 28px 11px;min-height:48px;border-radius:12px 12px 0 0;transition:background-color .16s}.folder-tabs button[aria-pressed=true]{background:var(--paper);font-weight:650;padding-top:17px}.folder-tabs button:hover{background:var(--soft)}.folder-page{background:var(--paper);padding:34px 38px 18px;border-radius:0 16px 16px 16px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:26px}.section-heading :is(h1,h2){font-size:var(--head);font-weight:600}.section-heading>span{font-size:var(--small);color:var(--muted)}.project-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) 112px;column-gap:36px;padding:30px 0;margin-top:4px}.project-entry:nth-child(even){background:var(--soft);margin-inline:-18px;padding-inline:18px;border-radius:8px}.project-name{min-width:0}.project-name :is(h2,h3){font-size:27px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.project-name :is(h2,h3) a{display:inline-flex;gap:12px;align-items:baseline;min-height:44px}.project-name .arrow{width:18px;height:18px;flex-basis:18px}.project-kind{font-size:var(--small);color:var(--muted);display:block;margin-top:10px}.project-content>p{font-size:var(--body);line-height:1.9}.tags{display:flex;flex-wrap:wrap;gap:5px 12px;padding:0;list-style:none;margin:14px 0 0}.tags li{font-size:var(--small);color:var(--muted)}.project-action{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:16px;font-size:var(--small)}.project-action>a{display:inline-flex;align-items:center;gap:6px;min-height:44px;white-space:nowrap}.status{font-size:var(--small);color:var(--muted)}.project-parts{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.project-parts span{font-size:var(--small);background:var(--accent);color:var(--ink);padding:4px 8px}.training-entry{padding-top:14px;padding-bottom:32px}.training-entry .project-name :is(h2,h3){font-size:32px}.about-section{padding-top:84px}.about-sheet,.contact-sheet{background:var(--deep);color:var(--paper);padding:48px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;border-radius:16px 16px 0 16px}.about-sheet h2,.records-section h2,.contact-sheet h2{font-size:var(--head);font-weight:550}.about-copy{font-size:var(--lead);line-height:1.9}.signature{margin-top:24px;font-size:var(--body)}.signature span{font-size:var(--small);margin-left:12px;color:#d8e5d4}.about-links,.contact-links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:18px}.about-links .text-link,.contact-links .text-link{font-size:var(--small);min-height:44px}.about-sheet a:focus-visible,.contact-sheet a:focus-visible{outline-color:var(--accent)}.records-section{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;padding-block:70px}.records-section h2{margin-bottom:20px}.records-section p{max-width:54ch;font-size:var(--body)}.record-topics{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:12px}.record-topics a{display:inline-block;font-size:var(--lead);padding:14px 22px;background:#d4decb;border-radius:0}.record-topics a:nth-child(2){background:var(--paper)}.record-topics a:nth-child(3){background:var(--accent)}.contact-sheet{background:var(--paper);color:var(--ink);padding-block:40px;border-radius:0 16px 16px 16px}.contact-sheet p{font-size:var(--body)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:44px}.footer-name{font-size:clamp(38px,6vw,72px);font-weight:650;letter-spacing:-.05em;line-height:1.1}.site-footer>div{display:flex;align-items:center;gap:24px;font-size:var(--small)}.site-footer>div a{display:inline-flex;min-height:44px;align-items:center}.detail-page{background:var(--paper);padding:32px 48px 48px;border-radius:0 16px 16px 16px;max-width:900px;margin-top:28px}.breadcrumb{display:inline-flex;min-height:44px;align-items:center;font-size:var(--small)}.detail-header{padding-block:32px}.detail-header h1{font-size:clamp(32px,4vw,56px);overflow-wrap:anywhere}.detail-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;font-size:var(--small);color:var(--muted)}.detail-subtitle{font-size:var(--lead);margin-top:28px;margin-bottom:16px}.story-section{padding-block:28px}.story-section h2{font-size:25px;margin-bottom:16px}.story-section p{line-height:2;font-size:var(--body)}.detail-end{padding-top:28px;display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px}.detail-end a{display:inline-flex;min-height:44px;align-items:center;gap:8px}
@media(max-width:1000px){.hero-intro{grid-template-columns:.7fr 1.3fr;gap:28px}.hero-intro p{font-size:18px}.project-entry{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:12px 28px}.project-action{grid-column:2;flex-direction:row;align-items:center}.project-name :is(h2,h3){font-size:24px}.training-entry .project-name :is(h2,h3){font-size:28px}.folder-page{padding-inline:28px}.about-sheet,.contact-sheet{padding:32px;gap:32px}.about-copy{font-size:19px}}
@media(max-width:620px){:root{--edge:18px;--lead:18px;--head:27px}.site-header{min-height:80px;gap:20px;flex-wrap:wrap;padding-block:12px}.wordmark{font-size:22px}nav{font-size:14px;gap:18px}.hero{padding-block:28px 36px}.hero-intro{grid-template-columns:minmax(0,1fr);gap:24px}.hero h1{font-size:60px}.hero-intro p{font-size:17px;line-height:1.9}.hero-links{gap:4px 22px;margin-top:20px}.hero-links .primary-link{padding-inline:14px;gap:16px}.folder-tabs{gap:4px}.folder-tabs button{font-size:14px;padding:10px 13px;min-height:46px;border-radius:9px 9px 0 0}.folder-tabs button[aria-pressed=true]{padding-top:15px}.folder-page{padding:26px 20px 12px;border-radius:0 12px 12px 12px}.section-heading{padding-bottom:20px}.section-heading>span{font-size:13px}.project-entry{display:block;padding-block:24px;margin-top:0}.project-entry:nth-child(even){margin-inline:-8px;padding-inline:12px}.project-name :is(h2,h3){font-size:25px}.training-entry .project-name :is(h2,h3){font-size:28px}.project-kind{margin-top:6px}.project-content{margin-top:16px}.project-content>p{font-size:16px;line-height:1.9}.project-action{flex-direction:row;align-items:center;margin-top:14px;gap:8px}.project-parts{gap:5px}.project-parts span{font-size:13px;padding:4px 6px}.tags{gap:4px 10px}.tags li{font-size:13px}.about-section{padding-top:48px}.about-sheet,.contact-sheet{display:block;padding:28px 24px}.about-sheet h2,.contact-sheet h2{margin-bottom:22px}.about-copy{font-size:18px}.about-copy br{display:initial}.about-links{display:block}.about-links .text-link{display:flex}.records-section{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:44px}.records-section p br{display:initial}.record-topics{gap:8px}.record-topics a{font-size:17px;padding:10px 16px}.contact-links{gap:8px 20px}.site-footer{align-items:flex-start;flex-direction:column;gap:18px;padding-block:32px}.footer-name{font-size:48px}.site-footer>div{width:100%;justify-content:space-between;font-size:13px}.detail-page{padding:20px 22px 32px;margin-top:16px}.detail-header{padding-block:24px}.detail-header h1{font-size:32px}.story-section h2{font-size:23px}.detail-end{display:block}.detail-end a{display:flex}.detail-subtitle{font-size:19px}}
@media(prefers-reduced-motion:no-preference){.folder-page{animation:open-folder .4s ease-out both}@keyframes open-folder{from{transform:translateY(8px)}to{transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Direct service navigation: destinations stay separate from project introductions. */
.record-topics a{display:inline-flex;align-items:center;gap:12px;min-height:48px}
.record-topics a:hover{box-shadow:inset 0 -2px var(--ink);text-decoration:none}
.records-section>.record-topics{min-width:0}
.records-section .text-link{margin-top:16px}
.records-page{background:var(--paper);max-width:1100px;margin-top:28px;padding:32px 48px 48px;border-radius:0 16px 16px 16px}
.records-header{padding:28px 0 32px}
.records-header h1{font-size:clamp(32px,4vw,56px);font-weight:600}
.records-header p{margin-top:20px;color:var(--muted)}
.record-navigation{display:flex;flex-wrap:wrap;gap:8px;font-size:var(--body)}
.record-navigation a{display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:10px 18px;background:var(--soft)}
.record-navigation a[aria-current=page]{background:var(--ink);color:var(--paper)}
.record-navigation a[aria-current=page]:focus-visible{outline-offset:4px}
.record-count{font-size:var(--small);font-variant-numeric:tabular-nums;opacity:.8}
.record-total{margin-top:32px;font-size:var(--small);color:var(--muted)}
.records-empty{padding:64px 20px;text-align:center;background:var(--soft);margin-top:20px}
.records-empty p{color:var(--muted)}
.record-list{list-style:none;margin:12px 0 0;padding:0}
.record-entry{padding:28px 0;border-bottom:1px solid #d4decb}
.record-entry h2{font-size:26px;margin-block:10px}
.record-entry h2 a{display:inline-flex;gap:16px;align-items:baseline;min-height:44px;overflow-wrap:anywhere}
.record-entry h2 .arrow{width:18px;height:18px;flex-basis:18px}
.record-entry>p{max-width:70ch;color:var(--muted)}
.record-entry-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:var(--small)}
.record-entry-meta time{font-variant-numeric:tabular-nums}
.record-detail .detail-header h1{margin-top:20px;line-height:1.35}
.record-source{margin-top:16px;overflow-wrap:anywhere}
.record-body{padding-block:8px 28px;font-size:17px;line-height:2}
.record-body p+p{margin-top:24px}
.record-photo{margin:28px 0}
.record-photo img{display:block;max-width:100%;height:auto;margin-inline:auto}
.record-photo figcaption{font-size:14px;color:var(--muted);margin-top:8px;text-align:center;overflow-wrap:anywhere}
.record-detail .detail-end{border-top:1px solid #d4decb}
@media(max-width:620px){
 .records-page{padding:20px 22px 32px;margin-top:16px}
 .records-header{padding:20px 0 28px}
 .records-header h1{font-size:32px}
 .record-navigation{gap:6px}
 .record-navigation a{padding:8px 12px;gap:10px;font-size:14px;min-height:44px}
 .records-empty{padding:48px 16px}
 .record-entry h2{font-size:23px}
 .record-body{font-size:16px}
}
.project-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) 184px}
.project-action{align-items:stretch;justify-content:space-between}
.project-action>.status{text-align:right}
.project-links{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.service-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 12px;background:var(--ink);color:var(--paper);font-size:var(--small);line-height:1.6;text-align:center}
.service-link:hover{background:var(--deep);text-decoration:none}
.service-link .arrow{width:18px;height:18px;flex-basis:18px}
.project-links .intro-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-height:44px;font-size:var(--small)}
.service-access{background:var(--soft);padding:24px;margin-bottom:12px}
.service-access h2{font-size:20px;font-weight:600;margin-bottom:16px}
.service-destinations{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px 28px}
.service-destination{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.service-destination .service-link{padding-inline:18px}
.service-address{font-size:var(--small);color:var(--muted);overflow-wrap:anywhere}
.service-note{font-size:var(--small);color:var(--muted);margin-top:16px}
@media(max-width:1000px){
 .project-entry{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr)}
 .project-action{grid-column:2;flex-direction:column;gap:8px;align-items:stretch}
 .project-action>.status{text-align:left}
 .project-links{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px}
 .project-links .intro-link{justify-content:flex-start}
}
@media(max-width:620px){
 .project-entry{display:block}
 .project-action{align-items:stretch}
 .service-access{padding:20px 16px}
 .service-destinations{gap:20px}
 .service-address{font-size:13px}
}

.hero-links button{display:inline-flex;align-items:center;min-height:44px;font-size:var(--small);border:0}.hero-links button.text-link{background:transparent;color:var(--ink);padding:10px 0}
