@charset "UTF-8";

/* inner pages. one block per page, shared bits first */

.dib {
	display: inline-block;
}

.pg-crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 11.5px;
	color: var(--text);
}

.pg-crumb a {
	border-bottom: 1px solid var(--line);
}

.pg-crumb.-light {
	color: #9a9a9a;
}

.pg-crumb.-light a {
	border-color: #555555;
	color: #dddddd;
}

.page-inner {
	border-top: 1px solid var(--line-soft);
}

.pg-cta {
	padding: 10px 0 90px;
}

.pg-cta__box {
	position: relative;
	display: grid;
	gap: 22px;
	padding: 34px 24px;
	overflow: hidden;
	background: var(--ink);
	color: var(--white);
	isolation: isolate;
}

.pg-cta__box::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: -14%;
	top: 0;
	width: 20%;
	height: 100%;
	background: var(--accent);
	transform: skewX(-24deg);
}

.pg-cta__title {
	font-family: var(--font-en);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .04em;
}

.pg-cta__txt {
	max-width: 520px;
	margin-top: 8px;
	font-size: 13.5px;
	line-height: 1.85;
	color: #c9c9c9;
}

.pg-cta .btn-black a {
	background: var(--white);
	color: var(--ink);
}

.pg-cta .btn-black a::before {
	background: var(--accent);
}

/* ---------- house designs ---------- */

.dz-hero {
	position: relative;
	padding: 34px 0 60px;
	overflow: hidden;
	background: var(--dark);
	color: var(--white);
	isolation: isolate;
}

.dz-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -14%;
	top: 0;
	width: 44%;
	height: 100%;
	background: #222222;
	transform: skewX(-24deg);
}

.dz-hero__grid {
	display: grid;
	gap: 20px;
	margin-top: 40px;
}

.dz-hero__en,
.rq-hero__en {
	position: relative;
	padding-left: 26px;
	font-family: var(--font-en);
	font-size: 52px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .1em;
}

.dz-hero__en::before,
.rq-hero__en::before {
	content: "";
	position: absolute;
	left: 4px;
	top: -8px;
	width: 6px;
	height: calc(100% + 14px);
	background: var(--accent);
	transform: skewX(-22deg);
}

.dz-hero__title {
	margin-top: 14px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--white);
}

.dz-hero__txt {
	font-size: 14px;
	line-height: 1.95;
	color: #c9c9c9;
}

.dz-compare {
	padding: 70px 0 40px;
}

.dz-compare__wrap {
	margin-top: 28px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.dz-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	font-size: 13.5px;
}

.dz-table th,
.dz-table td {
	padding: 14px 12px;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
	white-space: nowrap;
}

.dz-table thead th {
	border-bottom: 1px solid var(--ink);
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text);
}

.dz-table tbody th {
	font-family: var(--font-en);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
}

.dz-table td:nth-last-child(-n+2) {
	font-family: var(--font-en);
	font-size: 16px;
	font-weight: 600;
}

.dz-table tbody tr:hover {
	background: #fafafa;
}

.dz-note {
	margin-top: 12px;
	font-size: 12px;
	color: var(--text);
}

.dz-item {
	padding: 50px 0;
}

.dz-item__grid {
	display: grid;
	gap: 30px;
}

.dz-item__photo img {
	width: 100%;
	aspect-ratio: 10 / 7;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0, 100% 88%, 88% 100%, 0 100%);
}

.dz-plan {
	margin-top: 14px;
	padding: 16px 16px 10px;
	border: 1px solid var(--line-soft);
	background: #fafafa;
}

.dz-plan__label {
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text);
}

.dz-plan svg {
	width: 100%;
	height: auto;
	margin-top: 8px;
}

.dz-item__no {
	font-family: var(--font-en);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px #c4c4c4;
}

main.index .dz-item__name {
	margin-top: 6px;
	font-size: 30px;
}

.dz-item__kind {
	margin-top: 10px;
	font-size: 13px;
	color: var(--text);
}

.dz-item__lead {
	margin-top: 16px;
	font-size: 14.5px;
	line-height: 1.95;
}

.dz-spec {
	margin-top: 22px;
	border-top: 1px solid var(--ink);
}

.dz-spec div {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--line-soft);
	font-size: 13px;
	line-height: 1.7;
}

.dz-spec dt {
	padding-top: 2px;
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text);
}

.dz-prices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 22px;
}

.dz-price {
	padding: 16px 16px 14px;
	border: 1px solid var(--line);
}

.dz-price.-dark {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white);
}

.dz-price__label {
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--text);
}

.dz-price__num {
	margin-top: 2px;
	font-family: var(--font-en);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
}

.dz-price__note {
	margin-top: 4px;
	font-size: 11.5px;
	line-height: 1.5;
	color: var(--text);
}

.dz-price.-dark .dz-price__label,
.dz-price.-dark .dz-price__note {
	color: #aaaaaa;
}

.dz-btn {
	margin-top: 24px;
}

.dz-adjust {
	padding: 70px 0;
}

.dz-adjust__grid {
	display: grid;
	gap: 14px;
	margin-top: 30px;
}

.dz-adjust__col {
	padding: 24px 22px;
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

.dz-adjust__col.-priced {
	border: 1px solid var(--line-soft);
	background: #fafafa;
	box-shadow: none;
}

.dz-adjust__title {
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.dz-adjust__list {
	margin-top: 12px;
}

.dz-adjust__list li {
	position: relative;
	padding: 8px 0 8px 22px;
	border-bottom: 1px solid var(--line-soft);
	font-size: 13px;
	line-height: 1.7;
}

.dz-adjust__list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 15px;
	width: 8px;
	height: 8px;
	background: var(--accent);
}

.dz-adjust__col.-priced .dz-adjust__list li::before {
	background: var(--ink);
}

/* ---------- turnkey build ---------- */

.tk-hero {
	position: relative;
	padding-bottom: 40px;
}

.tk-hero__photo img {
	width: 100%;
	height: 56vw;
	min-height: 260px;
	object-fit: cover;
}

.tk-hero__box {
	position: relative;
	margin-top: -60px;
	padding: 24px 22px 30px;
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

.tk-hero__en {
	margin-top: 18px;
	font-family: var(--font-en);
	font-size: 44px;
	font-weight: 700;
	line-height: .98;
	letter-spacing: .08em;
}

.tk-hero__en::after {
	content: "";
	display: block;
	width: 64px;
	height: 6px;
	margin-top: 14px;
	background: var(--accent);
	transform: skewX(-30deg);
}

.tk-hero__title {
	margin-top: 16px;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
}

.tk-hero__txt {
	margin-top: 10px;
	font-size: 13.5px;
	line-height: 1.95;
	color: var(--text);
}

.tk-hero__facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--line-soft);
}

.tk-hero__facts b {
	display: block;
	font-family: var(--font-en);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.1;
}

.tk-hero__facts span {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	line-height: 1.5;
	color: var(--text);
}

.tk-steps {
	padding: 80px 0;
}

.tk-line {
	position: relative;
	margin-top: 40px;
}

.tk-line::before {
	content: "";
	position: absolute;
	left: 21px;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--line);
}

.tk-line__item {
	position: relative;
	padding: 0 0 32px 64px;
}

.tk-line__no {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--ink);
	color: var(--white);
	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .06em;
}

.tk-line__item.-frame .tk-line__no {
	background: var(--accent);
	color: var(--ink);
}

.tk-line__time {
	padding-top: 10px;
	font-family: var(--font-en);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--text);
}

.tk-line__item h3 {
	margin-top: 4px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.tk-line__txt {
	margin-top: 6px;
	font-size: 13.5px;
	line-height: 1.9;
	color: var(--text);
}

.tk-team {
	padding: 70px 0;
	background: #fafafa;
}

.tk-team__list {
	display: grid;
	gap: 14px;
	margin-top: 30px;
}

.tk-role {
	padding: 26px 22px;
	border-top: 3px solid var(--ink);
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

.tk-role svg {
	width: 40px;
	height: 40px;
	color: var(--ink);
}

.tk-role__name {
	margin-top: 14px;
	font-family: var(--font-en);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.tk-role__txt {
	margin-top: 8px;
	font-size: 13px;
	line-height: 1.85;
	color: var(--text);
}

.tk-scope {
	position: relative;
	padding: 80px 0;
	overflow: hidden;
	background: var(--dark);
	color: #dddddd;
	isolation: isolate;
}

.tk-scope::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -24%;
	top: 0;
	width: 50%;
	height: 100%;
	background: #1f1f1f;
	transform: skewX(-24deg);
}

.tk-scope__grid {
	display: grid;
	gap: 40px;
}

.tk-scope__title {
	font-family: var(--font-en);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--white);
}

.tk-scope__list {
	margin-top: 16px;
}

.tk-scope__list li {
	position: relative;
	padding: 10px 0 10px 28px;
	border-bottom: 1px solid #2c2c2c;
	font-size: 13.5px;
	line-height: 1.7;
	break-inside: avoid;
}

.tk-scope__list li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 16px;
	width: 11px;
	height: 6px;
	border-left: 1.5px solid var(--accent);
	border-bottom: 1.5px solid var(--accent);
	transform: rotate(-45deg);
}

.tk-scope__col.-out .tk-scope__list li {
	color: #9a9a9a;
}

.tk-scope__col.-out .tk-scope__list li::before {
	top: 21px;
	width: 10px;
	height: 1.5px;
	border: 0;
	background: #777777;
	transform: none;
}

.tk-pay {
	padding: 80px 0;
}

.tk-pay__grid {
	display: grid;
	gap: 30px;
}

.tk-pay__wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.tk-pay__table {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 13.5px;
}

.tk-pay__table th,
.tk-pay__table td {
	padding: 14px 12px;
	border-bottom: 1px solid var(--line-soft);
	text-align: left;
	line-height: 1.6;
}

.tk-pay__table thead th {
	border-bottom: 1px solid var(--ink);
	font-family: var(--font-en);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text);
}

.tk-pay__table td:first-child {
	font-weight: 700;
}

.tk-pay__table td:nth-child(2) {
	color: var(--text);
}

.tk-pay__table th:last-child,
.tk-pay__table td:last-child {
	text-align: right;
	white-space: nowrap;
}

.tk-pay__table td:last-child {
	font-family: var(--font-en);
	font-size: 18px;
	font-weight: 600;
}

/* ---------- custom design ---------- */

.cd-hero {
	position: relative;
	padding: 34px 0 60px;
	overflow: hidden;
}

.cd-hero__en {
	margin-top: 10px;
	font-family: var(--font-en);
	font-size: 19vw;
	font-weight: 700;
	line-height: .9;
	letter-spacing: 0;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px #c4c4c4;
}

.cd-hero__grid {
	display: grid;
	gap: 16px;
	margin-top: 18px;
}

.cd-hero__title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.45;
}

.cd-hero__txt {
	font-size: 14px;
	line-height: 1.95;
	color: var(--text);
}

.cd-hero__photo {
	margin-top: 30px;
}

.cd-hero__photo img {
	width: 100%;
	height: 52vw;
	max-height: 520px;
	object-fit: cover;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%);
}

.cd-paths {
	padding: 70px 0;
}

.cd-paths__grid {
	display: grid;
	gap: 16px;
	margin-top: 30px;
}

.cd-path {
	position: relative;
	padding: 30px 22px 26px;
	border: 1px solid var(--ink);
	background: var(--white);
}

.cd-path.-ours {
	background: var(--ink);
	color: var(--white);
}

.cd-path__tag {
	position: absolute;
	top: -1px;
	right: -1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: var(--accent);
	color: var(--ink);
	font-family: var(--font-en);
	font-size: 24px;
	font-weight: 700;
}

.cd-path__name {
	padding-right: 56px;
	font-family: var(--font-en);
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .04em;
}

.cd-path__lead {
	margin-top: 8px;
	font-size: 13.5px;
	line-height: 1.85;
	color: var(--text);
}

.cd-path.-ours .cd-path__lead {
	color: #bdbdbd;
}

.cd-path__rows {
	margin-top: 20px;
}

.cd-path__rows div {
	display: grid;
	grid-template-columns: 78px 1fr;
	gap: 12px;
	padding: 11px 0;
	border-top: 1px solid var(--line-soft);
	font-size: 13px;
	line-height: 1.75;
}

.cd-path.-ours .cd-path__rows div {
	border-color: #333333;
}

.cd-path__rows dt {
	padding-top: 2px;
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--text);
}

.cd-path.-ours .cd-path__rows dt {
	color: #9a9a9a;
}

.cd-process {
	padding: 70px 0;
	background: #fafafa;
}

.cd-steps {
	display: grid;
	gap: 12px;
	margin-top: 30px;
}

.cd-step {
	position: relative;
	padding: 22px 20px;
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

.cd-step__icon svg {
	width: 36px;
	height: 36px;
	color: var(--ink);
}

.cd-step__no {
	margin-top: 12px;
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .18em;
	color: var(--text);
}

.cd-step h3 {
	margin-top: 2px;
	font-size: 16px;
	font-weight: 700;
}

.cd-step__txt {
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--text);
}

.cd-fees {
	padding: 80px 0;
}

.cd-fees__grid {
	display: grid;
	gap: 26px;
}

.cd-fees__list {
	border-top: 1px solid var(--ink);
}

.cd-fees__list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--line-soft);
}

.cd-fees__name {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.cd-fees__name small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--text);
}

.cd-fees__price {
	flex-shrink: 0;
	font-family: var(--font-en);
	font-size: 20px;
	font-weight: 600;
	white-space: nowrap;
}

.cd-fees__note {
	margin-top: 14px;
	font-size: 12.5px;
	color: var(--text);
}

.cd-brief {
	padding: 0 0 70px;
}

.cd-brief__grid {
	display: grid;
	gap: 14px;
}

.cd-brief__box {
	padding: 28px 22px;
	border: 1px solid var(--line);
}

.cd-brief__box.-limits {
	border-color: var(--line-soft);
	border-left: 4px solid var(--accent);
	background: #fafafa;
}

.cd-brief__title {
	font-size: 17px;
	font-weight: 700;
}

.cd-brief__list {
	margin-top: 14px;
	counter-reset: brief;
}

.cd-brief__list li {
	position: relative;
	padding: 8px 0 8px 32px;
	border-bottom: 1px solid var(--line-soft);
	font-size: 13.5px;
	line-height: 1.7;
	counter-increment: brief;
}

.cd-brief__list li::before {
	content: counter(brief, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 9px;
	font-family: var(--font-en);
	font-size: 12px;
	font-weight: 600;
	color: var(--text);
}

.cd-limits {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}

.cd-limits li {
	font-size: 13.5px;
	line-height: 1.85;
}

.cd-limits b {
	display: block;
	font-family: var(--font-en);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

/* ---------- about ---------- */

.ab-hero {
	position: relative;
	padding: 34px 0 60px;
	overflow: hidden;
	background: var(--dark);
	color: var(--white);
	isolation: isolate;
}

.ab-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: 16%;
	top: -10%;
	width: 2px;
	height: 130%;
	background: var(--accent);
	transform: rotate(24deg);
}

.ab-hero::after {
	content: "";
	position: absolute;
	z-index: -2;
	right: -24%;
	top: 0;
	width: 58%;
	height: 100%;
	background: #1f1f1f;
	transform: skewX(-24deg);
}

.ab-hero__en {
	margin-top: 40px;
	font-family: var(--font-en);
	font-size: 60px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .12em;
}

.ab-hero__title {
	max-width: 760px;
	margin-top: 18px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--white);
}

.ab-hero__facts {
	display: grid;
	margin-top: 34px;
	border-top: 1px solid #333333;
}

.ab-hero__facts div {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid #333333;
	font-size: 13px;
}

.ab-hero__facts dt {
	padding-top: 2px;
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #8a8a8a;
}

.ab-hero__facts dd {
	color: #e8e8e8;
}

.ab-story {
	padding: 80px 0;
}

.ab-story__grid {
	display: grid;
	gap: 40px;
}

.ab-story__pics {
	position: relative;
	height: 420px;
}

.ab-story__pic {
	position: absolute;
	overflow: hidden;
}

.ab-story__pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ab-story__pic.-a {
	left: 0;
	top: 0;
	width: 68%;
	height: 78%;
	clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%);
}

.ab-story__pic.-b {
	right: 0;
	bottom: 0;
	width: 56%;
	height: 62%;
	clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%);
}

.ab-story__lead {
	margin-top: 24px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
}

.ab-story__txt p:not(.ab-story__lead) {
	margin-top: 14px;
	font-size: 14px;
	line-height: 2;
	color: var(--text);
}

.ab-frame {
	padding: 80px 0;
	background: #fafafa;
}

.ab-frame__list {
	display: grid;
	gap: 22px;
	margin-top: 34px;
}

.ab-frame__item {
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

.ab-frame__img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.ab-frame__step {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 20px 0;
	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .14em;
}

.ab-frame__step span {
	padding: 0 7px;
	background: var(--accent);
	font-size: 12px;
}

.ab-frame__txt {
	padding: 8px 20px 22px;
	font-size: 13px;
	line-height: 1.85;
	color: var(--text);
}

.ab-area {
	padding: 80px 0;
}

.ab-area__grid {
	display: grid;
	gap: 36px;
}

.ab-area__towns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.ab-area__towns li {
	padding: 5px 12px;
	border: 1px solid var(--line);
	font-size: 12.5px;
}

.ab-area__map svg {
	width: 100%;
	max-width: 460px;
	height: auto;
	margin: 0 auto;
}

.ab-numbers {
	padding: 0 0 80px;
}

.ab-numbers__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	border: 1px solid var(--line-soft);
	background: var(--line-soft);
}

.ab-numbers__list li {
	padding: 26px 18px;
	background: var(--white);
}

.ab-numbers__list b {
	display: block;
	font-family: var(--font-en);
	font-size: 48px;
	font-weight: 700;
	line-height: 1;
}

.ab-numbers__list b::after {
	content: "";
	display: block;
	width: 28px;
	height: 4px;
	margin-top: 10px;
	background: var(--accent);
	transform: skewX(-30deg);
}

.ab-numbers__list span {
	display: block;
	margin-top: 10px;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--text);
}

/* ---------- request a quote ---------- */

.rq-hero {
	position: relative;
	padding: 34px 0 50px;
	overflow: hidden;
	isolation: isolate;
}

.rq-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -24%;
	top: 0;
	width: 62%;
	height: 100%;
	background: var(--slash);
	transform: skewX(-24deg);
}

.rq-hero__grid {
	display: grid;
	gap: 30px;
	margin-top: 34px;
}

.rq-hero__title {
	margin-top: 14px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.45;
}

.rq-hero__txt {
	max-width: 540px;
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.95;
	color: var(--text);
}

.rq-cards {
	display: grid;
	align-content: end;
	gap: 10px;
}

.rq-card {
	display: grid;
	gap: 2px;
	padding: 18px 20px;
	border-left: 4px solid var(--ink);
	background: var(--white);
	box-shadow: var(--leadgrid-box-shadow);
}

a.rq-card:hover {
	transform: translateX(4px);
}

.rq-card.-plain {
	border-left-color: var(--line);
}

.rq-card__label {
	font-family: var(--font-en);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--text);
}

.rq-card__val {
	font-family: var(--font-en);
	font-size: 20px;
	font-weight: 600;
	word-break: break-word;
}

.rq-card.-plain .rq-card__val {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
}

.rq-next {
	padding: 0 0 50px;
}

.rq-next__list {
	display: grid;
	gap: 1px;
	border: 1px solid var(--line);
	background: var(--line);
}

.rq-next__list li {
	position: relative;
	padding: 20px 20px 20px 70px;
	background: var(--white);
}

.rq-next__no {
	position: absolute;
	left: 20px;
	top: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--accent);
	font-family: var(--font-en);
	font-size: 15px;
	font-weight: 700;
}

.rq-next__title {
	font-size: 14.5px;
	font-weight: 700;
}

.rq-next__txt {
	margin-top: 2px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--text);
}

.rq-help {
	padding: 70px 0 90px;
}

.rq-help__grid {
	display: grid;
	gap: 14px;
}

.rq-help__box {
	padding: 28px 22px;
	border: 1px solid var(--line);
}

.rq-help__box.-dark {
	border-color: var(--ink);
	background: var(--ink);
	color: #dddddd;
}

.rq-help__title {
	font-size: 17px;
	font-weight: 700;
}

.rq-help__box.-dark .rq-help__title {
	color: var(--white);
}

.rq-help__list {
	margin-top: 14px;
}

.rq-help__list li {
	position: relative;
	padding: 8px 0 8px 24px;
	border-bottom: 1px solid var(--line-soft);
	font-size: 13.5px;
	line-height: 1.7;
}

.rq-help__list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 14px;
	width: 10px;
	height: 5px;
	border-left: 1.5px solid var(--ink);
	border-bottom: 1.5px solid var(--ink);
	transform: rotate(-45deg);
}

.rq-help__box.-dark p {
	margin-top: 12px;
	font-size: 13.5px;
	line-height: 1.9;
}

.rq-help__box.-dark a {
	border-bottom: 1px solid #777777;
	color: var(--white);
}

.rq-help__box.-dark .rq-help__company {
	padding-top: 12px;
	border-top: 1px solid #333333;
	font-size: 12px;
	color: #9a9a9a;
}

/* 2 columns before the tablet layout kicks in */
@media screen and (min-width: 560px) {
	.rq-next__list {
		grid-template-columns: 1fr 1fr;
	}

	.ab-frame__list {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (min-width: 769px) {
	.pg-cta__box {
		grid-template-columns: 1fr auto;
		align-items: center;
		padding: 50px 56px;
	}

	.pg-cta__box::before {
		width: 30%;
	}

	.pg-cta__title {
		font-size: 34px;
	}

	.dz-hero__grid {
		grid-template-columns: 1fr 1fr;
		align-items: end;
		gap: 60px;
	}

	.dz-hero__en,
	.rq-hero__en {
		font-size: 80px;
	}

	.dz-item__grid {
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 56px;
	}

	.dz-item.-flip .dz-item__media {
		order: 2;
	}

	.dz-adjust__grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}

	.tk-hero {
		min-height: 700px;
		padding-bottom: 80px;
	}

	.tk-hero__photo {
		margin-left: 30%;
	}

	.tk-hero__photo img {
		height: 640px;
	}

	.tk-hero .section-inner {
		position: absolute;
		left: 0;
		right: 0;
		top: 50px;
	}

	.tk-hero__box {
		max-width: 500px;
		margin-top: 0;
		padding: 34px 36px 34px;
	}

	.tk-hero__en {
		font-size: 58px;
	}

	.tk-team__list {
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}

	.tk-scope__grid {
		grid-template-columns: 3fr 2fr;
		gap: 60px;
	}

	.tk-scope__col:first-child .tk-scope__list {
		columns: 2;
		column-gap: 30px;
	}

	.cd-hero__en {
		font-size: 190px;
	}

	.cd-hero__grid {
		grid-template-columns: 1fr 1fr;
		align-items: end;
		gap: 60px;
	}

	.cd-hero__title {
		font-size: 32px;
	}

	.cd-paths__grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}

	.cd-path {
		padding: 40px 36px 34px;
	}

	.cd-steps {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.cd-brief__grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}

	.ab-hero__en {
		font-size: 100px;
	}

	.ab-hero__title {
		font-size: 30px;
	}

	.ab-hero__facts {
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
	}

	.ab-story__grid {
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 60px;
	}

	.ab-story__pics {
		height: 560px;
	}

	.rq-hero__grid {
		grid-template-columns: 3fr 2fr;
		align-items: end;
		gap: 60px;
	}

	.rq-help__grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
}

@media screen and (min-width: 1024px) {
	.dz-hero {
		padding: 50px 0 90px;
	}

	.dz-hero__en,
	.rq-hero__en {
		font-size: 110px;
	}

	.dz-item {
		padding: 80px 0;
	}

	.dz-item__grid {
		gap: 90px;
	}

	.dz-item__no {
		font-size: 96px;
	}

	main.index .dz-item__name {
		font-size: 40px;
	}

	.tk-hero__box {
		max-width: 540px;
	}

	.tk-hero__en {
		font-size: 66px;
	}

	.tk-line::before {
		left: 50%;
	}

	.tk-line__item {
		width: 50%;
		padding: 0 64px 44px 0;
		text-align: right;
	}

	.tk-line__item + .tk-line__item {
		margin-top: -40px;
	}

	.tk-line__item:nth-child(even) {
		margin-left: 50%;
		padding: 0 0 44px 64px;
		text-align: left;
	}

	.tk-line__no {
		left: auto;
		right: -22px;
	}

	.tk-line__item:nth-child(even) .tk-line__no {
		left: -22px;
		right: auto;
	}

	.tk-pay__grid {
		grid-template-columns: 340px 1fr;
		gap: 70px;
	}

	.cd-hero__en {
		font-size: 250px;
	}

	.cd-steps {
		grid-template-columns: repeat(5, 1fr);
		gap: 14px;
	}

	.cd-fees__grid {
		grid-template-columns: 340px 1fr;
		gap: 70px;
	}

	.ab-hero {
		padding: 50px 0 90px;
	}

	.ab-hero__en {
		font-size: 140px;
	}

	.ab-hero__facts {
		grid-template-columns: repeat(4, 1fr);
	}

	.ab-hero__facts div {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.ab-frame__list {
		grid-template-columns: repeat(4, 1fr);
	}

	.ab-area__grid {
		grid-template-columns: 1fr 1fr;
		align-items: center;
		gap: 60px;
	}

	.ab-numbers__list {
		grid-template-columns: repeat(4, 1fr);
	}

	.ab-numbers__list b {
		font-size: 64px;
	}

	.rq-next__list {
		grid-template-columns: repeat(4, 1fr);
	}

	.rq-next__list li {
		padding: 24px 22px;
	}

	.rq-next__no {
		position: static;
		margin-bottom: 12px;
	}
}
