/* ドキュパカ！印刷・出力 LP。紙の色の地に、刷りの4色（シアン・マゼンタ・イエロー・墨）のカラーバーと、トンボ（裁ち落としの目印）で印刷の現場らしさを出す */

.dprint-body {
	--dp-paper: #fbf9f5;
	--dp-panel: #ffffff;
	--dp-soft: #f6f4ee;
	--dp-chrome: #f1efe9;
	--dp-sumi: #17181c;
	--dp-sumi-60: #5b5d64;
	--dp-rule: #e4e1d9;
	--dp-cyan: #0a8fd6;
	--dp-cyan-dark: #0a6e9e;
	--dp-magenta: #e4007f;
	--dp-magenta-text: #c2006c;
	--dp-yellow: #ffe100;
	--dp-on-dark: #c9cbd1;
	--dp-on-dark-muted: #9a9da5;
	--dp-line-dark: #3a3c43;
	--dp-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Roboto Mono", monospace;
	--dp-max: 1180px;
	margin: 0;
	background: var(--dp-paper);
	color: var(--dp-sumi);
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.9;
}

.dprint-body *,
.dprint-body *::before,
.dprint-body *::after {
	box-sizing: border-box;
}

.dprint-body a {
	color: inherit;
}

.dprint-body p {
	margin: 0;
}

.dprint-body h1,
.dprint-body h2,
.dprint-body h3 {
	margin: 0;
	color: var(--dp-sumi);
	font-weight: 900;
	overflow-wrap: anywhere;
	word-break: auto-phrase;
	line-break: strict;
	text-wrap: balance;
}

.dprint-body :focus-visible {
	outline: 3px solid var(--dp-cyan);
	outline-offset: 3px;
}

.dprint-container {
	width: min(calc(100% - 64px), var(--dp-max));
	margin-inline: auto;
}

.dprint-nowrap {
	display: inline-block;
}

.dprint-skip {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 1000;
	padding: 10px 16px;
	background: #fff;
	color: var(--dp-sumi);
	transform: translateY(-150%);
}

.dprint-skip:focus {
	transform: none;
}

/* カラーバー（刷りの色玉） */
.dprint-colorbar {
	display: flex;
	height: 6px;
}

.dprint-colorbar i,
.dprint-strip i {
	display: block;
	flex: 1;
	background: var(--dp-rule);
}

.dprint-colorbar .c,
.dprint-strip .c {
	background: var(--dp-cyan);
}

.dprint-colorbar .m,
.dprint-strip .m {
	background: var(--dp-magenta);
}

.dprint-colorbar .y,
.dprint-strip .y {
	background: var(--dp-yellow);
}

.dprint-colorbar .k,
.dprint-strip .k {
	background: var(--dp-sumi);
}

.dprint-colorbar--short {
	width: 120px;
	height: 4px;
	margin-bottom: 24px;
}

.dprint-colorbar--edge {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 8px;
}

/* ボタン */
.dprint-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 26px;
	border: 1px solid var(--dp-sumi);
	border-radius: 999px;
	background: var(--dp-sumi);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.dprint-button:hover,
.dprint-button:focus-visible {
	border-color: var(--dp-cyan-dark);
	background: var(--dp-cyan-dark);
}

.dprint-button--large {
	min-height: 60px;
	padding: 18px 38px;
	font-size: 17px;
}

.dprint-button--small {
	padding: 9px 20px;
	font-size: 14px;
}

.dprint-button--ghost {
	background: transparent;
	color: var(--dp-sumi) !important;
}

.dprint-button--ghost:hover,
.dprint-button--ghost:focus-visible {
	border-color: var(--dp-sumi);
	background: var(--dp-sumi);
	color: #fff !important;
}

.dprint-button--light {
	border-color: #fff;
	background: #fff;
	color: var(--dp-sumi) !important;
}

.dprint-button--light:hover,
.dprint-button--light:focus-visible {
	border-color: var(--dp-yellow);
	background: var(--dp-yellow);
}

.dprint-button--ghost-light {
	border-color: #fff;
	background: transparent;
}

.dprint-button--ghost-light:hover,
.dprint-button--ghost-light:focus-visible {
	border-color: #fff;
	background: #fff;
	color: var(--dp-sumi) !important;
}

/* 上の帯 ------------------------------------------------------------ */

.dprint-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--dp-rule);
	background: rgba(251, 249, 245, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.dprint-header__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 64px;
}

.dprint-header .dprint-button {
	margin-left: auto;
}

.dprint-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.dprint-brand__image {
	display: block;
	width: 156px;
	height: auto;
}

.dprint-brand__product {
	font-size: 15px;
	font-weight: 900;
	white-space: nowrap;
}

.dprint-beta {
	padding: 2px 10px;
	border: 1px solid var(--dp-magenta);
	border-radius: 999px;
	color: var(--dp-magenta-text);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

@media (prefers-reduced-motion: no-preference) {
	.dprint-header .dprint-colorbar i {
		animation: dprint-pass 0.5s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;
		transform: scaleX(0);
		transform-origin: left;
	}

	@keyframes dprint-pass {
		to {
			transform: scaleX(1);
		}
	}
}

/* 最初の画面 -------------------------------------------------------- */

.dprint-hero {
	padding: 80px 0 72px;
}

.dprint-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	gap: 64px;
	align-items: center;
}

.dprint-body .dprint-pill {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 28px;
	padding: 8px 18px 8px 14px;
	border: 1px solid var(--dp-rule);
	border-radius: 999px;
	background: var(--dp-panel);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}

.dprint-pill__dot {
	flex: none;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--dp-cyan);
}

.dprint-hero h1 {
	margin-bottom: 24px;
	font-size: clamp(30px, 5.2vw, 52px);
	letter-spacing: -0.015em;
	line-height: 1.36;
}

.dprint-hero__lead {
	max-width: 34em;
	color: var(--dp-sumi-60);
	font-size: clamp(15.5px, 1.5vw, 17px);
	line-height: 2.05;
}

.dprint-body .dprint-offer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--dp-rule);
	font-size: clamp(16px, 1.6vw, 18px);
	font-weight: 700;
}

.dprint-tag {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--dp-cyan-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.5;
}

.dprint-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 18px;
	margin-top: 24px;
}

.dprint-body .dprint-hero__note {
	margin-top: 16px;
	color: var(--dp-sumi-60);
	font-size: 14px;
	line-height: 1.8;
}

.dprint-hero__note a {
	display: table;
	margin-top: 4px;
	color: var(--dp-sumi);
	font-weight: 700;
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* 画面の写真（ブラウザの枠） */
.dprint-window {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--dp-rule);
	border-radius: 12px;
	background: var(--dp-panel);
	box-shadow: 0 22px 50px -28px rgba(23, 24, 28, 0.35);
}

.dprint-window__bar {
	display: flex;
	gap: 7px;
	padding: 11px 14px;
	border-bottom: 1px solid var(--dp-rule);
	background: var(--dp-chrome);
}

.dprint-window__bar i {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #d3d0c8;
}

.dprint-window img,
.dprint-window video {
	display: block;
	width: 100%;
	height: auto;
}

.dprint-window figcaption {
	padding: 10px 14px;
	border-top: 1px solid var(--dp-rule);
	color: var(--dp-sumi-60);
	font-size: 12.5px;
}

/* ロールの図（トンボ付き） */
.dprint-sheet {
	position: relative;
	min-width: 0;
	margin: 64px 0 0;
	padding: 24px;
}

.dprint-sheet::before,
.dprint-sheet::after,
.dprint-sheet__mark {
	position: absolute;
	width: 18px;
	height: 18px;
	border: 0 solid var(--dp-sumi);
	opacity: 0.55;
	content: "";
}

.dprint-sheet::before {
	top: 0;
	left: 0;
	border-width: 1px 0 0 1px;
}

.dprint-sheet::after {
	top: 0;
	right: 0;
	border-width: 1px 1px 0 0;
}

.dprint-sheet__mark--left {
	bottom: 0;
	left: 0;
	border-width: 0 0 1px 1px;
}

.dprint-sheet__mark--right {
	right: 0;
	bottom: 0;
	border-width: 0 1px 1px 0;
}

.dprint-roll-scroll {
	overflow-x: auto;
}

.dprint-roll {
	display: block;
	width: 100%;
	min-width: 620px;
	height: auto;
}

.dprint-roll .fabric {
	fill: var(--dp-panel);
	stroke: var(--dp-rule);
}

.dprint-roll .p1 {
	fill: #dcf0fb;
}

.dprint-roll .p2 {
	fill: #fff6bf;
}

.dprint-roll .p3 {
	fill: #fbdded;
}

.dprint-roll .cutline {
	fill: none;
	stroke: var(--dp-magenta);
	stroke-width: 1.4;
}

.dprint-roll .sec {
	stroke: var(--dp-sumi-60);
	stroke-dasharray: 5 5;
	stroke-width: 1;
}

.dprint-roll text {
	fill: var(--dp-sumi);
	font-family: var(--dp-mono);
	font-size: 12px;
}

.dprint-roll .lbl {
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
}

.dprint-roll .dim {
	fill: var(--dp-sumi-60);
	font-size: 11px;
}

.dprint-roll .arrow {
	fill: none;
	stroke: var(--dp-sumi-60);
	stroke-width: 1;
}

.dprint-roll-caption {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin-top: 10px;
	color: var(--dp-sumi-60);
	font-size: 13px;
}

.dprint-roll-caption i {
	display: inline-block;
	width: 18px;
	height: 0;
	margin-right: 6px;
	border-top: 2px solid var(--dp-magenta);
	vertical-align: middle;
}

.dprint-roll-caption i.is-section {
	border-top: 1.5px dashed var(--dp-sumi-60);
}

@media (prefers-reduced-motion: no-preference) {
	.dprint-roll .cutline {
		animation: dprint-draw 1.6s ease-out 0.2s forwards;
		stroke-dasharray: 1400;
		stroke-dashoffset: 1400;
	}

	@keyframes dprint-draw {
		to {
			stroke-dashoffset: 0;
		}
	}
}

/* 章 ---------------------------------------------------------------- */

.dprint-section {
	padding: 92px 0;
	border-top: 1px solid var(--dp-rule);
	scroll-margin-top: 70px;
}

.dprint-heading {
	display: grid;
	justify-items: start;
	max-width: 44em;
	margin-bottom: 44px;
}

.dprint-strip {
	display: flex;
	width: 72px;
	height: 4px;
	margin-bottom: 26px;
}

.dprint-body .dprint-heading p {
	margin-bottom: 8px;
	color: var(--dp-sumi-60);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.dprint-heading h2 {
	font-size: clamp(26px, 3.7vw, 40px);
	letter-spacing: -0.01em;
	line-height: 1.5;
}

.dprint-heading > span:not(.dprint-strip) {
	max-width: 660px;
	margin-top: 14px;
	color: var(--dp-sumi-60);
	font-size: 15.5px;
}

.dprint-two {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: 56px;
	align-items: start;
}

.dprint-two .dprint-heading {
	margin-bottom: 0;
}

/* いまの面付け */
.dprint-pains {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--dp-rule);
	list-style: none;
}

.dprint-pains li {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	padding: 24px 4px;
	border-bottom: 1px solid var(--dp-rule);
}

.dprint-tick {
	position: relative;
	flex: none;
	width: 20px;
	height: 20px;
	margin-top: 7px;
	border: 2px solid var(--dp-magenta);
	border-radius: 3px;
}

.dprint-tick::after {
	position: absolute;
	inset: 3px;
	border-radius: 1px;
	background: var(--dp-magenta);
	content: "";
}

.dprint-pains p {
	color: var(--dp-sumi-60);
	font-size: 15.5px;
}

.dprint-pains strong {
	display: block;
	margin-bottom: 2px;
	color: var(--dp-sumi);
	font-size: clamp(17px, 2.2vw, 19px);
	line-height: 1.7;
}

/* 流れ（画面のカード） */
.dprint-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dprint-step {
	display: grid;
	grid-row: span 2;
	grid-template-rows: subgrid;
	gap: 0;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--dp-rule);
	border-radius: 10px;
	background: var(--dp-panel);
}

.dprint-step__shot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: 20px;
	border-bottom: 1px solid var(--dp-rule);
	background: var(--dp-soft);
}

.dprint-step__shot img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--dp-rule);
	border-radius: 6px;
	background: #fff;
}

.dprint-step__shot figcaption {
	margin-top: 8px;
	color: var(--dp-sumi-60);
	font-size: 12.5px;
}

.dprint-step__body {
	display: grid;
	align-content: start;
	gap: 10px;
	padding: 24px 26px 28px;
}

.dprint-step__no {
	color: var(--dp-sumi-60);
	font-size: 14px;
	font-weight: 700;
}

.dprint-step__no b {
	margin-right: 10px;
	color: var(--dp-cyan-dark);
	font-family: var(--dp-mono);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
}

.dprint-step h3 {
	font-size: 20px;
	line-height: 1.55;
}

.dprint-step__body > p:not(.dprint-step__no),
.dprint-step__body li {
	color: var(--dp-sumi-60);
	font-size: 15px;
	line-height: 1.85;
}

.dprint-step__body a {
	color: var(--dp-sumi);
	text-underline-offset: 3px;
}

.dprint-step ul {
	margin: 0;
	padding-left: 1.2em;
	list-style: disc;
}

/* 書き出すもの（区切り線のマス） */
.dprint-cells {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid var(--dp-rule);
	border-radius: 10px;
	background: var(--dp-rule);
}

.dprint-cells > div {
	padding: 30px 28px;
	background: var(--dp-panel);
}

.dprint-cells h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 17px;
}

.dprint-cells h3::before {
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background: var(--dp-cyan);
	content: "";
}

.dprint-cells p {
	color: var(--dp-sumi-60);
	font-size: 15px;
	line-height: 1.85;
}

/* 会社ごとの決まり */
.dprint-spec {
	margin: 0;
	padding: 6px 26px;
	border: 1px solid var(--dp-rule);
	border-radius: 10px;
	background: var(--dp-panel);
}

.dprint-spec > div {
	display: grid;
	grid-template-columns: 8.5em minmax(0, 1fr);
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px dotted var(--dp-rule);
}

.dprint-spec > div:last-child {
	border-bottom: 0;
}

.dprint-spec dt {
	font-weight: 700;
}

.dprint-spec dd {
	margin: 0;
	color: var(--dp-sumi-60);
}

.dprint-unit {
	color: var(--dp-cyan-dark);
	font-family: var(--dp-mono);
	font-size: 13px;
	font-weight: 500;
}

/* ベータ版について */
.dprint-honest {
	margin: 0;
	padding: 6px 28px;
	border: 1px solid var(--dp-rule);
	border-radius: 10px;
	background: var(--dp-panel);
	box-shadow: inset 4px 0 0 var(--dp-cyan);
	list-style: none;
}

.dprint-honest li {
	position: relative;
	padding: 16px 0 16px 24px;
	border-bottom: 1px dotted var(--dp-rule);
	font-size: 15.5px;
	line-height: 1.85;
}

.dprint-honest li:last-child {
	border-bottom: 0;
}

.dprint-honest li::before {
	position: absolute;
	top: calc(16px + 0.65em);
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--dp-cyan);
	content: "";
}

/* 料金 */
.dprint-plans {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 20px;
}

.dprint-plan {
	display: grid;
	align-content: start;
	gap: 8px;
	min-width: 0;
	padding: 30px 28px;
	border: 1px solid var(--dp-rule);
	border-radius: 10px;
	background: var(--dp-panel);
}

.dprint-plan__name {
	font-weight: 700;
}

.dprint-body .dprint-plan__price {
	font-size: clamp(32px, 4vw, 40px);
	font-variant-numeric: tabular-nums;
	font-weight: 900;
	line-height: 1.3;
}

.dprint-plan__price small {
	display: inline-block;
	margin-left: 6px;
	color: var(--dp-sumi-60);
	font-size: 14px;
	font-weight: 400;
}

.dprint-plan--early {
	border-color: var(--dp-sumi);
	background: var(--dp-sumi);
	color: #fff;
}

.dprint-body .dprint-plan--early .dprint-plan__price {
	color: var(--dp-yellow);
}

.dprint-plan--early .dprint-plan__price small,
.dprint-plan--early .dprint-plan__note {
	color: var(--dp-on-dark);
}

.dprint-plan__tag {
	justify-self: start;
	padding: 3px 12px;
	border-radius: 999px;
	background: var(--dp-magenta);
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.dprint-plan__note {
	color: var(--dp-sumi-60);
	font-size: 15px;
}

.dprint-plan__note p {
	font-weight: 700;
}

.dprint-plan__note ul {
	margin: 4px 0 0;
	padding-left: 1.2em;
	line-height: 1.8;
	list-style: disc;
}

.dprint-plan__note li + li {
	margin-top: 6px;
}

.dprint-body .dprint-price-note {
	margin-top: 20px;
	font-size: 15.5px;
	font-weight: 700;
}

/* よくある質問 */
.dprint-faq {
	border-top: 1px solid var(--dp-rule);
}

.dprint-faq details {
	border-bottom: 1px solid var(--dp-rule);
}

.dprint-faq summary {
	position: relative;
	padding: 24px 44px 24px 4px;
	cursor: pointer;
	font-size: clamp(16px, 2vw, 18px);
	font-weight: 700;
	line-height: 1.7;
	list-style: none;
}

.dprint-faq summary::-webkit-details-marker {
	display: none;
}

.dprint-faq summary::after {
	position: absolute;
	top: 50%;
	right: 8px;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--dp-cyan);
	border-bottom: 2px solid var(--dp-cyan);
	content: "";
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s ease;
}

.dprint-faq details[open] summary::after {
	transform: translateY(-20%) rotate(-135deg);
}

.dprint-faq summary:focus-visible {
	outline-offset: -3px;
}

.dprint-faq details p {
	max-width: 780px;
	padding: 0 8px 28px 4px;
	color: var(--dp-sumi-60);
	font-size: 15.5px;
	line-height: 1.95;
}

/* 申し込み（濃い地） */
.dprint-apply {
	position: relative;
	padding: 100px 0 92px;
	background: var(--dp-sumi);
	color: var(--dp-on-dark);
	scroll-margin-top: 70px;
}

.dprint-apply__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px;
	align-items: start;
}

.dprint-apply .dprint-heading {
	margin-bottom: 0;
}

.dprint-body .dprint-apply .dprint-heading p {
	color: var(--dp-on-dark-muted);
}

.dprint-body .dprint-apply h2 {
	color: #fff;
}

.dprint-apply__body {
	display: grid;
	justify-items: start;
	font-size: 16px;
}

.dprint-apply__body > ul {
	width: 100%;
	margin: 18px 0 32px;
	padding: 0;
	border-top: 1px solid var(--dp-line-dark);
	list-style: none;
}

.dprint-apply__body > ul li {
	position: relative;
	padding: 13px 0 13px 26px;
	border-bottom: 1px solid var(--dp-line-dark);
	font-size: 15px;
}

.dprint-apply__body > ul li::before {
	position: absolute;
	top: calc(13px + 0.7em);
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--dp-cyan);
	content: "";
}

.dprint-apply__body .dprint-actions {
	margin-top: 0;
}

.dprint-body .dprint-apply__note {
	margin-top: 14px;
	color: var(--dp-on-dark-muted);
	font-size: 13px;
}

/* フッター */
.dprint-footer {
	padding: 44px 0 40px;
	background: var(--dp-paper);
}

.dprint-footer__grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 32px;
}

.dprint-footer__grid > div > p {
	margin-top: 6px;
	color: var(--dp-sumi-60);
	font-size: 14px;
}

.dprint-footer__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 26px;
}

.dprint-footer__links a {
	min-height: 44px;
	padding: 10px 0;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.dprint-footer__links a:hover,
.dprint-footer__links a:focus-visible {
	color: var(--dp-cyan-dark);
}

.dprint-footer__notes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid var(--dp-rule);
	color: var(--dp-sumi-60);
	font-size: 12px;
}

@media (max-width: 980px) {
	.dprint-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 44px;
	}
}

@media (max-width: 820px) {
	.dprint-container {
		width: calc(100% - 40px);
	}

	.dprint-hero {
		padding: 48px 0 56px;
	}

	.dprint-section {
		padding: 60px 0;
	}

	.dprint-apply {
		padding: 68px 0 60px;
	}

	.dprint-heading {
		margin-bottom: 32px;
	}

	.dprint-steps,
	.dprint-cells,
	.dprint-plans,
	.dprint-two,
	.dprint-apply__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dprint-two,
	.dprint-apply__grid {
		gap: 28px;
	}

	.dprint-step {
		grid-row: auto;
		grid-template-rows: auto;
	}

	.dprint-step__shot {
		padding: 14px;
	}

	.dprint-step__body,
	.dprint-cells > div,
	.dprint-plan {
		padding: 22px 20px 24px;
	}

	.dprint-spec,
	.dprint-honest {
		padding: 4px 20px;
	}

	.dprint-spec > div {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}

	.dprint-sheet {
		margin-top: 44px;
		padding: 16px;
	}

	.dprint-actions,
	.dprint-actions .dprint-button {
		width: 100%;
	}

	.dprint-button--large {
		padding: 16px 24px;
		font-size: 16px;
	}

	.dprint-header__inner {
		gap: 8px;
		min-height: 58px;
	}

	.dprint-brand {
		gap: 6px;
	}

	.dprint-brand__image {
		width: 112px;
	}

	.dprint-brand__product {
		font-size: 13px;
	}

	.dprint-beta {
		display: none;
	}

	.dprint-header .dprint-button {
		padding-inline: 14px;
		font-size: 13px;
	}

	.dprint-pains li {
		gap: 14px;
		padding: 20px 2px;
	}
}

@media (max-width: 400px) {
	.dprint-wide-only {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dprint-button,
	.dprint-faq summary::after {
		transition: none;
	}
}
