@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-400.woff2) format("woff2");
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-500.woff2) format("woff2");
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/geist-600.woff2) format("woff2");
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-400.woff2) format("woff2");
}
@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-500.woff2) format("woff2");
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/geist-700.woff2) format("woff2");
}

body{margin:0;background:#F7F5EF;-webkit-font-smoothing:antialiased}
a{color:#111111}a:hover{color:#1D4ED8}
button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #2563EB;outline-offset:3px;border-radius:8px}
.s-ease{transition:transform 0.27s cubic-bezier(.22,1,.36,1),opacity 0.1575s ease,background-color 0.135s ease,border-color 0.135s ease,color 0.135s ease}
@keyframes sbob{0%,100%{translate:0 0}50%{translate:0 -9px}}
.s-bob{animation:sbob 1.8s ease-in-out infinite}.s-bob2{animation:sbob 2.25s ease-in-out infinite 0.315s}.s-bob3{animation:sbob 2.07s ease-in-out infinite 0.63s}
@keyframes srise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.s-rise{animation:srise 0.2475s cubic-bezier(.22,1,.36,1) both}.s-d1{animation-delay:0.1s}.s-d2{animation-delay:0.135s}
.s-btn{transition:transform 0.1s ease}.s-btn:hover{transform:translateY(-1px)}
.s-navlink{text-decoration:none;color:#3A3A3A}.s-navlink:hover{color:#111111}
@media (max-width:760px){.s-h1{font-size:48px!important}.s-h2{font-size:34px!important}.s-hide-sm{display:none!important}.s-pad{padding:28px!important}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.about-style-1 { font-weight: 600; font-size: 18px; letter-spacing: -0.02em; }
.about-style-2 { display: flex; align-items: center; gap: 8px; text-decoration: none; color: #111111; }
.about-style-3 { display: flex; gap: 24px; font-size: 14px; }
.about-style-4 { display: flex; align-items: center; gap: 32px; }
.about-style-5 { text-decoration: none; background: #111111; color: #FFFFFF; padding: 11px 18px; border-radius: 999px; font-size: 14px; font-weight: 500; }
.about-style-6 { max-width: 1240px; margin: 0 auto; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.about-style-7 { position: sticky; top: 0; z-index: 10; background: #F7F5EF; border-bottom: 1px solid #E7E3D8; }
.about-style-8 { position: absolute; left: 5%; top: 110px; width: 64px; height: 64px; border-radius: 18px; background: #FFE2C2; box-shadow: inset 0 -6px 0 rgba(0,0,0,0.07); }
.about-style-9 { position: absolute; right: 7%; top: 90px; width: 52px; height: 52px; border-radius: 50%; background: #CFE3FA; box-shadow: inset 0 -6px 0 rgba(0,0,0,0.07); }
.about-style-10 { font-family: 'Geist Mono', monospace; font-size: 12px; letter-spacing: 0.08em; color: #4A4A4A; }
.about-style-11 { margin: 0; font-weight: 600; font-size: 88px; line-height: 0.96; letter-spacing: -0.055em; max-width: 960px; }
.about-style-12 { margin: 0; font-size: 20px; line-height: 1.5; color: #4A4A4A; max-width: 640px; }
.about-style-13 { max-width: 1240px; margin: 0 auto; padding: 88px 24px 64px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; position: relative; }
.about-style-14 { position: absolute; left: -10%; right: -10%; bottom: -220px; height: 340px; border-radius: 50%; background: #A9D99A; }
.about-style-15 { font-family: 'Geist Mono', monospace; font-size: 12px; letter-spacing: 0.08em; }
.about-style-16 { margin: 0; font-weight: 600; font-size: 52px; line-height: 1; letter-spacing: -0.045em; }
.about-style-17 { margin: 0; font-size: 17px; line-height: 1.6; color: #1F1F1F; }
.about-style-18 { border: 0; border-radius: 999px; padding: 10px 16px; min-height: 44px; font-size: 14px; font-weight: 500; }
.about-style-19 { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 6px; }
.about-style-20 { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 16px; position: relative; }
.about-style-21 { width: 8px; height: 8px; border-radius: 50%; }
.about-style-22 { font-weight: 600; font-size: 15px; }
.about-style-23 { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-radius: 16px; box-shadow: inset 0 -5px 0 rgba(0,0,0,0.06); }
.about-style-24 { flex: 1 1 420px; min-width: 0; display: flex; flex-wrap: wrap; gap: 10px; align-content: center; justify-content: center; min-height: 260px; position: relative; }
.about-style-25 { border-radius: 32px; background: #CFE3FA; padding: 48px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; position: relative; overflow: hidden; }
.about-style-26 { max-width: 1240px; margin: 0 auto; padding: 0 24px 104px; }
.about-style-27 { margin: 0; font-weight: 600; font-size: 44px; line-height: 1.12; letter-spacing: -0.035em; }
.about-style-28 { max-width: 980px; margin: 0 auto; padding: 0 24px 104px; text-align: center; }
.about-style-29 { font-family: 'Geist Mono', monospace; font-size: 12px; letter-spacing: 0.08em; color: #B8B4AA; }
.about-style-30 { margin: 0; font-weight: 600; font-size: 56px; line-height: 1.02; letter-spacing: -0.045em; }
.about-style-31 { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.about-style-32 { flex: 1 1 320px; margin: 0; font-size: 17px; line-height: 1.6; color: #D6D2C8; }
.about-style-33 { max-width: 1240px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-end; }
.about-style-34 { background: #111111; color: #F5F3EE; padding: 104px 24px; }
.about-style-35 { margin: 0; font-weight: 600; font-size: 56px; letter-spacing: -0.045em; }
.about-style-36 { margin: 0; font-size: 16px; line-height: 1.6; color: #4A4A4A; max-width: 460px; }
.about-style-37 { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: flex-end; }
.about-style-38 { font-family: 'Geist Mono', monospace; font-size: 13px; }
.about-style-39 { font-weight: 600; font-size: 26px; letter-spacing: -0.02em; }
.about-style-40 { font-size: 16px; line-height: 1.55; color: #2A2A2A; }
.about-style-41 { border-radius: 28px; background: #FFD6E5; padding: 32px; display: flex; flex-direction: column; gap: 12px; min-height: 240px; }
.about-style-42 { border-radius: 28px; background: #C9EBC0; padding: 32px; display: flex; flex-direction: column; gap: 12px; min-height: 240px; }
.about-style-43 { border-radius: 28px; background: #F6E7B8; padding: 32px; display: flex; flex-direction: column; gap: 12px; min-height: 240px; }
.about-style-44 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.about-style-45 { max-width: 1240px; margin: 0 auto; padding: 104px 24px; display: flex; flex-direction: column; gap: 32px; }
.about-style-46 { margin: 0; font-weight: 600; font-size: 56px; line-height: 1; letter-spacing: -0.045em; }
.about-style-47 { margin: 0; font-size: 16px; line-height: 1.6; color: #4A4A4A; }
.about-style-48 { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.about-style-49 { flex: none; width: 32px; height: 32px; border-radius: 10px; background: #FEE2E2; display: flex; align-items: center; justify-content: center; }
.about-style-50 { display: flex; gap: 16px; align-items: center; padding: 18px 0; border-top: 1px solid #EFECE3; font-size: 18px; font-weight: 500; }
.about-style-51 { flex: 1.3 1 480px; min-width: 0; display: flex; flex-direction: column; }
.about-style-52 { max-width: 1240px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.about-style-53 { background: #FFFFFF; border-top: 1px solid #E7E3D8; border-bottom: 1px solid #E7E3D8; padding: 104px 24px; }
.about-style-54 { font-family: 'Geist Mono', monospace; font-size: 13px; color: #4A4A4A; }
.about-style-55 { flex: 0 1 360px; min-width: 0; aspect-ratio: 8 / 9; border-radius: 32px; background: #FFE2C2; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; box-sizing: border-box; }
.about-style-56 { margin: 0; font-weight: 600; font-size: 44px; line-height: 1.08; letter-spacing: -0.035em; }
.about-style-57 { margin: 0; font-size: 17px; line-height: 1.6; color: #3A3A3A; }
.about-style-58 { align-self: flex-start; font-weight: 500; font-size: 15px; }
.about-style-59 { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.about-style-60 { max-width: 1240px; margin: 0 auto; padding: 104px 24px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.about-style-61 { margin: 0; font-size: 17px; color: #3A3A3A; }
.about-style-62 { text-decoration: none; background: #111111; color: #FFFFFF; padding: 15px 24px; border-radius: 999px; font-weight: 500; font-size: 16px; }
.about-style-63 { max-width: 1240px; margin: 0 auto; border-radius: 32px; background: #FFD6E5; padding: 72px 32px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; }
.about-style-64 { padding: 0 24px 72px; }
.about-style-65 { font-weight: 600; font-size: 17px; }
.about-style-66 { display: flex; align-items: center; gap: 8px; }
.about-style-67 { font-size: 14px; color: #4A4A4A; }
.about-style-68 { display: flex; flex-direction: column; gap: 10px; max-width: 280px; }
.about-style-69 { font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: 0.08em; color: #6B6B6B; }
.about-style-70 { display: flex; flex-direction: column; gap: 10px; }
.about-style-71 { display: flex; gap: 56px; flex-wrap: wrap; font-size: 14px; }
.about-style-72 { display: flex; flex-wrap: wrap; gap: 40px; justify-content: space-between; }
.about-style-73 { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid #E7E3D8; font-size: 13px; color: #4A4A4A; }
.about-style-74 { max-width: 1240px; margin: 0 auto; padding: 48px 24px 40px; display: flex; flex-direction: column; gap: 36px; }
.about-style-75 { border-top: 1px solid #E7E3D8; }
.about-style-76 { font-family: 'Geist', system-ui, sans-serif; color: #111111; background: #F7F5EF; min-height: 100dvh; }
html {scroll-behavior:smooth;scroll-padding-top:90px;} .skip-link{position:fixed;left:16px;top:-60px;z-index:30;padding:12px 18px;background:white;} .skip-link:focus{top:12px;} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
@media (max-width: 760px) {
  .about-style-56 { font-size: 34px; overflow-wrap: anywhere; }
}

/* Direction C 2.0 additive section */
.addition-about-style-1 { font-family: 'Geist Mono', monospace; font-size: 12px; letter-spacing: 0.08em; color: #4A4A4A; }
.addition-about-style-2 { font-family: 'Geist Mono', monospace; font-size: 13px; }
.addition-about-style-3 { font-weight: 600; font-size: 20px; letter-spacing: -0.015em; }
.addition-about-style-4 { font-size: 15px; line-height: 1.5; color: #1F1F1F; }
.addition-about-style-5 { border-radius: 24px; background: #CFE3FA; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.addition-about-style-6 { border-radius: 24px; background: #FFD6E5; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.addition-about-style-7 { border-radius: 24px; background: #F6E7B8; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.addition-about-style-8 { border-radius: 24px; background: #C9EBC0; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.addition-about-style-9 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.addition-about-style-10 { font-size: 12px; color: #6B6B6B; }
.addition-about-style-11 { display: flex; flex-direction: column; gap: 20px; }
.addition-about-style-12 { max-width: 1240px; margin: 0 auto; padding: 0 24px 104px; }
