body{margin:0;background:#F6F5F2}
a{color:#111111}a:hover{color:#2F4A5A}
*{box-sizing:border-box}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media (max-width:1000px){.strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.strip{grid-template-columns:minmax(0,1fr)}}
input:focus,select:focus,textarea:focus{outline:2px solid #2F4A5A;outline-offset:1px}
.qa{border-bottom:1px solid #DCD9D2}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:clamp(18px,1.5vw,21px);font-weight:500;min-height:44px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-family:"IBM Plex Mono",monospace;font-weight:400;font-size:22px;color:#5A5853;flex:none}
.qa[open] summary::after{content:"\2212"}
.qa .ans p{margin:0 0 24px;font-size:17px;line-height:1.65;font-weight:300;color:#3A3935;max-width:760px}
.qa .ans strong{font-weight:600;color:#111111}
@media (min-width:900px){.faq-toc{position:sticky;top:24px}}
.proj .ov{opacity:0;transition:opacity .45s ease}
.proj .ov-text{transform:translateY(12px);transition:transform .45s ease}
.proj .ph{transition:transform .8s ease}
.proj:hover .ov,.proj:focus-visible .ov{opacity:1}
.proj:hover .ov-text,.proj:focus-visible .ov-text{transform:translateY(0)}
.proj:hover .ph,.proj:focus-visible .ph{transform:scale(1.04)}
@media (hover:none){.proj .ov{opacity:1}.proj .ov-text{transform:none}}
.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:1000px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (max-width:640px){.home-grid{grid-template-columns:minmax(0,1fr);gap:20px}}
.zoom img{transition:transform .8s ease}
.zoom:hover img{transform:scale(1.03)}
.c0.c0{font-family: 'Archivo', 'Helvetica Neue', sans-serif; color: #111111; background: #F6F5F2; width: 100%}
.c1.c1{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: 22px clamp(20px, 5vw, 72px); background: #F6F5F2; border-bottom: 1px solid #DCD9D2}
.c2.c2{display: flex; align-items: center; color: #202020; text-decoration: none}
.c3.c3{display: block}
.c4.c4{display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; font-size: 15px}
.c5.c5{text-decoration: none}
.c6.c6{text-decoration: none; font-weight: 600}
.c7.c7{padding: 96px clamp(20px, 5vw, 72px) 80px; display: flex; flex-direction: column; gap: 24px; max-width: 1180px}
.c8.c8{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.18em; color: #2F4A5A}
.c9.c9{margin: 0; font-size: clamp(40px, 5.6vw, 84px); font-weight: 500; letter-spacing: -0.03em; line-height: 1}
.ca.ca{margin: 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.55; font-weight: 300; color: #3A3935; max-width: 760px}
.cb.cb{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); border-top: 1px solid #DCD9D2; border-bottom: 1px solid #DCD9D2; background: #FFFFFF}
.cc.cc{padding: 32px clamp(20px, 3vw, 40px); border-right: 1px solid #ECEAE5; display: flex; flex-direction: column; gap: 6px}
.cd.cd{font-size: 36px; font-weight: 500; letter-spacing: -0.02em}
.ce.ce{font-size: 14px; color: #5A5853}
.cf.cf{padding: 32px clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 6px}
.c10.c10{padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start}
.c11.c11{flex: 1 1 340px; max-width: 480px; aspect-ratio: 4 / 5; background: #E4E1DA; overflow: hidden}
.c12.c12{width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block}
.c13.c13{flex: 1 1 460px; display: flex; flex-direction: column; gap: 24px}
.c14.c14{margin: 0; font-size: clamp(32px, 4vw, 52px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05}
.c15.c15{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #5A5853}
.c16.c16{margin: 0; font-size: 18px; line-height: 1.65; color: #3A3935; font-weight: 300; max-width: 640px}
.c17.c17{margin: 8px 0 0; display: flex; flex-direction: column; border-top: 1px solid #111111; max-width: 640px}
.c18.c18{display: flex; justify-content: space-between; gap: 24px; padding: 16px 0; border-bottom: 1px solid #DCD9D2}
.c19.c19{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.12em; color: #5A5853}
.c1a.c1a{margin: 0; font-size: 16px; text-align: right}
.c1b.c1b{background: #111111; color: #FFFFFF; padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-direction: column; gap: 56px}
.c1c.c1c{display: flex; flex-direction: column; gap: 14px; max-width: 760px}
.c1d.c1d{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.18em; color: #9FB3C0}
.c1e.c1e{margin: 0; font-size: clamp(32px, 4vw, 56px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05}
.c1f.c1f{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px}
.c20.c20{display: flex; flex-direction: column; gap: 14px; padding-top: 22px; border-top: 1px solid #3A3A38}
.c21.c21{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #9FB3C0}
.c22.c22{font-size: 24px; font-weight: 500}
.c23.c23{font-size: 16px; line-height: 1.6; color: #C9CDCF; font-weight: 300}
.c24.c24{padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 48px 64px}
.c25.c25{flex: 1 1 320px; display: flex; flex-direction: column; gap: 14px}
.c26.c26{margin: 0; font-size: clamp(30px, 3.4vw, 48px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05}
.c27.c27{flex: 2 1 480px; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column}
.c28.c28{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 24px 0; border-top: 1px solid #111111}
.c29.c29{font-size: 22px}
.c2a.c2a{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #5A5853}
.c2b.c2b{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 24px 0; border-top: 1px solid #DCD9D2; border-bottom: 1px solid #DCD9D2}
.c2c.c2c{padding: 0 clamp(20px, 5vw, 72px) 112px; display: flex; flex-direction: column; gap: 32px}
.c2d.c2d{display: flex; flex-direction: column; gap: 12px; text-decoration: none}
.c2e.c2e{display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #DEDAD2}
.c2f.c2f{width: 100%; height: 100%; object-fit: cover; display: block}
.c30.c30{font-size: 16px; font-weight: 500}
.c31.c31{align-self: flex-start; font-size: 16px; font-weight: 500; text-underline-offset: 6px; min-height: 44px; display: inline-flex; align-items: center}
.c32.c32{border-top: 1px solid #DCD9D2; padding: 56px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px}
.c33.c33{display: flex; flex-direction: column; gap: 8px}
.c34.c34{margin: 0; font-size: clamp(22px, 2vw, 28px); font-weight: 400; letter-spacing: -0.01em; line-height: 1.2; color: #111111}
.c35.c35{font-size: 15px; color: #5A5853}
.c36.c36{text-decoration: none; border: 1px solid #111111; color: #111111; padding: 12px 22px; font-weight: 500; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center}
.c37.c37{background: #111111; color: #C9CDCF; padding: 56px clamp(20px, 5vw, 72px) 40px; display: flex; flex-direction: column; gap: 32px}
.c38.c38{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px}
.c39.c39{display: flex; flex-wrap: wrap; align-items: center; gap: 40px}
.c3a.c3a{display: flex; color: #FFFFFF}
.c3b.c3b{height: 36px; width: auto; display: block}
.c3c.c3c{display: flex; flex-direction: column; gap: 4px; line-height: 1; color: #FFFFFF}
.c3d.c3d{font-size: 20px; font-weight: 700; letter-spacing: 0.04em}
.c3e.c3e{font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.16em; color: #C9CDCF}
.c3f.c3f{display: flex; flex-wrap: wrap; gap: 24px; font-size: 15px}
.c40.c40{color: #C9CDCF; text-decoration: none}
.c41.c41{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid #2E2E2C; font-size: 13px; color: #8E9396}
.c42.c42{padding: 96px clamp(20px, 5vw, 72px) 112px; display: flex; flex-wrap: wrap; gap: 64px 96px; align-items: flex-start}
.c43.c43{flex: 1 1 340px; display: flex; flex-direction: column; gap: 40px}
.c44.c44{display: flex; flex-direction: column; gap: 24px}
.c45.c45{margin: 0; font-size: clamp(44px, 5.6vw, 84px); font-weight: 500; letter-spacing: -0.03em; line-height: 0.98}
.c46.c46{margin: 0; font-size: 18px; line-height: 1.6; font-weight: 300; color: #3A3935; max-width: 520px}
.c47.c47{margin: 0; display: flex; flex-direction: column; border-top: 1px solid #111111; max-width: 520px}
.c48.c48{display: flex; justify-content: space-between; gap: 24px; padding: 18px 0; border-bottom: 1px solid #DCD9D2}
.c49.c49{margin: 0; font-size: 16px}
.c4a.c4a{margin: 0; font-size: 16px; text-align: right; line-height: 1.5}
.c4b.c4b{flex: 1.3 1 440px; background: #FFFFFF; border: 1px solid #DCD9D2; padding: clamp(24px, 4vw, 48px)}
.c4c.c4c{display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px}
.c4d.c4d{display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500}
.c4e.c4e{font: inherit; font-weight: 400; font-size: 16px; padding: 12px 14px; min-height: 48px; border: 1px solid #BDB9B0; background: #FFFFFF; color: #111111}
.c4f.c4f{font: inherit; font-weight: 400; font-size: 16px; line-height: 1.5; padding: 12px 14px; border: 1px solid #BDB9B0; background: #FFFFFF; color: #111111; resize: vertical}
.c50.c50{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px}
.c51.c51{font-size: 13px; color: #5A5853}
.c52.c52{font: inherit; font-size: 16px; font-weight: 500; background: #111111; color: #FFFFFF; border: 0; padding: 14px 28px; min-height: 48px; cursor: pointer}
.c53.c53{margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.1}
.c54.c54{margin: 0; font-size: 17px; line-height: 1.6; font-weight: 300; color: #3A3935}
.c55.c55{align-self: flex-start; font: inherit; font-size: 15px; background: transparent; color: #111111; border: 1px solid #111111; padding: 10px 20px; min-height: 44px; cursor: pointer}
.c56.c56{margin: 0 clamp(20px, 5vw, 72px) 112px; aspect-ratio: 21 / 8; overflow: hidden; background: #3A4248}
.c57.c57{padding: 96px clamp(20px, 5vw, 72px) 64px; display: flex; flex-direction: column; gap: 24px; max-width: 1080px}
.c58.c58{margin: 0; font-size: 18px; line-height: 1.6; font-weight: 300; color: #3A3935; max-width: 720px}
.c59.c59{padding: 0 clamp(20px, 5vw, 72px) 112px; display: flex; flex-wrap: wrap; gap: 48px 80px; align-items: flex-start}
.c5a.c5a{flex: 1 1 220px; display: flex; flex-direction: column; gap: 4px; font-size: 15px}
.c5b.c5b{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; color: #5A5853; padding-bottom: 8px}
.c5c.c5c{text-decoration: none; min-height: 40px; display: flex; align-items: center}
.c5d.c5d{flex: 4 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 72px}
.c5e.c5e{display: flex; flex-direction: column; gap: 20px}
.c5f.c5f{margin: 0; font-size: clamp(26px, 2.6vw, 36px); font-weight: 500; letter-spacing: -0.02em}
.c60.c60{border-top: 1px solid #111111}
.c61.c61{position: relative; height: 86vh; min-height: 560px; max-height: 960px; background: #2A2F33; color: #FFFFFF; overflow: hidden}
.c62.c62{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0}
.c63.c63{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0) 55%, rgba(17,17,17,0.55) 100%); pointer-events: none}
.c64.c64{position: absolute; left: 0; right: 0; bottom: 0; padding: 0 clamp(20px, 5vw, 72px) 40px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px}
.c65.c65{text-decoration: none; color: #FFFFFF; display: flex; flex-direction: column; gap: 6px}
.c66.c66{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: #D6DDE1}
.c67.c67{font-size: 20px; font-weight: 500}
.c68.c68{display: flex; gap: 4px}
.c69.c69{width: 44px; height: 44px; padding: 0; background: transparent; border: 0; cursor: pointer; display: flex; align-items: center; justify-content: center}
.c6a.c6a{display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-bottom: 1px solid #DCD9D2; background: #FFFFFF}
.c6b.c6b{padding: 36px clamp(20px, 3vw, 40px); border-right: 1px solid #ECEAE5; display: flex; flex-direction: column; gap: 6px}
.c6c.c6c{font-size: 40px; font-weight: 500; letter-spacing: -0.02em}
.c6d.c6d{padding: 36px clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 6px}
.c6e.c6e{font-size: 22px; font-weight: 500; line-height: 1.25}
.c6f.c6f{padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-direction: column; gap: 48px}
.c70.c70{display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px}
.c71.c71{display: flex; flex-direction: column; gap: 14px}
.c72.c72{font-size: 16px; font-weight: 500; text-underline-offset: 6px; min-height: 44px; display: inline-flex; align-items: center}
.c73.c73{position: relative; display: block; overflow: hidden; text-decoration: none; color: #111111; aspect-ratio: 21 / 9; grid-column: 1 / -1;}
.c74.c74{position: absolute; inset: 0; background: #E6E3DC; display: flex; align-items: center; justify-content: center}
.c75.c75{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0.05) 30%, rgba(17,17,17,0.78) 100%); display: flex; align-items: flex-end; padding: 28px}
.c76.c76{display: flex; flex-direction: column; gap: 8px; color: #FFFFFF}
.c77.c77{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; color: #D6DDE1}
.c78.c78{font-size: 26px; font-weight: 500; letter-spacing: -0.01em}
.c79.c79{font-size: 15px; color: #E6EAEC}
.c7a.c7a{position: relative; display: block; overflow: hidden; text-decoration: none; color: #111111; aspect-ratio: 4 / 3;}
.c7b.c7b{position: absolute; inset: 0; background: #DEDAD2; display: flex; align-items: center; justify-content: center}
.c7c.c7c{align-self: flex-start; font-size: 16px; font-weight: 500; text-underline-offset: 6px}
.c7d.c7d{background: #111111; color: #FFFFFF; padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 64px}
.c7e.c7e{flex: 1 1 420px; display: flex; flex-direction: column; gap: 24px}
.c7f.c7f{margin: 0; font-size: 18px; line-height: 1.6; color: #C9CDCF; font-weight: 300; max-width: 560px}
.c80.c80{flex: 1 1 420px; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column}
.c81.c81{display: flex; justify-content: space-between; gap: 24px; padding: 26px 0; border-top: 1px solid #3A3A38}
.c82.c82{font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #9FB3C0}
.c83.c83{display: flex; justify-content: space-between; gap: 24px; padding: 26px 0; border-top: 1px solid #3A3A38; border-bottom: 1px solid #3A3A38}
.c84.c84{display: flex; flex-direction: column; gap: 14px; max-width: 720px}
.c85.c85{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1px; background: #DCD9D2; border: 1px solid #DCD9D2}
.c86.c86{text-decoration: none; background: #F6F5F2; padding: 36px; display: flex; flex-direction: column; gap: 14px; min-height: 220px}
.c87.c87{font-size: 16px; line-height: 1.55; color: #4A4843}
.c88.c88{padding: 0 clamp(20px, 5vw, 72px) 112px; display: flex; flex-direction: column; gap: 48px}
.c89.c89{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 32px}
.c8a.c8a{display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 2px solid #111111}
.c8b.c8b{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #2F4A5A}
.c8c.c8c{font-size: 21px; font-weight: 500}
.c8d.c8d{font-size: 15px; line-height: 1.55; color: #4A4843}
.c8e.c8e{background: #FFFFFF; padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 64px; align-items: center}
.c8f.c8f{margin: 0; font-size: 18px; line-height: 1.65; color: #3A3935; font-weight: 300; max-width: 600px}
.c90.c90{background: #111111; color: #C9CDCF; padding: 64px clamp(20px, 5vw, 72px) 40px; display: flex; flex-direction: column; gap: 48px}
.c91.c91{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px}
.c92.c92{display: flex; flex-direction: column; gap: 20px; color: #FFFFFF}
.c93.c93{display: flex; flex-wrap: wrap; gap: 40px; align-items: center; padding-top: 16px}
.c94.c94{display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5}
.c95.c95{font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; color: #8E9396}
.c96.c96{display: flex; flex-direction: column; gap: 8px; font-size: 15px}
.c97.c97{padding: 56px clamp(20px, 5vw, 72px) 40px; display: flex; flex-direction: column; gap: 28px}
.c98.c98{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.14em; text-decoration: none; color: #5A5853; align-self: flex-start; min-height: 44px; display: inline-flex; align-items: center}
.c99.c99{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px}
.c9a.c9a{margin: 0; font-size: clamp(44px, 6.4vw, 96px); font-weight: 500; letter-spacing: -0.03em; line-height: 0.96}
.c9b.c9b{color: #8A877F}
.c9c.c9c{margin: 0 clamp(20px, 5vw, 72px); aspect-ratio: 16 / 9; overflow: hidden; background: #3A4248}
.c9d.c9d{padding: 96px clamp(20px, 5vw, 72px); display: flex; flex-wrap: wrap; gap: 64px}
.c9e.c9e{flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 24px}
.c9f.c9f{margin: 0; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.4; font-weight: 400; letter-spacing: -0.01em; max-width: 820px}
.ca0.ca0{margin: 0; font-size: 18px; line-height: 1.65; font-weight: 300; color: #3A3935; max-width: 720px}
.ca1.ca1{flex: 1 1 320px; margin: 0; display: flex; flex-direction: column; border-top: 1px solid #111111}
.ca2.ca2{padding: 0 clamp(20px, 5vw, 72px); display: flex; flex-direction: column; gap: 24px}
.ca3.ca3{margin: 0; aspect-ratio: 21 / 9; overflow: hidden; background: #3A4248}
.ca4.ca4{margin-top: 112px; background: #FFFFFF; padding: 112px clamp(20px, 5vw, 72px); display: flex; flex-direction: column; gap: 48px}
.ca5.ca5{margin: 0; font-size: 16px; line-height: 1.6; color: #4A4843; max-width: 440px; font-weight: 300}
.ca6.ca6{display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 32px; align-items: start}
.ca7.ca7{margin: 0; display: flex; flex-direction: column; gap: 14px; grid-column: 1 / -1}
.ca8.ca8{border: 1px solid #ECEAE5; padding: 24px; background: #FFFFFF}
.ca9.ca9{width: 100%; height: auto; display: block}
.caa.caa{margin: 0; display: flex; flex-direction: column; gap: 14px; max-width: 640px}
.cab.cab{position: relative; display: block; height: 520px; overflow: hidden; text-decoration: none; color: #FFFFFF; background: #2A2F33}
.cac.cac{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block}
.cad.cad{position: absolute; inset: 0; background: rgba(17,17,17,0.5)}
.cae.cae{position: absolute; left: 0; right: 0; bottom: 0; padding: 0 clamp(20px, 5vw, 72px) 64px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px}
.caf.caf{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.18em; color: #D6DDE1}
.cb0.cb0{font-size: clamp(36px, 5vw, 72px); font-weight: 500; letter-spacing: -0.025em; line-height: 1}
.cb1.cb1{font-size: 18px; font-weight: 500}
.cb2.cb2{padding: 72px clamp(20px, 5vw, 72px)}
.cb3.cb3{margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-top: 1px solid #111111}
.cb4.cb4{display: flex; flex-direction: column; gap: 8px; padding: 20px 24px 20px 0; border-bottom: 1px solid #DCD9D2}
.cb5.cb5{margin: 0; font-size: 18px}
.cb6.cb6{padding: 0 clamp(20px, 5vw, 72px) 112px; display: flex; flex-direction: column; gap: 24px}
.cb7.cb7{display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px}
.cb8.cb8{margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #3A4248}
.cb9.cb9{position: relative; display: block; height: 480px; overflow: hidden; text-decoration: none; color: #FFFFFF; background: #2A2F33}
.cba.cba{padding: 0 clamp(20px, 5vw, 72px) 112px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; align-items: start}
.cbb.cbb{margin: 0; display: flex; flex-direction: column; gap: 14px}
.cbc.cbc{padding: 0 clamp(20px, 5vw, 72px) 112px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px}
.cbd.cbd{padding: 0 clamp(20px, 5vw, 72px) 112px}
.cbe.cbe{margin: 0; max-width: 760px; aspect-ratio: 4 / 3; overflow: hidden; background: #3A4248}
.cbf.cbf{padding: 0 clamp(20px, 5vw, 72px); display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px}
.cc0.cc0{aspect-ratio: 16 / 9; overflow: hidden; background: #3A4248}
.cc1.cc1{padding: 80px clamp(20px, 5vw, 72px) 48px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 32px}
.cc2.cc2{display: flex; flex-direction: column; gap: 18px; max-width: 760px}
.cc3.cc3{margin: 0; font-size: clamp(48px, 7vw, 104px); font-weight: 500; letter-spacing: -0.03em; line-height: 0.95}
.cc4.cc4{margin: 0; font-size: 18px; line-height: 1.6; font-weight: 300; color: #3A3935}
.cc5.cc5{display: flex; flex-wrap: wrap; gap: 8px}
.cc6.cc6{display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 32px}
.cc7.cc7{position: relative; display: block; overflow: hidden; text-decoration: none; color: #111111; aspect-ratio: 4 / 3; background: #DEDAD2}
.cc8.cc8{position: absolute; inset: 0}
.cc9.cc9{position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0.05) 30%, rgba(17,17,17,0.8) 100%); display: flex; align-items: flex-end; padding: 26px}
.cca.cca{font-size: 24px; font-weight: 500; letter-spacing: -0.01em}