/*
Theme Name: Brewsters
Author: We Are Flourish
Author URI: https://weareflourish.com/
*/

@font-face {
    font-family: 'PP Editorial New';
    src: url('fonts/PPEditorialNew-Ultralight.woff2') format('woff2'),
        url('fonts/PPEditorialNew-Ultralight.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* resets
--------------------------------------------------------------------------
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; line-height: 1; overflow-y: scroll; box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

article, aside, details, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { position: relative; display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
progress { vertical-align: baseline; }
[hidden], template { display: none; }

svg:not(:root) { overflow: hidden; }

img, iframe { border: 0; vertical-align: middle; }

strong { font-weight: bolder; }
em { font-style: italic; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

button, input, optgroup, select, textarea { margin: 0; font: inherit; font-size: 100%; line-height: 1; vertical-align: baseline; color: inherit; outline: 0; border-radius: 0; }
button, input, textarea { padding: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
label, button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
button, input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; }
button[disabled], input[disabled] { cursor: default; }
button { width: auto; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border: 0; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

table { border-collapse: collapse; border-spacing: 0; }
th, td { vertical-align: top; }
th { font-weight: normal; text-align: left; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

ul, ol { list-style: none; }
li { display: list-item; }

hr { box-sizing: content-box; height: 0; overflow: visible; }

a { color: #140907; background: transparent; text-decoration: none; cursor: pointer; text-decoration-skip: ink; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }

.hide { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }

a, span, button { transition: color 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, opacity 0.4s ease, text-decoration-color 0.4s ease; }

/* global
--------------------------------------------------------------------------
*/

/*
light: font-variation-settings: "wght" 300;
medium: font-variation-settings: "wght" 500;
semibold: font-variation-settings: "wght" 600;
*/

body { font: 62.5%/1 "mozaic-geo-variable", 'Helvetica Neue', Arial, Helvetica, sans-serif; color: #140907; background: #FFFFFF; }

.anim,
.animc > * { position: relative; transform: translateY(100px); opacity: 0; transition: all 0.6s ease; }
.anim.inview,
.animc > *.inview { transition-delay: 0.4s; transform: translateY(0); opacity: 1; }

body > header { padding: 15px 13px 15px 22px; position: fixed; top: 12px; right: 12px; background: #FFFFFF; border: 1px solid #F8F8F8; border-radius: 8px; display: flex; align-items: center; gap: 12px; transition: background-color 0.4s ease, border-color 0.4s ease; z-index: 99; }
body > header p.logo a { position: relative; display: flex; }
body > header p.logo a img { width: 131px; height: 13px; object-fit: contain; transition: opacity 0.4s ease; }
body > header p.logo a::after { width: 100%; height: 100%; background: url(images/logo-white.svg) no-repeat 50% 50% / contain; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.4s ease; content: " "; display: block; }
body > header ul li button { width: 24px; height: 12px; background: none; border: 0; position: relative; display: block; -webkit-appearance: none; appearance: none; }
body > header ul li button span { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; }
body > header ul li button span::before,
body > header ul li button span::after { width: 100%; height: 2px; background: #140907; position: absolute; top: calc( 50% - 4px ); left: 0; transition: all 0.4s ease; content: " "; display: block; }
body > header ul li button span::after { top: calc( 50% + 1px ); }

html.menu body > header { background: #F33E05; border-color: #FFFFFF; }
html.menu body > header p.logo a img { opacity: 0; }
html.menu body > header p.logo a::after {opacity: 1; }
html.menu body > header ul li button span::before,
html.menu body > header ul li button span::after { top: 50%; background: #FFFFFF; transform: rotate(10deg); }
html.menu body > header ul li button span::after { transform: rotate(-10deg); }

@media only screen and (min-width: 1024px) {
	body > header { padding: 23px 22px 22px 34px; top: 39px; right: 44px; border-radius: 14px; gap: 22px; }
	body > header p.logo a img { width: 207px; height: 21px; }
	body > header ul li button { width: 34px; height: 20px; }
	body > header ul li button span::before,
	body > header ul li button span::after { height: 2px; top: calc( 50% - 5px ); }
	body > header ul li button span::after { top: calc( 50% + 3px ); }
}

@media only screen and (min-width: 1024px) {
	body > header { padding: 1.198vw 1.146vw 1.146vw 1.771vw; top: 2.031vw; right: 2.292vw; border-radius: 0.729vw; gap: 1.146vw; }
	body > header p.logo a img { width: 10.781vw; height: 1.094vw; }
	body > header ul li button { width: 1.771vw; height: 1.042vw; }
	body > header ul li button span::before,
	body > header ul li button span::after { height: 0.104vw; top: calc( 50% - 0.26vw ); }
	body > header ul li button span::after { top: calc( 50% + 0.156vw ); }
}

.btn { width: 152px; height: 67px; padding: 0 0 18px; font-family: 'PP Editorial New', serif; font-size: 16px; color: #FFFFFF; background: #F43E06; border: 1px solid #F43E06; border-radius: 8px; text-align: center; display: inline-flex; justify-content: center; align-items: flex-end; }
.btn:hover { color: #F43E06; background: #FFFFFF; }
.btn.rv { color: #F43E06; background: none; border-color: #F43E06; }
.btn.rv:hover { color: #FFFFFF; background: #F43E06; }

@media only screen and (min-width: 1024px) {
	.btn { width: 9.033em; height: 3.967em; padding: 0 0 1.200em; font-size: 30px; border-radius: 0.400em; }
}

@media only screen and (min-width: 1024px) {
	.btn { font-size: 1.563vw; }
}

body > .menu { width: 100%; height: 100%; padding: 24px 30px; color: #FFFFFF; background: #F33E05; position: fixed; top: 0; left: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; transform: translateY(-100%); transition: transform 0.4s ease; z-index: 98; }
html.menu body > .menu { transform: translateY(0); }
body > .menu .main { grid-row: 2; }
body > .menu .main > ul { display: flex; flex-direction: column; gap: 7px; }
body > .menu .main > ul > li > a { font-family: 'PP Editorial New', serif; font-size: 41px; color: #FFFFFF; }
body > .menu .main > ul > li:nth-of-type(3) { padding: 29px 0 32px; }
body > .menu .main > ul > li > ul { padding: 22px 0 0; display: flex; flex-direction: column; gap: 15px; }
body > .menu .main > ul > li > ul > li > a { font-variation-settings: "wght" 300; font-size: 16px; color: #FFFFFF; }
body > .menu .button { justify-self: end; align-self: end; grid-row: 3; }
body > .menu .button li a.btn { border-color: #FFFFFF; }

@media only screen and (min-width: 1024px) {
	body > .menu { padding: 27px 21px; grid-template-columns: 637px 1fr; grid-template-rows: auto; }
	body > .menu::before { width: 249px; height: 186px; background: url(images/b.svg) no-repeat 50% 50% / contain; position: absolute; top: 40px; left: 51px; content: " "; display: block; }
	body > .menu .main { grid-column: 2; grid-row: 1; }
	body > .menu .main > ul { padding: 0 0 28px; height: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto 1fr auto auto; gap: 5px; }
	body > .menu .main > ul > li > a { font-size: 100px; color: #FFFFFF; position: relative; display: inline-flex;transition: padding 0.4s ease; }
	body > .menu .main > ul > li > a::before { width: 0; height: 0.050em; position: absolute; top: 0.600em; left: 0; background: #FFFFFF;transition: width 0.4s ease; content: " "; display: block; }
	body > .menu .main > ul > li > a:hover { padding: 0 0 0 1.200em; }
	body > .menu .main > ul > li > a:hover::before { width: 1.200em; }
	body > .menu .main > ul > li:nth-of-type(3) { padding: 0; align-self: center; }
	body > .menu .main > ul > li > ul { padding: 38px 0 0; flex-direction: row; gap: 48px; }
	body > .menu .main > ul > li > ul > li > a { font-size: 20px; }
	body > .menu .main > ul > li > ul > li > a:hover { font-variation-settings: "wght" 600; }
	body > .menu .button { justify-self: start; align-self: end; grid-column: 1; grid-row: 1; }
}

@media only screen and (min-width: 1024px) {
	body > .menu { padding: 1.406vw 1.094vw; grid-template-columns: 33.177vw 1fr; }
	body > .menu::before { width: 12.969vw; height: 9.688vw; top: 2.083vw; left: 2.656vw; }
	body > .menu .main > ul { padding: 0 0 1.458vw; gap: 0.26vw; }
	body > .menu .main > ul > li > a { font-size: 5.208vw; }
	body > .menu .main > ul > li > ul { padding: 1.979vw 0 0; gap: 2.5vw; }
	body > .menu .main > ul > li > ul > li > a { font-size: 1.042vw; }
}

main { z-index: 2; }

main img { width: 100%; height: auto; }

main > .home-banner { padding: 16px 13px; height: 100vh; height: 100svh; color: #FFFFFF; background: #140907; display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr auto 1fr; }
main > .home-banner figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; }
main > .home-banner figure video { width: 100%; height: 100%; object-fit: cover; opacity: 0.52; }
main > .home-banner p { padding: 16px 0; font-family: 'PP Editorial New', serif; font-size: 26px; line-height: 28px; border-top: 1px solid #FFFFFF; text-wrap: balance; position: relative; z-index: 2; grid-row: 2; }
main > .home-banner h1 { position: relative; z-index: 2; grid-row: 3; align-self: end; }
main > .home-banner h1 img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	main > .home-banner { padding: 40px; }
	main > .home-banner p { padding: 0.113em 0; font-size: 53px; line-height: 1.491; }
	main > .home-banner h1 img { width: 1272px; }
}

@media only screen and (min-width: 1024px) {
	main > .home-banner { padding: 2.083vw; }
	main > .home-banner p { font-size: 2.76vw; }
	main > .home-banner h1 img { width: 66.25vw; }
}

main > .home-overview { padding: 38px 13px 106px; }
main > .home-overview .left p { margin: 28px 0 0; font-size: 23px; line-height: 28px; font-variation-settings: "wght" 300; text-wrap: balance; }
main > .home-overview .left p:first-child { margin: 0; }
main > .home-overview .left p strong { font-family: 'PP Editorial New', serif; font-size: 24px; line-height: 20px; font-variation-settings: "wght" 400; display: block; }
main > .home-overview .right { padding: 88px 0 0; }
main > .home-overview .right p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .home-overview .right p:first-child { margin: 0; font-size: 18px; line-height: 24px; }
main > .home-overview .right p:first-child + p { margin: 42px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .home-overview { padding: 0; display: grid; grid-template-columns: 1256px 1fr; }
	main > .home-overview .left { padding: 140px 38px; }
	main > .home-overview .left p { margin: 1.207em 0 0; font-size: 58px; line-height: 1.207; text-wrap: wrap; }
	main > .home-overview .left p:first-child { margin: 0; }
	main > .home-overview .left p strong { font-size: 1.052em; line-height: 0.803; }
	main > .home-overview .right { padding: 142px 44px 174px 22px; border-left: 1px solid #140907; }
	main > .home-overview .right p { margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .home-overview .right p:first-child { margin: 0; font-size: 33px; line-height: 1.303; }
	main > .home-overview .right p:first-child + p { margin: 7.222em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .home-overview { grid-template-columns: 65.417vw 1fr; }
	main > .home-overview .left { padding: 7.292vw 1.979vw; }
	main > .home-overview .left p { font-size: 3.021vw; }
	main > .home-overview .right { padding: 7.396vw 2.292vw 9.063vw 1.146vw; }
	main > .home-overview .right p { font-size: 0.938vw; }
	main > .home-overview .right p:first-child { font-size: 1.719vw; }
}

main > .home-pillars { padding: 13px 13px 102px; }
main > .home-pillars figure img { border-radius: 8px; }
main > .home-pillars .text { padding: 62px 0 0; }
main > .home-pillars .text header h2 { font-size: 17px; line-height: 22px; }
main > .home-pillars .text h3 { margin: 34px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 600; }
main > .home-pillars .text header + h3 { margin: 30px 0 0; }
main > .home-pillars .text p { font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }

@media only screen and (min-width: 1024px) {
	main > .home-pillars { padding: 0; display: grid; grid-template-columns: 1256px 1fr; }
	main > .home-pillars figure { padding: 52px 44px 52px 22px; border-left: 1px solid #140907; grid-column: 2; grid-row: 1; }
	main > .home-pillars figure img { border-radius: 12px; }
	main > .home-pillars .text { padding: 0 155px 0 503px; counter-reset: count; grid-column: 1; grid-row: 1; align-self: center; }
	main > .home-pillars .text header { position: absolute; top: 0; left: 38px; }
	main > .home-pillars .text header h2 { font-size: 30px; line-height: 1.333; }
	main > .home-pillars .text h3 { margin: 1.056em 0 0; font-size: 18px; line-height: 1.333; font-variation-settings: "wght" 600; }
	main > .home-pillars .text h3::before { padding: 0 0 0.278em; font-variation-settings: "wght" 300; counter-increment: count; content: counter(count, decimal-leading-zero); display: block; }
	main > .home-pillars .text header + h3 { margin: 0; }
	main > .home-pillars .text p { font-size: 18px; line-height: 1.333; }
}

@media only screen and (min-width: 1024px) {
	main > .home-pillars { grid-template-columns: 65.417vw 1fr; }
	main > .home-pillars figure { padding: 2.708vw 2.292vw 2.708vw 1.146vw; }
	main > .home-pillars figure img { border-radius: 0.625vw; }
	main > .home-pillars .text { padding: 0 8.073vw 0 26.198vw; }
	main > .home-pillars .text header { left: 1.979vw; }
	main > .home-pillars .text header h2 { font-size: 1.563vw; }
	main > .home-pillars .text h3 { font-size: 0.938vw; }
	main > .home-pillars .text p { font-size: 0.938vw; }
}

main > .image-banner { overflow: hidden; }
main > .image-banner .wrap { height: 388px; }
main > .image-banner.with-text .wrap { height: 638px; }
main > .image-banner .wrap figure { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: block; }
main > .image-banner .wrap figure img,
main > .image-banner .wrap figure video { width: 100%; height: 100%; object-fit: cover; }
main > .image-banner.with-text .wrap figure::after { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #140907; opacity: 0.45; content: " "; display: block; }
main > .image-banner .wrap .text { padding: 131px 13px 130px; height: 100%; color: #FFFFFF; text-align: center; display: flex; flex-direction: column; justify-content: space-between; }
main > .image-banner .wrap .text h1 { font-family: 'PP Editorial New', serif; font-size: 42px; line-height: 63px; }
main > .image-banner .wrap .text h1::before { content: "("; display: inline; }
main > .image-banner .wrap .text h1::after { content: ")"; display: inline; }
main > .image-banner .wrap .text p { font-size: 18px; line-height: 24px; font-variation-settings: "wght" 300; }
main > .image-banner .ticker { width: 120%; top: -90px; left: -10%; color: #FFFFFF; background: #F43E06; transform: rotate(-3deg); white-space: nowrap; overflow: hidden; display: flex; }
main > .image-banner .ticker ul { height: 106px; font-family: 'PP Editorial New', serif; font-size: 30px; display: flex; align-items: center; transform: translateZ(0); will-change: transform; animation: image-banner-marquee 6s linear infinite; }
main > .image-banner .ticker ul li { display: flex; }
main > .image-banner .ticker ul li::before { content: "―"; display: block; }
main > .image-banner .ticker ul li a { color: #FFFFFF; }
@keyframes image-banner-marquee {
	from { transform: translateX(0) translateZ(0); }
	to { transform: translateX(-100%) translateZ(0); }
}

@media only screen and (min-width: 1024px) {
	main > .image-banner .wrap { height: 1080px; }
	main > .image-banner.with-text .wrap { height: 1092px; }
	main > .image-banner .wrap .text { padding: 26px 38px 164px; text-align: left; }
	main > .image-banner .wrap .text h1 { font-size: 167px; line-height: 1; }
	main > .image-banner .wrap .text p { width: 930px; font-size: 30px; line-height: 1.333; letter-spacing: -0.01em; text-wrap: balance; }
	main > .image-banner .ticker { top: -114px; }
	main > .image-banner .ticker ul { height: 3.410em; font-size: 78px; animation: image-banner-marquee 6s linear infinite; }
}

@media only screen and (min-width: 1024px) {
	main > .image-banner .wrap { height: 56.25vw; }
	main > .image-banner.with-text .wrap { height: 56.875vw; }
	main > .image-banner .wrap .text { padding: 1.354vw 1.979vw 8.542vw; }
	main > .image-banner .wrap .text h1 { font-size: 8.698vw; }
	main > .image-banner .wrap .text p { width: 48.438vw; font-size: 1.563vw; }
	main > .image-banner .ticker { top: -5.938vw; }
	main > .image-banner .ticker ul { font-size: 4.063vw; }
}

main > .treatments { padding: 28px 13px 60px; }
main > .treatments h2 { font-size: 17px; }
main > .treatments ul { margin: 15px 0 0; }
main > .treatments ul li { border-top: 1px solid #140907; }
main > .treatments ul li a { padding: 20px 0 22px; font-family: 'PP Editorial New', serif; font-size: 33px; display: flex; justify-content: center; align-items: center; white-space: nowrap; overflow: hidden; }
main > .treatments ul li a:hover { color: #F43E06; }
main > .treatments ul li a span { padding: 0 0.1em; }
main > .treatments ul li a img { width: 0; height: 0; }

main > .treatments:first-child { padding: 155px 13px 72px; }
main > .treatments:first-child ul { margin: 0; }
main > .treatments:first-child ul li:first-child { border-top: 0; }

@media only screen and (min-width: 1024px) {
	main > .treatments { padding: 215px 38px 90px; }
	main > .treatments h2 { font-size: 34px; }
	main > .treatments ul { margin: 50px 0 0; }
	main > .treatments ul li a { padding: 0.125em 0; font-size: 128px; }
	main > .treatments ul li a img { height: 1.898em; border-radius: 0.078em; transition: width 0.4s ease, margin 0.4s ease; }
	main > .treatments ul li a:hover img { width: 3.289em; margin: 0 0.352em; }

	main > .treatments:first-child { padding: 15px 38px 0; }
	main > .treatments:first-child ul { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .treatments { padding: 11.198vw 1.979vw 4.688vw; }
	main > .treatments h2 { font-size: 1.771vw; }
	main > .treatments ul { margin: 2.604vw 0 0; }
	main > .treatments ul li a { font-size: 6.667vw; }

	main > .treatments:first-child { padding: 0.781vw 1.979vw 0; }
	main > .treatments:first-child ul { margin: 0; }
}

main > .promo { padding: 13px 13px 112px; }
main > .promo .wrap { padding: 24px 14px 14px; background: #F8F8F8; border-radius: 12px; }
main > .promo .text h2 { font-size: 23px; line-height: 1; color: rgba(20, 9, 7, 0.47); }
main > .promo .text p { font-size: 23px; line-height: 1; }
main > .promo .buttons { padding: 22px 0 0; }
main > .promo figure { padding: 98px 0 0; }
main > .promo figure img { border-radius: 6px; }

@media only screen and (min-width: 1024px) {
	main > .promo { padding: 38px 38px 108px; }
	main > .promo .wrap { padding: 28px; border-radius: 12px; display: grid; grid-template-columns: 1fr 727px; grid-template-rows: auto 1fr; }
	main > .promo .text { grid-column: 1; grid-row: 1; }
	main > .promo .text h2,
	main > .promo .text p { font-size: 53px; }
	main > .promo .buttons { padding: 58px 0 0; grid-column: 1; grid-row: 2; }
	main > .promo figure { padding: 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .promo figure img { border-radius: 10px; }
}

@media only screen and (min-width: 1024px) {
	main > .promo { padding: 1.979vw 1.979vw 5.625vw; }
	main > .promo .wrap { padding: 1.458vw; border-radius: 0.625vw; grid-template-columns: 1fr 37.865vw; }
	main > .promo .text h2,
	main > .promo .text p { font-size: 2.76vw; }
	main > .promo .buttons { padding: 3.021vw 0 0; }
	main > .promo figure img { border-radius: 0.521vw; }
}

main > .about { padding: 125px 13px 48px; }
main > .about header h1 { font-family: 'PP Editorial New', serif; font-size: 44px; line-height: 65px; }
main > .about header h1::before { content: "("; display: inline; }
main > .about header h1::after { content: ")"; display: inline; }
main > .about .text-1 { padding: 50px 0 0; }
main > .about .text-1 p { margin: 29px 0 0; font-size: 23px; line-height: 29px; font-variation-settings: "wght" 300; }
main > .about .text-1 p:first-child { margin: 0; }
main > .about .text-1 p strong { font-family: 'PP Editorial New', serif; font-weight: normal; line-height: 0; font-variation-settings: "wght" 400; }
main > .about figure { background: #140907; }
main > .about figure:nth-of-type(1) { margin: 54px 0 0 0; }
main > .about figure:nth-of-type(2) { margin: 14px 87px 0 0; }
main > .about figure img { opacity: 0.77; }
main > .about .text-2 { padding: 60px 0 0; }
main > .about .text-2 p { margin: 24px 0 0; font-size: 18px; line-height: 24px; font-variation-settings: "wght" 300; }
main > .about .text-2 p:first-child { margin: 0; }
main > .about .text-3 { padding: 85px 0 0; }
main > .about .text-3 p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .about .text-3 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .about { padding: 26px 44px 0 38px; display: grid; grid-template-columns: 598px 443px 1fr; gap: 0 22px; }
	main > .about header { grid-column: 1 / span 3; grid-row: 1; }
	main > .about header h1 { font-size: 167px; line-height: 1; }
	main > .about .text-1 { padding: 235px 155px 150px 0; grid-column: 2 / span 2; grid-row: 2; }
	main > .about .text-1 p { margin: 1.207em 0 0; font-size: 58px; line-height: 1.207; }
	main > .about .text-1 p:first-child { margin: 0; }
	main > .about figure:nth-of-type(1) { margin: 0; grid-column: 2 / span 2; grid-row: 3; }
	main > .about figure:nth-of-type(2) { margin: 0; grid-column: 1; grid-row: 3; }
	main > .about .text-2 { padding: 145px 154px 0 0; grid-column: 1 / span 2; grid-row: 4; }
	main > .about .text-2 p { margin: 1.135em 0 0; font-size: 37px; line-height: 1.135; }
	main > .about .text-2 p:first-child { margin: 0; }
	main > .about .text-3 { padding: 145px 150px 0 0; grid-column: 3; grid-row: 4; }
	main > .about .text-3 p { margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .about .text-3 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .about { padding: 1.354vw 2.292vw 0 1.979vw; grid-template-columns: 31.146vw 23.073vw 1fr; gap: 0 1.146vw; }
	main > .about header h1 { font-size: 8.698vw; }
	main > .about .text-1 { padding: 12.24vw 8.073vw 7.813vw 0; }
	main > .about .text-1 p { font-size: 3.021vw; }
	main > .about .text-2 { padding: 7.552vw 8.021vw 0 0; }
	main > .about .text-2 p { font-size: 1.927vw; }
	main > .about .text-3 { padding: 7.552vw 7.813vw 0 0; }
	main > .about .text-3 p { font-size: 0.938vw; }
}

main > .about-duane { padding: 48px 13px 120px; overflow: hidden; }
main > .about-duane figure { text-align: right; }
main > .about-duane figure img { width: 268px; border-radius: 8px; transform: rotate(4deg); position: relative; right: -33px; }
main > .about-duane .text { padding: 60px 0 0; }
main > .about-duane .text p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .about-duane .text figure + p { margin: 0; }
main > .about-duane .text h2 { margin: 64px 0 0; font-family: 'PP Editorial New', serif; font-size: 51px; line-height: 45px; }
main > .about-duane .text h3 { margin: 12px 0 0; font-size: 16px; line-height: 18px; font-variation-settings: "wght" 300; }

@media only screen and (min-width: 1024px) {
	main > .about-duane { margin: -270px 0 0; top: 270px; padding: 180px 204px 180px 348px; display: grid; grid-template-columns: 1fr 598px; align-items: center; }
	main > .about-duane figure { text-align: left; grid-column: 2; grid-row: 1; }
	main > .about-duane figure img { width: 100%; border-radius: 12px; right: auto; }
	main > .about-duane .text { padding: 0; grid-column: 1; grid-row: 1; }
	main > .about-duane .text p { width: 598px; margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .about-duane .text figure + p { margin: 0; }
	main > .about-duane .text h2 { margin: 0.718em 0 0; font-size: 117px; line-height: 0.872; }
	main > .about-duane .text h3 { margin: 0.757em 0 0; font-size: 37px; line-height: 1.135; }
}

@media only screen and (min-width: 1024px) {
	main > .about-duane { margin: -14.063vw 0 0; top: 14.063vw; padding: 9.375vw 10.625vw 9.375vw 18.125vw; grid-template-columns: 1fr 31.146vw; }
	main > .about-duane figure img { border-radius: 0.625vw; }
	main > .about-duane .text p { width: 31.146vw; font-size: 0.938vw; }
	main > .about-duane .text h2 { font-size: 6.094vw; }
	main > .about-duane .text h3 { font-size: 1.927vw; }
}

main > .treatment-overview { padding: 0 13px 50px; }
main > .image-banner + .treatment-overview { margin: -15px 0 0; }
main > .treatment-overview ol.anchors { padding: 0 0 84px; font-size: 15px; line-height: 21px; font-variation-settings: "wght" 300; counter-reset: count; }
main > .treatment-overview ol.anchors li a { opacity: 0.33; display: inline-flex; }
main > .treatment-overview ol.anchors li a:hover { opacity: 1; }
main > .treatment-overview ol.anchors li a::before { width: 40px; counter-increment: count; content: counter(count, decimal-leading-zero); display: block; }
main > .treatment-overview .text-1 p { margin: 39px 0 0; font-family: 'PP Editorial New', serif; font-size: 25px; line-height: 39px; }
main > .treatment-overview .text-1 p:first-child { margin: 0; }
main > .treatment-overview .text-2 { padding: 58px 0 0; }
main > .treatment-overview .text-2 p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .treatment-overview .text-2 p:first-child { margin: 0; }
main > .treatment-overview .text-3 { padding: 17px 0 0; }
main > .treatment-overview .text-3 p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .treatment-overview .text-3 p:first-child { margin: 0; }
main > .treatment-overview ul.buttons { padding: 53px 0 0; display: flex; flex-wrap: wrap; gap: 10px; }

@media only screen and (min-width: 1024px) {
	main > .treatment-overview { padding: 140px 44px 115px 38px; display: grid; grid-template-columns: 1fr 598px 598px; gap: 0 22px; }
	main > .image-banner + .treatment-overview { margin: 0; }
	main > .treatment-overview ol.anchors { padding: 0; font-size: 22px; line-height: 1.409; grid-column: 1; grid-row: 1 / span 3; }
	main > .treatment-overview ol.anchors li a::before { width: 2.500em; }
	main > .treatment-overview .text-1 { grid-column: 2 / span 2; grid-row: 1; }
	main > .treatment-overview .text-1 p { margin: 1.523em 0 0; font-size: 65px; line-height: 1.523; }
	main > .treatment-overview .text-1 p:first-child { margin: 0; }
	main > .treatment-overview .text-2 { padding: 112px 0 0; grid-column: 2; grid-row: 2; }
	main > .treatment-overview .text-2 p { margin: 1.318em 0 0; font-size: 22px; line-height: 1.318; }
	main > .treatment-overview .text-2 p:first-child { margin: 0; }
	main > .treatment-overview .text-3 { padding: 112px 0 0; grid-column: 3; grid-row: 2; }
	main > .treatment-overview .text-3 p { margin: 1.318em 0 0; font-size: 22px; line-height: 1.318; }
	main > .treatment-overview .text-3 p:first-child { margin: 0; }
	main > .treatment-overview ul.buttons { padding: 102px 0 0; gap: 20px; grid-column: 2 / span 2; grid-row: 3; }
}

@media only screen and (min-width: 1024px) {
	main > .treatment-overview { padding: 7.292vw 2.292vw 5.99vw 1.979vw; grid-template-columns: 1fr 31.146vw 31.146vw; gap: 0 1.146vw; }
	main > .treatment-overview ol.anchors { font-size: 1.146vw; }
	main > .treatment-overview .text-1 p { font-size: 3.385vw; }
	main > .treatment-overview .text-2 { padding: 5.833vw 0 0; }
	main > .treatment-overview .text-2 p { font-size: 1.146vw; }
	main > .treatment-overview .text-3 { padding: 5.833vw 0 0; }
	main > .treatment-overview .text-3 p { font-size: 1.146vw; }
	main > .treatment-overview ul.buttons { padding: 5.313vw 0 0; gap: 1.042vw; }
}

main > .treatment-gallery { padding: 50px 0 145px; }
main > .treatment-gallery .slick-track { display: flex !important; }
main > .treatment-gallery .slick-track .slick-slide { height: inherit; display: flex; align-items: flex-end; }
main > .treatment-gallery figure { width: 168px; padding: 0 3px; }
main > .treatment-gallery .slick-arrow { width: 50px; height: 37px; font-size: 27px; position: absolute; bottom: 77px; left: 13px; color: #F43E06; background: #FFFFFF; border: 1px solid #F43E04; border-radius: 8px; }
main > .treatment-gallery .slick-arrow:hover { color: #FFFFFF; background: #F43E06; }
main > .treatment-gallery .slick-next { left: 70px; }

@media only screen and (min-width: 1024px) {
	main > .treatment-gallery { padding: 115px 0 188px; }
	main > .treatment-gallery figure { width: 622px; padding: 0 12px; }
	main > .treatment-gallery .slick-arrow { width: 90px; height: 68px; font-size: 49px; bottom: auto; top: 115px; left: auto; right: 144px; border-radius: 12px; z-index: 50; }
	main > .treatment-gallery .slick-next { left: auto; right: 44px; }
}

@media only screen and (min-width: 1024px) {
	main > .treatment-gallery { padding: 5.99vw 0 9.792vw; }
	main > .treatment-gallery figure { width: 32.396vw; padding: 0 0.625vw; }
	main > .treatment-gallery .slick-arrow { width: 4.688vw; height: 3.542vw; font-size: 2.552vw; top: 5.99vw; right: 7.5vw; border-radius: 0.625vw; }
	main > .treatment-gallery .slick-next { right: 2.292vw; }
}

main > .package { padding: 63px 13px; }
main > .treatment-gallery + .package { padding-top: 38px; }
main > .package header { padding: 0 0 7px; border-bottom: 1px solid #140907; }
main > .package header h2 { font-size: 30px; line-height: 39px; }
main > .package header ul { display: none; }
main > .package .overview { padding: 19px 0 0; }
main > .package .overview p { margin: 16px 0 0; font-size: 15px; line-height: 16px; }
main > .package .overview p:first-child { margin: 0; }
main > .package .overview ul { margin: 32px 0 0; }
main > .package .text { padding: 46px 0 0; }
main > .package .text p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .package .text p:first-child { margin: 0; }
main > .package .images { padding: 95px 0 0; display: grid; grid-template-columns: 1fr; gap: 45px; }
main > .package .images figure figcaption { padding: 12px 0 0; font-size: 13px; display: block; }

@media only screen and (min-width: 1024px) {
	main > .package { padding: 90px 44px 90px 38px; display: grid; grid-template-columns: 620px 1fr; }
	main > .treatment-gallery + .package { padding-top: 120px; }
	main > .package header { padding: 0 0 18px; display: flex; justify-content: space-between; align-items: flex-end; grid-column: span 2; }
	main > .package header h2 { font-size: 92px; line-height: 1; }
	main > .package header ul { display: block; }
	main > .package .overview { padding: 16px 0 0; }
	main > .package .overview p { margin: 1.200em 0 0; font-size: 30px; line-height: 1.200; }
	main > .package .overview p:first-child { margin: 0; }
	main > .package .overview ul { display: none; }
	main > .package .text { padding: 16px 0 0; column-count: 2; column-gap: 22px; }
	main > .package .text p { margin: 0; padding: 0 0 1.318em; font-size: 22px; line-height: 1.318; break-inside: avoid; }
	main > .package .images { padding: 150px 0 0; grid-template-columns: 1fr 1fr; gap: 14px; grid-column: span 2; }
	main > .package .images figure figcaption { padding: 1.818em 0 0; font-size: 22px; }
}

@media only screen and (min-width: 1024px) {
	main > .package { padding: 4.688vw 2.292vw 4.688vw 1.979vw; grid-template-columns: 32.292vw 1fr; }
	main > .treatment-gallery + .package { padding-top: 6.25vw; }
	main > .package header { padding: 0 0 0.938vw; }
	main > .package header h2 { font-size: 4.792vw; }
	main > .package .overview { padding: 0.833vw 0 0; }
	main > .package .overview p { font-size: 1.563vw; }
	main > .package .text { padding: 0.833vw 0 0; column-gap: 1.146vw; }
	main > .package .text p { font-size: 1.146vw; }
	main > .package .images { padding: 7.813vw 0 0; gap: 0.729vw; }
	main > .package .images figure figcaption { font-size: 1.146vw; }
}

main > .full-image { padding: 46px 0 0; }
main > .full-image img { height: 88.889vw; object-fit: cover; }

@media only screen and (min-width: 1024px) {
	main > .full-image { padding: 104px 0 0; }
	main > .full-image img { height: auto; }
}

@media only screen and (min-width: 1024px) {
	main > .full-image { padding: 5.417vw 0 0; }
}

main > .styku { padding: 52px 13px 28px; }
main > .styku .text h2 { font-size: 30px; line-height: 39px; }
main > .styku .text p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .styku .text h2 + p { margin: 30px 0 0; }
main > .styku figure { padding: 62px 0 0; }
main > .styku figure a { position: relative; display: block; }
main > .styku figure a img { border-radius: 8px; }
main > .styku figure a::after { width: 19px; height: 22px; background: url(images/play.svg) no-repeat 50% 50% / contain; position: absolute; bottom: 14px; right: 14px; content: " "; display: block; }
main > .styku .partnership { padding: 42px 0 0; }
main > .styku .partnership p { font-size: 13px; }
main > .styku .partnership p span { padding: 0 0 20px; display: block; }
main > .styku .partnership p img { width: 137px; height: auto; }

@media only screen and (min-width: 1024px) {
	main > .styku { padding: 121px 44px 182px 38px; display: grid; grid-template-columns: 1fr 753px; grid-template-rows: auto 1fr; }
	main > .styku .text { grid-column: 1; grid-row: 1; }
	main > .styku .text h2 { font-size: 92px; line-height: 1; }
	main > .styku .text p { width: 600px; margin: 1.318em 0 0; font-size: 22px; line-height: 1.318; }
	main > .styku .text h2 + p { margin: 3.455em 0 0; }
	main > .styku figure { padding: 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .styku figure a img { border-radius: 12px; }
	main > .styku figure a::after { width: 43px; height: 50px; bottom: 32px; right: 32px; }
	main > .styku .partnership { padding: 58px 0 0; grid-column: 1; grid-row: 2; }
	main > .styku .partnership p { width: 600px; font-size: 22px; display: flex; justify-content: space-between; }
	main > .styku .partnership p span { padding: 1.955em 0 0; }
	main > .styku .partnership p img { width: 159px; }
}

@media only screen and (min-width: 1024px) {
	main > .styku { padding: 6.302vw 2.292vw 9.479vw 1.979vw; grid-template-columns: 1fr 39.219vw; }
	main > .styku .text h2 { font-size: 4.792vw; }
	main > .styku .text p { width: 31.25vw; font-size: 1.146vw; }
	main > .styku figure a img { border-radius: 0.625vw; }
	main > .styku figure a::after { width: 2.24vw; height: 2.604vw; bottom: 1.667vw; right: 1.667vw; }
	main > .styku .partnership { padding: 3.021vw 0 0; }
	main > .styku .partnership p { width: 31.25vw; font-size: 1.146vw; }
	main > .styku .partnership p img { width: 8.281vw; }
}

main > .coloured-panel { padding: 13px; }
main > .coloured-panel .wrap { padding: 28px 29px 53px 10px; color: #FFFFFF; background: #F43E06; border-radius: 8px; }
main > .coloured-panel header h2 { font-size: 30px; line-height: 39px; }
main > .coloured-panel .text { padding: 30px 0 0; }
main > .coloured-panel .text p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .coloured-panel .text p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .coloured-panel { padding: 46px 44px 46px 38px; }
	main > .coloured-panel .wrap { padding: 75px 151px 102px 48px; border-radius: 12px; display: grid; grid-template-columns: 730px 1fr; }
	main > .coloured-panel header h2 { font-size: 53px; line-height: 1; }
	main > .coloured-panel .text { padding: 0; column-count: 2; column-gap: 22px; }
	main > .coloured-panel .text p { margin: 0; padding: 0 0 1.318em; font-size: 22px; line-height: 1.318; break-inside: avoid; }
}

@media only screen and (min-width: 1024px) {
	main > .coloured-panel { padding: 2.396vw 2.292vw 2.396vw 1.979vw; }
	main > .coloured-panel .wrap { padding: 3.906vw 7.865vw 5.313vw 2.5vw; border-radius: 0.625vw; grid-template-columns: 38.021vw 1fr; }
	main > .coloured-panel header h2 { font-size: 2.76vw; }
	main > .coloured-panel .text { column-gap: 1.146vw; }
	main > .coloured-panel .text p { font-size: 1.146vw; }
}

main > .ems-details { padding: 13px 13px 80px; display: grid; grid-template-columns: 1fr; gap: 14px; }
main > .coloured-panel + .ems-details { padding-top: 0; }
main > .ems-details .panel { padding: 30px 10px 10px; background: #F8F8F8; border-radius: 8px; }
main > .ems-details .panel h2 { font-size: 30px; text-wrap: balance; }
main > .ems-details .panel ul { margin: 23px 0 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

@media only screen and (min-width: 1024px) {
	main > .ems-details { padding: 46px 44px 225px 38px; grid-template-columns: 598px 1fr; gap: 23px; }
	main > .coloured-panel + .ems-details { padding-top: 0; }
	main > .ems-details .panel { padding: 76px 41px 41px 44px; border-radius: 12px; display: flex; flex-direction: column; }
	main > .ems-details .panel h2 { font-size: 53px; }
	main > .ems-details .panel:first-child h2 { width: 350px; }
	main > .ems-details .panel ul { margin: auto 0 0; padding: 86px 0 0; gap: 21px; }
}

@media only screen and (min-width: 1024px) {
	main > .ems-details { padding: 2.396vw 2.292vw 11.719vw 1.979vw; grid-template-columns: 31.146vw 1fr; gap: 1.198vw; }
	main > .coloured-panel + .ems-details { padding-top: 0; }
	main > .ems-details .panel { padding: 3.958vw 2.135vw 2.135vw 2.292vw; border-radius: 0.625vw; }
	main > .ems-details .panel h2 { font-size: 2.76vw; }
	main > .ems-details .panel:first-child h2 { width: 18.229vw; }
	main > .ems-details .panel ul { padding: 4.479vw 0 0; gap: 1.094vw; }
}

main > .prices-and-packages { padding: 20px 13px 80px; counter-reset: count; }
main > .prices-and-packages header { padding: 15px 0 56px; border-top: 1px solid #140907; }
main > .prices-and-packages header h2 { font-size: 15px; }
main > .prices-and-packages .package { padding: 22px 0 16px; border-top: 1px solid #140907; display: grid; grid-template-columns: 28px 1fr auto; }
main > .prices-and-packages header + .package { padding-top: 0; border-top: 0; }
main > .prices-and-packages .package::before { font-size: 13px; line-height: 17px; font-variation-settings: "wght" 500; counter-increment: count; content: counter(count); display: block; }
main > .prices-and-packages .package .details { padding: 0 10px 0 0; }
main > .prices-and-packages .package .details h3 { font-size: 13px; line-height: 17px; font-variation-settings: "wght" 500; }
main > .prices-and-packages .package .details p { margin: 4px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .prices-and-packages .package ul li a { font-family: 'PP Editorial New', serif; font-size: 16px; line-height: 25px; color: #F43E06; }
main > .prices-and-packages .package ul li a:hover { color: #140907; }

@media only screen and (min-width: 1024px) {
	main > .prices-and-packages { margin: 0 44px 0 38px; padding: 0 0 154px 776px; border-top: 1px solid #140907; }
	main > .prices-and-packages header { padding: 0; border-top: 0; position: absolute; top: 16px; left: 0; }
	main > .prices-and-packages header h2 { font-size: 30px; line-height: 1.200; }
	main > .prices-and-packages .package { padding: 25px 0 17px; grid-template-columns: 156px 1fr auto; }
	main > .prices-and-packages header + .package { padding-top: 22px; }
	main > .prices-and-packages .package::before { font-size: 22px; line-height: 1.318; }
	main > .prices-and-packages .package .details { padding: 0 20px 0 0; }
	main > .prices-and-packages .package .details h3 { font-size: 22px; line-height: 1.318; }
	main > .prices-and-packages .package .details p { margin: 0.227em 0 0; font-size: 22px; line-height: 1.318; }
	main > .prices-and-packages .package ul li a { font-size: 30px; line-height: 1.500; }
}

@media only screen and (min-width: 1024px) {
	main > .prices-and-packages { margin: 0 2.292vw 0 1.979vw; padding: 0 0 8.021vw 40.417vw; }
	main > .prices-and-packages header { top: 0.833vw; }
	main > .prices-and-packages header h2 { font-size: 1.563vw; }
	main > .prices-and-packages .package { padding: 1.302vw 0 0.885vw; grid-template-columns: 8.125vw 1fr auto; }
	main > .prices-and-packages header + .package { padding-top: 1.146vw; }
	main > .prices-and-packages .package::before { font-size: 1.146vw; }
	main > .prices-and-packages .package .details { padding: 0 1.042vw 0 0; }
	main > .prices-and-packages .package .details h3 { font-size: 1.146vw; }
	main > .prices-and-packages .package .details p { font-size: 1.146vw; }
	main > .prices-and-packages .package ul li a { font-size: 1.563vw; }
}

main > .suitability { padding: 117px 13px 94px; }
main > .suitability header h1 { font-family: 'PP Editorial New', serif; font-size: 42px; line-height: 63px; }
main > .suitability header h1::before { content: "("; display: inline; }
main > .suitability header h1::after { content: ")"; display: inline; }
main > .suitability .text-1 { padding: 35px 0 0; }
main > .suitability .text-1 p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .suitability .text-1 p:first-child { margin: 0; font-size: 15px; line-height: 20px; }
main > .suitability .text-1 p:first-child + p { margin: 28px 0 0; }
main > .suitability .text-2 { padding: 68px 0 0; }
main > .suitability .text-2 h2 { margin: 54px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 600; }
main > .suitability .text-2 h2:first-child { margin: 0; }
main > .suitability .text-2 p,
main > .suitability .text-2 ul { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .suitability .text-2 ul li { padding: 0 0 0 16px; position: relative; }
main > .suitability .text-2 ul li::before { position: absolute; top: 0; left: 0; content: "•"; display: block; }
main > .suitability .text-2 h2 + p,
main > .suitability .text-2 h2 + ul { margin: 30px 0 0; }
main > .suitability .text-2 ul + p { margin: 50px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .suitability { padding: 26px 199px 248px 38px; display: grid; grid-template-columns: 1fr 598px; gap: 302px 177px; }
	main > .suitability header { grid-column: 1 / span 2; }
	main > .suitability header h1 { font-size: 167px; line-height: 1; }
	main > .suitability .text-1 { padding: 0; }
	main > .suitability .text-1 p { width: 598px; margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .suitability .text-1 p:first-child { width: 100%; margin: 0; font-size: 30px; line-height: 1.333; letter-spacing: -0.01em; }
	main > .suitability .text-1 p:first-child + p { margin: 2.944em 0 0; }
	main > .suitability .text-2 { padding: 0; }
	main > .suitability .text-2 h2 { margin: 4.111em 0 0; font-size: 18px; line-height: 1.333; }
	main > .suitability .text-2 h2:first-child { margin: 0; }
	main > .suitability .text-2 p,
	main > .suitability .text-2 ul { margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .suitability .text-2 ul li { padding: 0 0 0 2.889em; }
	main > .suitability .text-2 h2 + p,
	main > .suitability .text-2 h2 + ul { margin: 1.833em 0 0; }
	main > .suitability .text-2 ul + p { margin: 1.833em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .suitability { padding: 1.354vw 10.365vw 12.917vw 1.979vw; grid-template-columns: 1fr 31.146vw; gap: 15.729vw 9.219vw; }
	main > .suitability header h1 { font-size: 8.698vw; }
	main > .suitability .text-1 p { width: 31.146vw; font-size: 0.938vw; }
	main > .suitability .text-1 p:first-child { width: 100%; font-size: 1.563vw; }
	main > .suitability .text-2 h2 { font-size: 0.938vw; }
	main > .suitability .text-2 p,
	main > .suitability .text-2 ul { font-size: 0.938vw; }
}

main > .faqs { padding: 132px 13px 78px; color: #FFFFFF; background: #140907; }
main > .faqs header { text-align: center; }
main > .faqs header h1 { font-family: 'PP Editorial New', serif; font-size: 42px; line-height: 63px; }
main > .faqs header h1::before { content: "("; display: inline; }
main > .faqs header h1::after { content: ")"; display: inline; }
main > .faqs .questions { padding: 44px 0 0; }
main > .faqs .questions h2 { margin: 54px 0 0; padding: 0 8px 4px; font-size: 15px; line-height: 17px; font-variation-settings: "wght" 600; }
main > .faqs .questions h2:first-child { margin: 0; }
main > .faqs .questions h3 { font-size: 15px; line-height: 17px; }
main > .faqs .questions h3 a { padding: 9px 8px 6px; color: #FFFFFF; border-radius: 8px; font-variation-settings: "wght" 300; display: inline-block; }
main > .faqs .questions h3 a.open { background: #F43E06; font-variation-settings: "wght" 600; }
main > .faqs .questions h3 a:hover { font-variation-settings: "wght" 600; }
main > .faqs .questions .answer div { padding: 25px 8px 56px; display: none; }
main > .faqs .questions .answer p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .faqs .questions .answer p:first-child { margin: 0; }
main > .faqs .answers { display: none; }

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 26px 38px 42px; display: grid; grid-template-columns: 1070px 1fr; grid-template-rows: auto 1fr; }
	main > .faqs header { grid-column: 1; grid-row: 1; text-align: left; }
	main > .faqs header h1 { font-size: 167px; line-height: 1; }
	main > .faqs .questions { padding: 175px 0 0; grid-column: 2; grid-row: 1 / span 2; }
	main > .faqs .questions h2 { margin: 2.360em 0 0; padding: 0 0.640em 0.240em; font-size: 25px; line-height: 0.960; }
	main > .faqs .questions h2:first-child { margin: 0; }
	main > .faqs .questions h3 { margin: 0.120em 0 0; font-size: 25px; line-height: 0.960; }
	main > .faqs .questions h3 a { padding: 0.400em 0.640em 0.280em; border-radius: 0.480em; }
	main > .faqs .questions .answer { display: none; }
	main > .faqs .answers { padding: 262px 0 0; display: block; grid-column: 1; grid-row: 2; }
	main > .faqs .answers .answer { width: 908px; display: none; }
	main > .faqs .answers .answer h2 { font-size: 25px; font-variation-settings: "wght" 600; }
	main > .faqs .answers .answer h3 { margin: 0.343em 0 0; font-size: 35px; font-variation-settings: "wght" 300; }
	main > .faqs .answers .answer p { margin: 1.333em 0 0; font-size: 30px; line-height: 1.333; letter-spacing: -0.01em; font-variation-settings: "wght" 300; }
	main > .faqs .answers .answer h3 + p { margin: 7.733em 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .faqs { padding: 1.354vw 1.979vw 2.188vw; grid-template-columns: 55.729vw 1fr; }
	main > .faqs header h1 { font-size: 8.698vw; }
	main > .faqs .questions { padding: 9.115vw 0 0; }
	main > .faqs .questions h2 { font-size: 1.302vw; }
	main > .faqs .questions h3 { font-size: 1.302vw; }
	main > .faqs .answers { padding: 13.646vw 0 0; }
	main > .faqs .answers .answer { width: 47.292vw; }
	main > .faqs .answers .answer h2 { font-size: 1.302vw; }
	main > .faqs .answers .answer h3 { font-size: 1.823vw; }
	main > .faqs .answers .answer p { font-size: 1.563vw; }
}

main > .contact { padding: 117px 13px 110px; background: #F8F8F8; }
main > .contact header h1 { font-family: 'PP Editorial New', serif; font-size: 42px; line-height: 63px; }
main > .contact header h1::before { content: "("; display: inline; }
main > .contact header h1::after { content: ")"; display: inline; }
main > .contact .text { margin: 35px 0 0; }
main > .contact .text p { margin: 20px 0 0; font-size: 15px; line-height: 20px; font-variation-settings: "wght" 300; }
main > .contact .text p:first-child { margin: 0; }
main > .contact .form { margin: 48px 0 0; }
main > .contact .form .gform_heading { display: none; }
main > .contact .form .gfield.gfield_contains_required::after { font-size: 15px; line-height: 20px; font-variation-settings: "wght" 300; position: absolute; top: 10px; right: 0; pointer-events: none; content: "*"; display: block; }
main > .contact .form .gfield > label { display: none; }
main > .contact .form .gfield .ginput_container input[type="text"],
main > .contact .form .gfield .ginput_container input[type="email"],
main > .contact .form .gfield .ginput_container textarea { width: 100%; padding: 10px 20px 10px 0; font-size: 15px; line-height: 20px; font-variation-settings: "wght" 300; color: #140907; background: none; border: 0; border-bottom: 1px solid #140907; }
main > .contact .form .gfield .ginput_container textarea { height: 88px; border: 0; }
main > .contact .address { margin: 103px 0 0; padding: 12px 0 0; border-top: 1px solid #140907; }
main > .contact .address::before { width: 17px; height: 22px; background: url(images/pin.svg) no-repeat 50% 50% / contain; position: absolute; top: -34px; left: 0; content: " "; display: block; }
main > .contact .address p { font-size: 15px; line-height: 20px; font-variation-settings: "wght" 300; }
main > .contact .directions { margin: 42px 0 0; }
main > .contact .directions p { margin: 17px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
main > .contact .directions p:first-child { margin: 0; }
main > .contact .directions p strong { font-variation-settings: "wght" 500; }

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 77px 38px 44px; display: grid; grid-template-columns: 1085px 310px 1fr; gap: 248px 0; }
	main > .contact header { text-align: right; justify-self: end; align-self: end; grid-column: 2 / span 2; grid-row: 3; }
	main > .contact header h1 { font-size: 167px; line-height: 1; }
	main > .contact .text { margin: 0; padding: 0 400px 0 0; grid-column: 1 / span 3; grid-row: 1; }
	main > .contact .text p { margin: 1.135em 0 0; font-size: 37px; line-height: 1.135; text-wrap: balance; }
	main > .contact .text p:first-child { margin: 0; }
	main > .contact .form { margin: 0; padding: 10px 0 0; border-top: 1px solid #140907; grid-column: 1; grid-row: 2 / span 2; }
	main > .contact .form .gform_wrapper { width: 598px; }
	main > .contact .form .gfield.gfield_contains_required::after { font-size: 25px; line-height: 1.320; top: 0.400em; }
	main > .contact .form .gfield .ginput_container input[type="text"],
	main > .contact .form .gfield .ginput_container input[type="email"],
	main > .contact .form .gfield .ginput_container textarea { padding: 0.400em 0.800em 0.400em 0; font-size: 25px; line-height: 1.320; }
	main > .contact .form .gfield .ginput_container textarea { height: 13.360em; }
	main > .contact .address { margin: 0; padding: 16px 0 0; grid-column: 2; grid-row: 2; }
	main > .contact .address::before { width: 17px; height: 22px; top: -44px; }
	main > .contact .address p { font-size: 25px; line-height: 1.400; }
	main > .contact .directions { margin: 0; padding: 16px 0 0; border-top: 1px solid #140907; grid-column: 3; grid-row: 2; }
	main > .contact .directions p { margin: 1.333em 0 0; font-size: 18px; line-height: 1.333; }
	main > .contact .directions p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .contact { padding: 4.01vw 1.979vw 2.292vw; grid-template-columns: 56.51vw 16.146vw 1fr; gap: 12.917vw 0; }
	main > .contact header h1 { font-size: 8.698vw; }
	main > .contact .text { padding: 0 20.833vw 0 0; }
	main > .contact .text p { font-size: 1.927vw; }
	main > .contact .form { padding: 0.521vw 0 0; }
	main > .contact .form .gform_wrapper { width: 31.146vw; }
	main > .contact .form .gfield.gfield_contains_required::after { font-size: 1.302vw; }
	main > .contact .form .gfield .ginput_container input[type="text"],
	main > .contact .form .gfield .ginput_container input[type="email"],
	main > .contact .form .gfield .ginput_container textarea { font-size: 1.302vw; }
	main > .contact .address { padding: 0.833vw 0 0; }
	main > .contact .address::before { width: 0.885vw; height: 1.146vw; top: -2.292vw; }
	main > .contact .address p { font-size: 1.302vw; }
	main > .contact .directions { padding: 0.833vw 0 0; }
	main > .contact .directions p { font-size: 0.938vw; }
}

main > .notice { padding: 131px 13px 280px; color: #FFFFFF; background: #F43E06; text-align: center; }
main > .notice a { color: #FFFFFF; }
main > .notice a:hover { color: #140907; }
main > .notice h1 { font-family: 'PP Editorial New', serif; font-size: 42px; line-height: 63px; }
main > .notice h1::before { content: "("; display: inline; }
main > .notice h1::after { content: ")"; display: inline; }
main > .notice p { margin: 45px 0 0; font-size: 18px; line-height: 24px; letter-spacing: -0.01em; font-variation-settings: "wght" 300; }
main > .notice p a { font-variation-settings: "wght" 500; }

@media only screen and (min-width: 1024px) {
	main > .notice { padding: 0 26px 252px; text-align: left; }
	main > .notice h1 { padding: 0 0.072em; font-size: 167px; line-height: 1.311; }
	main > .notice p { width: 930px; margin: 9.267em 0 0; font-size: 30px; line-height: 1.333; }
}

@media only screen and (min-width: 1024px) {
	main > .notice { padding: 0 1.354vw 13.125vw; }
	main > .notice h1 { font-size: 8.698vw; }
	main > .notice p { width: 48.438vw; font-size: 1.563vw; }
}

body > footer { padding: 60px 15px 50px; color: #FFFFFF; background: #F43E06; }
body > footer a { color: #FFFFFF; }
body > footer a:hover { color: #140907; }
body > footer p.logo a { position: relative; display: inline-flex; }
body > footer p.logo a img { width: 122px; height: 91px; object-fit: contain; }
body > footer h2 { margin: 38px 0 0; padding: 28px 0 0; font-family: 'PP Editorial New', serif; font-size: 37px; line-height: 1; border-top: 1px solid #FFFFFF; }
body > footer h2 span { max-width: 300px; display: block; }
body > footer .columns { padding: 82px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 44px 9px; }
body > footer .columns .col h3 { padding: 0 0 9px; font-size: 13px; line-height: 17px; border-bottom: 1px solid #FFFFFF; }
body > footer .columns .col ul,
body > footer .columns .col p { margin: 12px 0 0; font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
body > footer .legal { padding: 72px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 9px; }
body > footer .legal .col ul,
body > footer .legal .col p { font-size: 13px; line-height: 17px; font-variation-settings: "wght" 300; }
body > footer .legal .col p { margin: 17px 0 0; }
body > footer .legal .col p:first-child { margin: 0; font-size: 14px; line-height: 19px; }

@media only screen and (min-width: 1024px) {
	body > footer { padding: 151px 38px 44px; display: grid; grid-template-columns: 1fr 908px; }
	body > footer p.logo { grid-column: 1; grid-row: 2 / span 2; align-self: end; }
	body > footer p.logo a img { width: 332px; height: 248px; }
	body > footer h2 { margin: 0; padding: 0.717em 0 0; font-size: 53px; grid-column: 1 / span 2; grid-row: 1; }
	body > footer h2 span { max-width: 8.491em; }
	body > footer .columns { padding: 112px 0 0; grid-template-columns: 1fr 1fr 1fr; gap: 0; grid-column: 2; grid-row: 2; }
	body > footer .columns .col h3 { padding: 0 0 0.500em; font-size: 20px; line-height: 1.300; }
	body > footer .columns .col ul,
	body > footer .columns .col p { margin: 0.900em 0 0; font-size: 20px; line-height: 1.300; }
	body > footer .legal { padding: 70px 0 30px; grid-template-columns: 1fr 1fr 1fr; gap: 0; }
	body > footer .legal .col:nth-of-type(1) { grid-column: 2; align-self: end; }
	body > footer .legal .col:nth-of-type(2) { grid-column: 3; }
	body > footer .legal .col ul,
	body > footer .legal .col p { font-size: 14px; line-height: 1.357; }
	body > footer .legal .col p { margin: 1.357em 0 0; }
	body > footer .legal .col p:first-child { margin: 0; font-size: 14px; line-height: 1.357; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 7.865vw 1.979vw 2.292vw; grid-template-columns: 1fr 47.292vw; }
	body > footer p.logo a img { width: 17.292vw; height: 12.917vw; }
	body > footer h2 { font-size: 2.76vw; }
	body > footer .columns { padding: 5.833vw 0 0; }
	body > footer .columns .col h3 { font-size: 1.042vw; }
	body > footer .columns .col ul,
	body > footer .columns .col p { font-size: 1.042vw; }
	body > footer .legal { padding: 3.646vw 0 1.563vw; }
	body > footer .legal .col ul,
	body > footer .legal .col p { font-size: 0.729vw; }
	body > footer .legal .col p:first-child { font-size: 0.729vw; }
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}