/* Home page styles */
.sec{padding:96px 0}
.display{font-size:56px;line-height:1.1}
.h4{font-size:16px;font-weight:600;line-height:1.4}
.measure{max-width:68ch}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:10px;font:600 16px/1 Inter,system-ui,sans-serif;text-decoration:none;border:1.5px solid transparent;transition:background 160ms cubic-bezier(.22,.61,.36,1),transform 160ms}
.dark .btn-p{background:#DCE8A8;color:#1E4238}
.dark .btn-p:hover{background:#cddc90;color:#16332B}
.btn-s{border-color:#1E4238;color:#1E4238}
.dark .btn-s{border-color:rgba(220,232,168,.55);color:#F7F6F2}
.dark .btn-s:hover{color:#DCE8A8;background:rgba(220,232,168,.08)}
.tlink{color:#1E4238;font-weight:600;text-decoration:none;display:inline-flex;gap:6px;align-items:center;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size 320ms cubic-bezier(.22,.61,.36,1)}
.tlink:hover{background-size:100% 1.5px}
.tlink svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dark .tlink{color:#DCE8A8}
.ic{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none;background:#1E4238;color:#DCE8A8;transition:box-shadow 320ms}
.dark .ic{background:#DCE8A8;color:#1E4238}
.i56{width:56px;height:56px}
.i72{width:72px;height:72px}
.card{background:#fff;border:1px solid #E1E2D8;border-radius:14px;transition:transform 320ms cubic-bezier(.22,.61,.36,1),box-shadow 320ms}
.card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(20,39,35,.05),0 12px 32px rgba(20,39,35,.07)}
.card:hover .ic{box-shadow:0 0 0 2px #fff,0 0 0 4px #DCE8A8}
.dark .sample{color:#E6CC9A}
.badge{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 14px 4px 4px;border:1px solid #E1E2D8;background:#fff;border-radius:999px;font-size:14px;font-weight:600;color:#1E4238}
.badge b{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#1E4238;color:#DCE8A8;font-size:10px;letter-spacing:.02em}
.badge .tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:240px;padding:10px 12px;border-radius:10px;background:#142723;color:#F7F6F2;font-weight:400;font-size:13px;line-height:1.45;opacity:0;pointer-events:none;transition:opacity 160ms}
.badge:hover .tip,.badge:focus .tip{opacity:1}
.hdr{position:sticky;top:0;z-index:20}
.nav .menu a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:#DCE8A8}
.hdr-light{background:#F7F6F2;box-shadow:0 1px 0 #E1E2D8;color:#142723}
.hdr-light .nav .menu a.on::after{background:#1E4238}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.logo span{font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:21px;letter-spacing:.01em}
.progress{height:2px;background:transparent}
.progress i{display:block;height:2px;width:18%;background:#DCE8A8}
.hdr-light .progress i{background:#1E4238}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.g6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.row{display:flex;gap:14px;align-items:flex-start}
.divider{display:block;width:100%;height:40px}
.divider path{fill:none;stroke:#718D70;stroke-width:1.5;stroke-linecap:round}
@media (max-width:1100px){.g6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
.sec{padding:64px 0}.display{font-size:36px}.h1{font-size:32px}.h2{font-size:26px}.h3{font-size:18px}body{font-size:16px}
.nav .menu{display:none}.mbtn{display:inline-flex;align-items:center;margin-left:auto}
.g2,.g3{grid-template-columns:minmax(0,1fr)}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-grid{grid-template-columns:minmax(0,1fr) !important}.hero-art{order:-1;max-width:420px}
.g6{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.g6>*{flex:0 0 70%;scroll-snap-align:start}
.journey{overflow-x:auto}.jtrack{min-width:900px}
.ftgrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:600px){.wrap{padding:0 16px}.hide-sm{display:none}.ftgrid{grid-template-columns:minmax(0,1fr) !important}}
