body { font-family: "Source Serif 4", serif; line-height: 1.4; font-optical-sizing: auto; background: #ececec; font-size: var(--nm); color: #2B211A; }
main { animation: section-rise 0.85s cubic-bezier(0.2, 0.8, 0.2, 1) both; }

.font-size-1 { font-size: clamp(5rem, 8.5vw, 10.2rem); }
.font-size-2 { font-size: clamp(3.4rem, 5.17vw, 5rem); }
.font-size-3 { font-size: clamp(2.2rem, 2.83vw, 3.4rem); }

#page { background: #F6EDE2; max-width: 1920px; width: 100%; margin-left: auto; margin-right: auto; }

.container { max-width: 1080px; width: 100%; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; }
.progress-bar { position: fixed; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #c86943, #cea252); transform: scaleX(0); transform-origin: left center; z-index: 50; }

.hero { padding: var(--xl-2) 0 var(--xl-4); position: relative; background: #f5faff; }
.hero h1 { line-height: 1.4; }
.hero > .container { position: relative; max-width: 1280px; }
.hero:before { content: ''; width: 100%; height: 100%; position: absolute; background: url(./../images/bfp2/bfp2-img-1.webp) right center no-repeat; background-size: auto 100%; top: 0; left: 0; }

.hero-wrap { max-width: 900px; }
.hero-hd-wrap { text-align: center; letter-spacing: 1px; text-transform: uppercase; text-wrap: balance; position: relative; }
.hero-hd-1 { font-size: clamp(3.6rem, 7.08vw, 8.5rem); display: block; }
.hero-hd-2 { font-size: clamp(2.8rem, 5.83vw, 7rem); display: block; position: relative; }
.hero-hd-2:before { content: ''; height: 2px; max-width: 550px; width: 100%; background: linear-gradient(to right, transparent, #2B211A 25%, transparent 25% 75%, #2B211A 75%, transparent); left: 50%; top: 50%; transform: translate(-50%, -50%); position: absolute; }
.hero-hd-3 { font-size: clamp(4.8rem, 9.17vw, 11rem); display: block; }
.hero-hd-4 { font-size: clamp(4.2rem, 7.92vw, 9.5rem); display: block; }
.hero-hd-5 { max-width: 500px; margin-left: auto; margin-right: auto; text-align: center; }

.btn-style-1 { background: linear-gradient(to right, #ed6b3b, #fecb41); padding: 3px; border-radius: 8px; display: block; line-height: 1; position: relative; overflow: hidden; box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.6); transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease; -webkit-user-drag: none; }
.btn-style-1 > span { background: linear-gradient(to right, #cf411c, #fdbc38); padding: 16px; border-radius: 8px; display: block; position: relative; overflow: hidden; letter-spacing: 1px; font-weight: 900; text-transform: uppercase; color: #fff; text-align: center; transition: transform 220ms ease, background-position 320ms ease; }
.btn-style-1 > span::after { content: ''; position: absolute; top: 0; left: -35%; width: 22%; height: 100%; background: linear-gradient(to right, transparent, rgba(255,255,255,0.45), transparent); opacity: 0; transform: skewX(-24deg); transition: transform 420ms ease, opacity 220ms ease; }
.btn-style-1:hover, .btn-style-1:focus-visible { transform: translateY(-4px) scale(1.005); box-shadow: 0 18px 38px -18px rgba(0,0,0,0.8); filter: saturate(1.08); }
.btn-style-1:hover > span, .btn-style-1:focus-visible > span { transform: translateY(-1px); }
.btn-style-1:hover > span::after, .btn-style-1:focus-visible > span::after { opacity: 1; transform: translateX(520%) skewX(-24deg); }
.btn-style-1:active { transform: translateY(-1px) scale(0.9995); }
.btn-1 { max-width: 600px; margin-left: auto; margin-right: auto; }

.width-1080 { max-width: 1080px; }
.width-960 { max-width: 960px; }
.width-900 { max-width: 900px; }
.width-870 { max-width: 870px; }
.width-800 { max-width: 800px; }
.width-750 { max-width: 750px; }

.border-1 { border-left: 3px solid #ff5400; }
.border-2 { border-left: 3px solid rgba(255, 236, 216, 0.42); }
.border-3 { border-left: 3px solid #8E3F24; }

.box-1 { border-radius: 8px; box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.8); margin-left: calc(-1 * var(--lg)); margin-right: calc(-1 * var(--lg)); }
.box-2 { border-radius: 8px; box-shadow: 0px 0px 30px -20px rgba(0,0,0,0.5); margin-left: calc(-1 * var(--lg)); margin-right: calc(-1 * var(--lg)); }
.box-3 { border-radius: 8px; margin-left: calc(-1 * var(--lg)); margin-right: calc(-1 * var(--lg)); }
.box-4 { border-radius: 8px; box-shadow: 0px 0px 30px -20px rgba(0,0,0,0.5); }
.box-5 { background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,245,241,0.98)); background-size: 200% auto; border-radius: 8px; border: 1px solid rgba(31,74,74,0.1); position: relative; margin-left: calc(-1 * var(--lg)); margin-right: calc(-1 * var(--lg)); }
.box-5::before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }
.box-6 { border-radius: 8px; border: 1px solid rgba(31,74,74,0.1); position: relative; }
.box-6::before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }

.box-head-1 { background: linear-gradient(135deg, rgba(31,74,74,0.12), rgba(232,199,168,0.18), rgba(255,255,255,0)); overflow: hidden; position: relative; border-top-left-radius: 8px; border-top-right-radius: 8px; }

.sec-1:before { opacity: 0.3; background-image: url(./../images/bfp2/bfp2-img-6.webp), url(./../images/bfp2/bfp2-img-6b.webp) ; background-size: auto 100%; background-position: left center, right center; background-repeat: no-repeat; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.sec-1 > .container { max-width: 1140px; }

.sec-2 { background: #152025; position: relative; }
.sec-2 > .container { max-width: 1280px; position: relative; }
.sec-2:before { background: url(./../images/bfp2/bfp2-img-4.webp) right center no-repeat; background-size: auto 100%; content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; }

.sec-4 { position: relative; }
.sec-4 > .container { max-width: 1440px; position: relative;  }
.sec-4:before { background: url(./../images/bfp2/bfp2-img-7.webp) right center no-repeat; background-size: auto 100%; content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; }

.sec-4-a { max-width: 760px; }
.sec-4-b { max-width: 940px; }

.sec-5 { overflow-x: hidden; }

.sec-7 { background: linear-gradient(135deg, #F6EDE2, #FFF9F2); }

.sec-8 { background: #fff; position: relative; }
.sec-8 > .container { position: relative; }
.sec-8:before { opacity: 0.2; background-image: url(./../images/bfp2/bfp2-img-13.webp), url(./../images/bfp2/bfp2-img-13b.webp); background-position: bottom left, top right; background-size: contain contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-9 { background: #fff; position: relative; }
.sec-9 > .container { position: relative; }
.sec-9:before { opacity: 0.6; background-image: url(./../images/bfp2/bfp2-img-15.webp), url(./../images/bfp2/bfp2-img-15b.webp); background-position: top right, bottom left; background-size: contain; background-repeat: no-repeat, repeat ; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-10 { background: #f7f7f7; position: relative; }
.sec-10 > .container { position: relative; }
.sec-10:before { opacity: 0.2; background-image: url(./../images/bfp2/bfp2-img-16.webp); background-position: center left; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }
.sec-10:after { opacity: 0.2; background-image: url(./../images/bfp2/bfp2-img-16.webp); background-position: center left; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; transform: scaleX(-1); }

.sec-12 { background: #e9e9e9; position: relative; }
.sec-12 > .container { position: relative; }
.sec-12:before { background: #e9e9e9 url(./../images/bfp2/bfp2-img-18.webp); background-position: center right; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; transform: scaleX(-1);  }
.sec-12-a { max-width: 930px; margin-left: auto; }

.sec-14 { background: radial-gradient(#f9f4f0, #F6EDE2); }

.sec-15 { background: #fff; position: relative; }
.sec-15 > .container { position: relative; }
.sec-15:before { background: url(./../images/bfp2/bfp2-img-21.webp); background-position: center right; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }
.sec-15-a { max-width: 800px; margin-left: -60px; }

.sec-16 { background: #fff; position: relative; }
.sec-16 > .container { position: relative; }
.sec-16:before { background: url(./../images/bfp2/bfp2-img-22.webp); background-position: center left; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }
.sec-16-a { max-width: 950px; margin-left: auto; }

.sec-17 { background: #f7f7f7; position: relative; }
.sec-17 > .container { position: relative; }
.sec-17:before { opacity: 0.8; background: url(./../images/bfp2/bfp2-img-23.webp); background-position: center right; background-size: auto 100%; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }
.sec-17-a { max-width: 900px; }

.sec-20 { background: #f7f7f7; position: relative; overflow-x: hidden; }
.sec-20 > .container { position: relative; }
.sec-20:before { opacity: 0.4; background: url(./../images/bfp2/bfp2-img-24.webp); background-position: center left; background-size: cover; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }

.sec-21 { background: #E8C7A8; position: relative; }
.sec-21 > .container { position: relative; }
.sec-21:before { opacity: 0.1; background: url(./../images/bfp2/bfp2-img-26.webp); background-position: center; background-size: cover; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }

.sec-23 { background: #F6EDE2; position: relative; }
.sec-23 > .container { position: relative; }
.sec-23 .box-2 { margin-bottom: -200px; }
.sec-23:before { opacity: 0.5; background: url(./../images/bfp2/bfp2-img-27.webp); background-size: auto 100%; background-position: center right; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }

.sec-24 { padding-top: 200px; }

.sec-25 { background: #fff; position: relative; }
.sec-25 > .container { position: relative; }
.sec-25:before { opacity: 0.08; background: url(./../images/bfp2/bfp2-img-29.webp); background-size: cover; background-position: top center; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none;  }

.sec-27 { background: #fff; position: relative; }
.sec-27 > .container { position: relative; z-index: 1; }
.sec-27:before { opacity: 0.2; background-image: url(./../images/bfp2/bfp2-img-32.webp), url(./../images/bfp2/bfp2-img-32b.webp); background-position: top left, top right; background-size: contain; background-repeat: no-repeat; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-28 { background: #fff; position: relative; }
.sec-28 > .container { position: relative; }
.sec-28:before { opacity: 0.05; background: url(./../images/bfp2/bfp2-img-33b.webp) center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-29 { background: #FFF9F2; position: relative; }
.sec-29 > .container { position: relative; }
.sec-29:before { opacity: 0.65; background: url(./../images/bfp2/bfp2-img-31b.webp) center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-30 { padding-bottom: 100px; background: #F6EDE2; position: relative; }
.sec-30 > .container { position: relative; }
.sec-30:before { opacity: 0.25; background: url(./../images/bfp2/bfp2-img-31.webp) bottom center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-31 { position: relative; margin-top: -100px; margin-bottom: -100px; }
.sec-31 > .container { position: relative; max-width: 1320px; }
.sec-31:before { opacity: 0.2; background-image: url(./../images/bfp2/bfp2-img-47.webp); background-size: contain; background-position: center; background-repeat: no-repeat; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sec-32 { padding-top: 100px; position: relative; }

.sec-33 { background: linear-gradient(to right, #152025 0%, #283339 30%, #283339);  position: relative; }
.sec-33 > .container { position: relative; }
.sec-33:before { opacity: 0.25; background-image: url(./../images/bfp2/bfp2-img-49.webp); background-size: auto 100%; background-position: right center; background-repeat: no-repeat; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sec-34 { background: #1F4A4A; color: #fff;  position: relative; }
.sec-34 > .container { position: relative; }
.sec-34:before { opacity: 1; background-image: url(./../images/bfp2/bfp2-img-50.webp); background-size: auto 100%; background-position: right  center; background-repeat: no-repeat; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sec-35 { background: #FFF9F2; position: relative; }
.sec-35 > .container { position: relative; }
.sec-35:before { opacity: 0.22; background: url(./../images/bfp2/bfp2-img-31c.webp) center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-36 { background: #FFF9F2; position: relative; }
.sec-36 > .container { position: relative; }
.sec-36:before { opacity: 0.08; background: url(./../images/bfp2/bfp2-img-52.webp) top center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-38 { position: relative; }
.sec-38 > .container { position: relative; max-width: 1240px; }
.sec-38:before { opacity: 0.05; background: url(./../images/bfp2/bfp2-img-53b.webp) top center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-39 > .container { position: relative; }

.sec-34 { background: #1F4A4A; color: #fff;  position: relative; }
.sec-34 > .container { position: relative; }
.sec-34:before { opacity: 1; background-image: url(./../images/bfp2/bfp2-img-50.webp); background-size: auto 100%; background-position: right  center; background-repeat: no-repeat; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sec-42 { padding-bottom: 100px; position: relative; z-index: 1; }

.sec-43 { background: linear-gradient(to top, #FFF9F2 100px, #F6EDE2 100px); position: relative; }
.sec-43 > .container { position: relative; max-width: 1280px; margin-top: -100px; position: relative; z-index: 2; }
.sec-43:before { opacity: 0.25; background: url(./../images/bfp2/bfp2-img-31c.webp) bottom center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-45 { position: relative; overflow-x: hidden; }
.sec-45 > .container { position: relative; }
.sec-45:before { opacity: 0.08; background: url(./../images/bfp2/bfp2-img-29.webp) top center no-repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-47 { background: linear-gradient(to bottom, #fff 120px, #fff9f2 120px); }

.sec-48 { position: relative; }
.sec-48 > .container { position: relative; }
.sec-48:before { opacity: 0.2; background: url(./../images/bfp2/bfp2-img-31c.webp) bottom center no-repeat; background-size: auto; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-49 { position: relative; }
.sec-49 > .container { position: relative; }
.sec-49:before { opacity: 0.3; background: url(./../images/bfp2/bfp2-img-31b.webp) center repeat; background-size: cover; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.sec-52 { background: linear-gradient(to bottom, #fff 100px, #f9f9f9 100px); position: relative; }
.sec-52 > .container { position: relative; }
.sec-52:before { opacity: 0.1; background: url(./../images/bfp2/bfp2-img-66.webp); background-size: cover; background-position: bottom right; background-repeat: no-repeat; position: absolute; top: 100px; left: 0; width: 100%; height: calc(100% - 100px); content: ''; pointer-events: none; }

.flex-1 { display: flex; gap: 16px; align-items: flex-start; }
.flex-1 img { border-radius: 6px; }
.flex-1 > div { box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }
.flex-1 > div:last-child { padding: var(--lg); flex-grow: 1; }
.flex-1 > div:first-child { max-width: clamp(32rem, 30.08vw, 36.1rem); padding: 6px; flex-shrink: 0; }

.flex-2 { display: flex; gap: 16px; align-items: flex-start; margin-top: 16px; }
.flex-2 img { border-radius: 6px; }
.flex-2 > div { box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }
.flex-2 > div:first-child { padding: var(--lg); flex-grow: 1; }
.flex-2 > div:last-child { max-width: clamp(29.8rem, 29.75vw, 35.7rem); padding: 6px; flex-shrink: 0; }

.flex-3 { display: flex; gap: var(--lg); align-items: center; }
.flex-3 img { border-radius: 6px; }
.flex-3 > div:first-child { margin-left: -32px; padding: 6px; max-width: clamp(35.5rem, 37.5vw, 45rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-4 { display: flex; gap: 16px; flex-direction: column; }
.flex-4 > div { padding: var(--lg); background: #fff;  }

.flex-5 { display: flex; gap: 16px; align-items: flex-end; }
.flex-5 > div:last-child { margin: 0 calc(-1 * clamp(5rem, 11vw, 17.5rem)) 0 -80px; max-width: clamp(50rem, 51.25vw, 61.5rem); flex-shrink: 0; }
.flex-5 > div:last-child img { margin-top: -115px; position: relative; }

.flex-6 { display: flex; gap: var(--lg); align-items: center; flex-direction: row-reverse; }
.flex-6 img { border-radius: 6px; }
.flex-6 > div:first-child { margin-right: -40px; padding: 6px; max-width: clamp(27.5rem, 27.5vw, 33rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; margin-top: calc((-1 * var(--xl)) - 33px); position: relative; }

.flex-7 { display: flex; gap: var(--lg); }
.flex-7 > div:first-child { padding: 0px; max-width: 310px; flex-shrink: 0; margin-bottom: -6px; margin-right: -6px; }

.flex-8 { display: flex; gap: var(--lg); }
.flex-8 > div:last-child { max-width: clamp(21rem, 21.67vw, 26rem); margin-bottom: calc(-1 * var(--lg)); margin-top: calc((-1 * var(--lg)) - 14px); }

.flex-9 { display: flex; gap: var(--lg); align-items: flex-start; }
.flex-9 > div:first-child { max-width: clamp(31rem, 29.58vw, 35.5rem); padding: 6px; flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff;  }

.flex-10 { display: flex; gap: var(--lg); align-items: flex-end; }
.flex-10 > div:last-child { max-width: clamp(34.5rem, 35.42vw, 42.5rem); margin: calc((-1 * var(--xl)) - 80px) calc(-1 * clamp(7.5rem, 11.67vw, 14rem)) calc(-1 * var(--xl)) 0; flex-shrink: 0; position: relative; }

.flex-11 { display: flex; gap: var(--lg); align-items: center; }
.flex-11 img { border-radius: 6px; }
.flex-11 > div:first-child { margin-left: -32px; padding: 6px; max-width: 360px; flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-12 { display: flex; gap: var(--lg); align-items: center; align-items: flex-end; }
.flex-12 > div:last-child { margin: calc((-1 * var(--xl)) - 32px) -94px 0 0; max-width: 385px; flex-shrink: 0; }

.flex-13 { display: flex; gap: var(--lg); align-items: flex-start; }
.flex-13 img { border-radius: 6px; }
.flex-13 > div:last-child { margin-right: -32px; padding: 6px; max-width: 380px; flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-14 { display: flex; gap: var(--lg); align-items: center; align-items: flex-end; }
.flex-14 > div:last-child { margin: calc((-1 * var(--xl)) - 100px) 0 calc((-1 * var(--xl))) 0; max-width: clamp(25rem, 25vw, 30rem); flex-shrink: 0; position: relative; }

.flex-15 { display: flex; gap: var(--lg);}
.flex-15 img { border-radius: 6px; object-fit: cover; object-position: 100% 50%; max-width: none; width: 100%; height: 100%; }
.flex-15 > div:first-child { overflow: hidden; margin-left: -100px; max-width: clamp(28rem, 28.75vw, 34.5rem); height: 485px; flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border: 6px solid #fff; border-radius: 6px; background: #fff; }

.flex-16 { display: flex; gap: var(--lg); align-items: center; }
.flex-16 img { border-radius: 6px; }
.flex-16 > div:first-child { margin-left: -100px; padding: 6px; max-width: clamp(27.5rem, 28.75vw, 34.5rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-17 { display: flex; gap: var(--lg); align-items: flex-start; }
.flex-17 img { border-radius: 6px; }
.flex-17 > div:last-child { padding: 6px; max-width: clamp(33rem, 34.58vw, 41.5rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-18 { display: flex; gap: var(--lg); align-items: flex-start; margin-top: 1em; margin-bottom: 1em; }
.flex-18 img { border-radius: 6px; }
.flex-18 > div:first-child { margin-left: calc(-1 * var(--xl)); padding: 6px; max-width: clamp(28rem, 30vw, 36rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-19 { counter-increment: sec-31-item; width: calc(50% - 16px); padding: 24px; gap: 16px; display: flex; flex-direction: row; background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,245,241,0.98)); background-size: auto; background-size: 200% auto; border-radius: 8px; align-items: center; margin: 0; justify-content: center; border: 1px solid rgba(31,74,74,0.1); position: relative; }
.flex-19::before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }
.flex-19 > div:first-child { flex-shrink: 0; width: 220px; margin-left: -55px; }
.flex-19 > div:first-child img { width: 100%; margin-left: auto; margin-right: auto; position: relative; }
.flex-19 > div:last-child { flex-grow: 1; }
.flex-19::after { content: counter(sec-31-item, decimal-leading-zero); position: absolute; top: -15px; right: -15px; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #1F4A4A; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.08em; box-shadow: 0 12px 20px -14px rgba(31,74,74,0.7); }

.flex-20 { display: flex; flex-wrap: wrap; gap: 32px; }

.flex-21 { display: flex; gap: var(--lg); align-items: center; }
.flex-21 img { border-radius: 6px; }
.flex-21 > div:first-child { margin-left: -100px; padding: 6px; max-width: clamp(23.5rem, 25.83vw, 31rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-22 { display: flex; gap: var(--lg); align-items: flex-start; margin-top: 1em; flex-direction: row-reverse; }
.flex-22 img { border-radius: 6px; }
.flex-22 > div:last-child { margin-left: -100px; padding: 6px; max-width: clamp(33.5rem, 32.92vw, 39.5rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-23 { display: flex; gap: var(--lg); align-items: flex-start; margin-right: -65px; }
.flex-23 img { border-radius: 6px; }
.flex-23 > div:first-child { padding: 6px; max-width: clamp(28rem, 27.08vw, 32.5rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-24 { width: calc(50% - 16px); padding: 24px; gap: 16px; display: flex; background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,245,241,0.98)); background-size: auto; background-size: 200% auto; border-radius: 8px; align-items: center; justify-content: center; border: 1px solid rgba(31,74,74,0.1); position: relative; }
.flex-24::before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }
.flex-24 > div:first-child { flex-shrink: 0; width: 220px; margin-left: -58px; }
.flex-24 > div:first-child img { width: 100%; margin-left: auto; margin-right: auto; position: relative; }
.flex-24 > div:last-child { flex-grow: 1; }
.flex-24::after { content: 'FREE'; position: absolute; padding: 4px; top: -15px; right: -15px; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #ae1313; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.08em; box-shadow: 0 12px 20px -14px rgba(31,74,74,0.7); }

.flex-25 { display: flex; flex-wrap: wrap; gap: 32px; }

.flex-26 { display: flex; gap: var(--lg); align-items: flex-end; margin-right: -65px; }
.flex-26 img { border-radius: 6px; }
.flex-26 > div:last-child { margin: -50px -80px calc(-1 * var(--xl)) 0; padding: 6px; max-width: 480px; flex-shrink: 0; }

.flex-27 { display: flex; gap: var(--lg); align-items: center; }
.flex-27 img { border-radius: 6px; }
.flex-27 > div:last-child { margin-right: -190px; max-width: clamp(22.5rem, 25vw, 30rem); flex-shrink: 0; }

.flex-28 { display: flex; gap: var(--lg); align-items: center; flex-direction: row-reverse; }
.flex-28 img { display: block; margin: calc((-1 * var(--lg)) - 30px) 0; }
.flex-28 > div:last-child { margin-left: -10px; padding: 6px; max-width: clamp(20rem, 26.67vw, 32rem); flex-shrink: 0; }

.flex-29 { display: flex; gap: var(--lg); align-items: flex-start; }
.flex-29 img { border-radius: 6px; }
.flex-29 > div:first-child { padding: 6px; max-width: clamp(31rem, 27.92vw, 33.5rem); flex-shrink: 0; box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); border-radius: 6px; background: #fff; }

.flex-30 { display: flex; gap: 16px; align-items: center; }
.flex-30 img { border-radius: 6px; }
.flex-30 > div { width: 33%; padding: 8px; border-radius: 8px; text-align: center; background: #fff; border: 1px solid rgba(31,74,74,0.08); box-shadow: 0 22px 38px -34px rgba(43,33,26,0.42); }

.flex-31 { display: flex; gap: var(--lg); }
.flex-31 > div { position: relative; }
.flex-31 > div:first-child { width: 50%; background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,240,232,0.98)); }
.flex-31 > div:last-child { width: 50%; background: linear-gradient(135deg, #fff8ef, #efddca); }
.flex-31 > div:before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }

.flex-32 { display: flex; gap: var(--lg); align-items: flex-end; }
.flex-32 > div:last-child { margin: calc((-1 * var(--xl)) - 30px) 42px calc(-1 * var(--xl)) 0px; max-width: clamp(29.5rem, 32.5vw, 39rem); flex-shrink: 0; position: relative; }

.list-1 { list-style: none; color: #2B211A; max-width: 850px; margin: 0 auto; padding: 0; }
.list-1 li { background: #fff; margin-top: 1em; padding: var(--nm); border-radius: 6px; display: flex; gap: var(--nm); align-items: center; }
.list-1 li:before { content: ''; background: url(./../images/bfp2/bfp2-img-17.webp) center no-repeat; width: 42px; height: 42px; background-size: auto 100%; display: block; flex-shrink: 0; }

.list-2 { list-style: none; color: #2B211A; max-width: 900px; margin-left: auto; margin-right: auto; padding: 0; gap: 1em; display: flex; flex-wrap: wrap; font-weight: 600; align-items: center; justify-content: center; }
.list-2 li { background: #fff; margin: 0; padding: var(--nm); width: 48%; border-radius: 6px; display: flex; gap: var(--nm); align-items: center; }

.list-3 { list-style: none; color: #2B211A; margin: 0; padding: 0; }
.list-3 li { background: #fff; border: 1px solid #e7e7e7; margin-top: 1em; padding: var(--nm); border-radius: 6px; display: flex; gap: var(--nm); align-items: center; }
.list-3 li:before { content: ''; background: url(./../images/bfp2/bfp2-img-17.webp) center no-repeat; width: 42px; height: 42px; background-size: auto 100%; display: block; flex-shrink: 0; }

.list-4 { list-style: none; margin: 0; padding: 0; }
.list-4 li { position: relative; padding-left: 24px; }
.list-4 li:before { content: ''; position: absolute; top: 0.5em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #E8C7A8; box-shadow: 0 0 0 6px rgba(232,199,168,0.12); }

.p-list-1 p { counter-increment: list-5-item; padding-left: 58px; position: relative; }
.p-list-1 p:before { content: counter(list-5-item, decimal-leading-zero); width: 42px; height: 42px; border-radius: 50%; top: -4px; left: 0; flex-shrink: 0; position: absolute; display: inline-flex; align-items: center; justify-content: center; background: #1F4A4A; color: #fff; font-family: "Manrope", sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: 0.08em; box-shadow: 0 12px 20px -14px rgba(31,74,74,0.7); line-height: 1; }

.p-list-2 p { position: relative; padding-left: 24px; }
.p-list-2 p:before { content: ''; position: absolute; top: 0.5em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #E8C7A8; box-shadow: 0 0 0 6px rgba(232,199,168,0.12); }

.img-1 { position: absolute; top: 0; }

.img-2 { max-width: initial; max-width: 220px; width: 105% !important; margin-top: -15px; margin-bottom: -15px; }
.img-3 { max-width: initial; max-width: 115px; right: -18px; }
.img-4 { max-width: initial; max-width: 175px; right: -21px; margin-bottom: -15px; }
.img-5 { max-width: initial; max-width: 145px; right: -25px; margin-top: -35px; margin-bottom: -35px; }
.img-6 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-7 { max-width: initial; max-width: 200px; }
.img-8 { max-width: initial; max-width: 210px; right: -2px; margin-top: -35px; margin-bottom: -35px; }
.img-9 { max-width: initial; max-width: 165px; right: -16px; margin-top: -35px; margin-bottom: -55px; }
.img-10 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-11 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-12 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-13 { max-width: initial; max-width: 170px; margin-top: -15px; margin-bottom: -55px; }
.img-14 { max-width: 740px; min-width: 630px; width: 40%; position: absolute; bottom: 0; right: 0; pointer-events: none; }

.img-15 { max-width: 250px; margin-top: 16px; }

.img-16 { max-width: initial; max-width: 210px; right: -2px; margin-top: -35px; margin-bottom: -35px; }
.img-17 { max-width: initial; max-width: 165px; right: -16px; margin-top: -35px; margin-bottom: -55px; }
.img-18 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-19 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-20 { max-width: initial; max-width: 205px; margin-top: -35px; margin-bottom: -35px; }
.img-21 { max-width: initial; max-width: 170px; margin-top: -15px; margin-bottom: -55px; }

#footer { padding: 15px 50px; margin: 0 auto; background-color: #000; width: 100%; box-sizing: border-box; display: flex; font-family: 'arial'; justify-content: space-between; }
#footer p { font-size: var(--sm); color: #fff;  }
#footer p a { color: #fff;  }
#footer p a:hover { color: #ffc2a1; }
#footer .rightside { text-align:right; }

.white-1 { color: #fff; }
.brown-1 { color: #6B5A4D; }
.green-1 { color: #1F4A4A; }
.yellow-1 { color: #E8C7A8; }
.orange-1 { color: #C5623E }
.orange-2 { color: #8E3F24 }
.orange-3 { color: #ed6b3b }

.hr-1 { padding: 0; margin: 1em 0; height: 1px; width: 100%; background: #ccc; border: 0; }
.hr-2 { padding: 0; height: 1px; max-width: 220px; width: 100%; background: linear-gradient(90deg, rgba(31,74,74,0), rgba(31,74,74,0.28), rgba(31,74,74,0)); border: 0; }
.hr-3 { padding: 0; height: 1px; max-width: 220px; width: 100%; background: linear-gradient(90deg, rgba(31,74,74,0), rgb(232, 199, 168), rgba(31,74,74,0)); border: 0; }

.bg-1 { background: rgba(255,255,255,0.85); }
.bg-2 { background: linear-gradient(to bottom, #fff, #FFF9F2); border-radius: 6px; }

.bg-3 { position: relative; }
.bg-3 > div { position: relative; }
.bg-3:before { opacity: 0.2; background: url(./../images/bfp2/bfp2-img-12.webp) center right no-repeat; background-size: auto 100%; transform: scaleX(-1); border-top-right-radius: 8px; border-bottom-right-radius: 8px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.bg-4 { position: relative; }
.bg-4 > div { position: relative; }
.bg-4:before { opacity: 1; background: url(./../images/bfp2/bfp2-img-12.webp) center right no-repeat; background-size: auto 100%; border-top-right-radius: 8px; border-bottom-right-radius: 8px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; pointer-events: none; }

.bg-white-1 { background-color: #fff; }
.bg-gray-1 { background-color: #f9f9f9; }
.bg-yellow-1 { background-color: #FFF9F2; }
.bg-yellow-2 { background-color: #F6EDE2; }
.bg-yellow-3 { background-color: #E8C7A8; }
.bg-green-1 { background-color: #1F4A4A; }
.bg-green-2 { background-color: #336868; }
.bg-brown-1 { background-color: #6B5A4D; }
.bg-brown-2 { background-color: #8a7c73; }

.bg-grad-1 { background: linear-gradient(to bottom, #1F4A4A, #163535); }
.bg-grad-2 { background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,243,237,0.98)); position: relative; }
.bg-grad-2:before { border-top-left-radius: 8px; border-top-right-radius: 8px; content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #1F4A4A, #E8C7A8, #C5623E); opacity: 0.95; }
.bg-grad-2:after { content: '"'; position: absolute; top: 12px; right: 18px; font-family: "Fraunces", serif; font-size: 8rem; line-height: 1; color: rgba(31,74,74,0.08); }
.bg-grad-3 { background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(245,231,219,0.98)); position: relative; }


.letter-spacing-1 { letter-spacing: 1px; }
.letter-spacing-2 { letter-spacing: 0.14em; }

.fraunces { font-family: "Fraunces", serif; font-optical-sizing: auto; }
.manrope { font-family: "Manrope", sans-serif; font-optical-sizing: auto; }

.text-balance { text-wrap: balance; }
.uppercase { text-transform: uppercase; }
.no-select { user-select: none; -webkit-user-select: none; -ms-user-select: none; }
.pt-1em { padding-top: 1em; }

@keyframes section-rise { from { opacity: 0; transform: translateY(2rem); } to { opacity: 1; transform: translateY(0); } }


@media (max-width: 1900px) {
    .sec-4 > .container { margin-left: 64px; }
}

@media (max-width: 1740px) {
    .hero:before { background-position: center right -100px; }
    .sec-4 > .container { max-width: 1080px; margin-left: auto; }
    .sec-4:before { opacity: 0.15; }
    .sec-12:before { background-position: center right -115px; }
    .sec-27:before { opacity: 0.08; }
}

@media (max-width: 1620px) {
    .sec-16:before { background-position: center left -180px; }
    .sec-16-a { max-width: 100%; margin-left: auto; margin-right: auto; }
    .sec-17:before { opacity: 0.3; }
    .sec-20:before { opacity: 0.18; }

    .sec-33 > .container { margin-left: 6%; }
    .sec-34 > .container { margin-left: 6%; max-width: 800px; }
}


@media (max-width: 1560px) {
    .hero:before { background-position: center right -100px; }
    .sec-39 .width-800 { max-width: 1080px; }
    .img-14 { opacity: 0.15; max-width: clamp(48rem, 50vw, 60rem); width: 100%; min-width: auto; }
}

@media (max-width: 1440px) {
    .flex-6 > div:first-child { margin-right: 0; }
    .flex-23 { margin-right: 0; }

    .sec-12 { background: linear-gradient(45deg, #f4f4f4, #fff); position: relative; }
    .sec-12-a { max-width: 100%; margin-left: auto; margin-right: auto; }
    .sec-12:before { opacity: 0; }
    
    .sec-23:before { opacity: 0.18; }

    .flex-27 { align-items: flex-start; }
    .flex-27 > div:last-child { margin-right: -60px; }
}

@media (max-width: 1340px) {
    .hero:before { opacity: 0.2; background-position: center right;  }
    .hero-wrap { margin-left: auto; margin-right: auto; }
    .sec-2:before { background-position: right -150px center; }

    .box-1, .box-2, .box-3, .box-5 { margin-left: 0; margin-right: 0; }
}

@media (max-width: 1280px) {
    .sec-9:before { opacity: 0.2; }
    .sec-15:before { opacity: 0.2; }
    .sec-15-a { margin-left: 0; }
    .sec-33 > .container { margin-left: auto; }
    .sec-33:before { opacity: 0.15; }
    .sec-34 > .container { margin-left: auto; max-width: 1080px; }
    .sec-34:before { opacity: 0.15; }
    .sec-38 > .container { max-width: 1080px; }

    .flex-3 > div:first-child, .flex-11 > div:first-child, .flex-16 > div:first-child, .flex-18 > div:first-child, .flex-21 > div:first-child, .flex-22 > div:last-child { margin-left: 0; }
    .flex-13 > div:last-child { margin-right: 0; }

    .flex-12 > div:last-child { max-width: 325px; margin-right: 0; }
    .flex-15 > div:first-child { margin-left: 0; }

    .flex-20 { flex-direction: column; }
    .flex-20 > div { width: 100%; }

    .flex-25 { flex-direction: column; }
    .flex-25 > div { width: 100%; }

    .flex-26 { margin-right: 0; }
    .flex-26 > div:last-child { margin-right: -10px; max-width: clamp(38.5rem, 40vw, 48rem); }
    .flex-27 > div:last-child  { margin-right: 0; }
}

@media (max-width: 1000px) {
    .sec-1-a { box-shadow: 0px 0px 30px -15px rgba(0,0,0,0.5); }
    .flex-1 { flex-direction: column; align-items: center; gap: 20px; max-width: 800px; margin-left: auto; margin-right: auto; }
    .flex-1 > div:first-child { width: 300px; height: 300px; overflow: hidden; position: relative; }
    .flex-1 > div:first-child img { object-fit: cover; width: 100%; height: 100%; object-position: center; }
    .flex-1 > div:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: 1em; box-shadow: none; }
    .flex-2 { flex-direction: column; align-items: center; gap: 20px; max-width: 800px; margin: 0 auto; }
    .flex-2 > div:first-child { width: 100%; border-top-left-radius: 0; border-top-right-radius: 0; padding-top: 0; box-shadow: none; }
    .flex-2 > div:last-child { display: none; }

    .flex-12 { flex-direction: column; align-items: center; }
    .flex-12 > div:last-child { max-width: 300px; margin-left: 0; margin-right: 0; margin-top: -1em; }

    .sec-2:before { opacity: 0.15; background-position: right -200px center; }
    .sec-8:before { background-position: bottom left, top -50px right; background-size: 785px auto, 600px auto; opacity: 0.1; }
    .sec-10:before { display: none; }
    .sec-10:after { opacity: 0.15; }

    .sec-27:before { opacity: 0.08; }
}

@media (max-width: 960px) {
    .flex-5 { flex-direction: column; align-items: center; }
    .flex-5 > div:last-child { margin: 0 auto; max-width: 380px; }
    .flex-5 > div:last-child img { margin: -32px auto 0; }

    .flex-6 { flex-direction: column; align-items: center; }
    .flex-6 > div:first-child { max-width: 220px; margin-left: auto; margin-right: auto; }

    .flex-7 { flex-direction: column; align-items: center; }
    .flex-7 > div:first-child { max-width: 260px; }

    .flex-8 { flex-direction: column; align-items: flex-start; }
    .flex-8 > div:first-child { position: relative; max-width: 600px; }
    .flex-8 > div:last-child { max-width: 183px; position: absolute; bottom: 0; right: 0; opacity: 0.1; pointer-events: none; }

    .flex-9 { flex-direction: column; align-items: center; }
    .flex-9 > div:first-child { position: relative; max-width: 240px; }

    .flex-10 { flex-direction: column; align-items: center; }
    .flex-10 > div:first-child { width: 100%; }
    .flex-10 > div:last-child { max-width: 300px; margin-top: 0; margin-left: auto; margin-right: auto; }

    .flex-11 { flex-direction: column; align-items: center; }
    .flex-11 > div:first-child { max-width: 300px; margin-top: calc(-1 * var(--lg) - 20px); margin-left: auto; margin-right: auto; position: relative; }
    .flex-11 > div:last-child { width: 100%; }

    .flex-13 { flex-direction: column-reverse; align-items: center; }
    .flex-13 > div:last-child { max-width: 320px; }

    .flex-17 { flex-direction: column-reverse; align-items: center; justify-content: center; }
    .flex-17 > div:last-child { max-width: 280px; }

    .flex-18 { flex-direction: column; align-items: center; }
    .flex-18 > div:first-child { margin: 1em auto 0; max-width: 280px; }

    .flex-21 { flex-direction: column; }
    .flex-21 > div:first-child { margin: 0 auto; max-width: 280px; }

    .flex-22 { flex-direction: column-reverse; align-items: center; }
    .flex-22 > div:last-child { max-width: 280px; }

    .flex-23 { flex-direction: column; align-items: center; }

    .flex-27 { flex-direction: column-reverse; align-items: center; }


    .bg-4:before { opacity: 0.3; }

    .p-list-1 p { padding-left: 52px; }
    .p-list-1 p:before { width: 36px; height: 36px; font-size: 1.2rem; }
}

@media (max-width: 820px) {
    .flex-3 { flex-direction: column; }
    .flex-3 > div:first-child { margin-left: 0; max-width: 260px; }
    .flex-3 > div:last-child { width: 100%; }
}

@media (max-width: 768px) {
    .flex-3 { flex-direction: column; }
    .flex-3 > div:first-child { margin-left: 0; max-width: 260px; }
    .flex-3 > div:last-child { width: 100%; }
    .flex-14 { flex-direction: column; align-items: center; }
    .flex-14 > div:last-child { max-width: 220px; margin-top: 0; margin-left: auto; margin-right: auto; }
    .flex-15 { flex-direction: column; align-items: center; }
    .flex-15 > div:first-child { max-width: 380px; height: auto; margin-top: calc((-1 * var(--lg)) - 20px); }
    .flex-16 { flex-direction: column; }
    .flex-16 > div:first-child { flex-direction: column; margin: 0; }

    .flex-16 > div:first-child { width: 275px; height: 335px; overflow: hidden; position: relative; }
    .flex-16 > div:first-child img { object-fit: cover; width: 100%; height: 100%; object-position: center; }

    .flex-19 { flex-direction: column; }
    .flex-19 > div:first-child { margin-left: 0; }

    .flex-24 { flex-direction: column; }
    .flex-24 > div:first-child { margin-left: 0; }

    .flex-26 { flex-direction: column; align-items: center; }
    .flex-26 > div:last-child { display: none; }

    .flex-28 { margin-top: 0; flex-direction: column-reverse; align-items: center; text-align: center; gap: 1em; }
    .flex-28 > div:last-child img { margin-bottom: 0; }

    .flex-29 { flex-direction: column; align-items: center; }
    .flex-29 > div:first-child { max-width: 280px; }

    .flex-30 { flex-direction: column; align-items: center; }
    .flex-30 > div { max-width: 300px; width: 100%; }

    .flex-31 { flex-direction: column; align-items: center; }
    .flex-31 > div:first-child, .flex-31 > div:last-child { max-width: 100%; width: 100%; }

    .flex-32 { flex-direction: column; align-items: center; }
    .flex-32 > div:last-child { max-width: 260px; margin-top: 0; margin-left: auto; margin-right: auto; }

    .sec-19 { text-wrap: balance; }
    .sec-27:before { display: none; }
    .sec-47 .box-4 { margin-top: calc(var(--lg) + 30px); }
    
    .list-2 { flex-direction: column; }
    .list-2 li { justify-content: center; text-align: center; }

    .img-2 { margin-top: -35px; margin-bottom: 0; }
    .img-3 { margin-top: -35px; right: 0; }
    .img-4 { margin-top: -35px; margin-bottom: -20px; right: 0; }
    .img-5 { margin-top: -35px; margin-bottom: 0; right: 0; }
    .img-6 { margin-top: -35px; margin-bottom: -18px; }
    .img-7 { margin-top: -35px; }
    .img-8 { margin-top: -35px; margin-bottom: 0; right: 0; }
    .img-9 { margin-top: -35px; margin-bottom: -18px; right: 0; }
    .img-10 { margin-top: -35px; margin-bottom: -18px; }
    .img-11 { margin-top: -35px; margin-bottom: -18px; }
    .img-12 { margin-top: -35px; margin-bottom: -18px; }
    .img-13 { margin-top: -35px; margin-bottom: -15px; }

    .img-16 { margin-top: -35px; margin-bottom: 0; right: 0; }
    .img-17 { margin-top: -35px; margin-bottom: -18px; right: 0; }
    .img-18 { margin-top: -35px; margin-bottom: -18px; }
    .img-19 { margin-top: -35px; margin-bottom: -18px; }
    .img-20 { margin-top: -35px; margin-bottom: -18px; }
    .img-21 { margin-top: -35px; margin-bottom: -15px; }

    #footer { padding: var(--xl) 15px; flex-direction: column; }
    #footer .leftside p { margin-bottom: 0px; }
    #footer .leftside { text-align: center; text-wrap: balance; }
    #footer .rightside { text-align: center; text-wrap: balance; }
}