.contact-hero,
.support-hero,
.dtf-business-hero,
.shop-redirect-hero {
	padding: clamp(4rem, 8vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
}

.pg-missing-source-image {
	display: grid;
	min-height: clamp(180px, 28vw, 340px);
	place-items: center;
	border: 1px dashed rgba(14, 65, 34, 0.24);
	border-radius: 1.25rem;
	background:
		linear-gradient(135deg, rgba(20, 125, 50, 0.08), rgba(255, 255, 255, 0.92)),
		repeating-linear-gradient(45deg, rgba(14, 65, 34, 0.045) 0 12px, transparent 12px 24px);
	color: #16652f;
	font-size: 0.9rem;
	font-weight: 700;
	text-align: center;
}

.pg-missing-source-image span {
	max-width: 22ch;
}

.pg-pattern {
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}

.pg-pattern-hero {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.pg-pattern-hero h1 {
	max-width: 820px;
	font-size: clamp(2.35rem, 6vw, 5rem);
	line-height: 0.96;
	letter-spacing: -0.06em;
}

.pg-pattern-section {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

.pg-pattern-card-grid {
	max-width: 1180px;
	margin-inline: auto;
	padding: 0 clamp(1rem, 4vw, 2rem) clamp(2.5rem, 5vw, 4rem);
	gap: 1rem;
}

.pg-pattern-card {
	height: 100%;
	border: 1px solid rgba(14, 65, 34, 0.1);
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 18px 45px rgba(14, 65, 34, 0.08);
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.contact-hero .container,
.support-hero .container,
.dtf-business-hero .container,
.shop-redirect-hero .container,
.dtf-business-section,
.home-section,
.services-snapshot {
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}

.contact-hero h1,
.support-hero h1,
.dtf-business-hero h1,
.shop-redirect-hero h1 {
	max-width: 760px;
}

.contact-grid,
.support-grid,
.dtf-business-grid,
.dtf-level-grid,
.dtf-machine-grid,
.dtf-requirements-grid,
.dtf-examples-grid,
.dtf-consumables-grid,
.dtf-reviews-grid,
.services-grid,
.contact-card-grid,
.support-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

.contact-card,
.support-card,
.dtf-business-card,
.dtf-level-card,
.dtf-machine-card,
.dtf-consumable-card,
.dtf-example-card,
.dtf-review-card,
.shop-redirect-card {
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 20px 50px rgba(14, 65, 34, 0.08);
	padding: clamp(1rem, 2.5vw, 1.5rem);
}

.dtf-business-section,
.home-section,
.services-snapshot {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

.dtf-business-trust,
.dtf-business-final,
.pg-final-cta-strip {
	margin-block: clamp(2rem, 5vw, 4rem);
}

.contact-form,
.support-form,
.dtf-business-form {
	display: grid;
	gap: 1rem;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
.support-form input,
.support-form textarea,
.support-form select,
.dtf-business-form input,
.dtf-business-form textarea,
.dtf-business-form select {
	width: 100%;
	min-height: 46px;
	border: 1px solid rgba(14, 65, 34, 0.16);
	border-radius: 0.75rem;
	padding: 0.75rem 0.9rem;
}

.contact-form textarea,
.support-form textarea,
.dtf-business-form textarea {
	min-height: 120px;
}

.dtf-business-section img,
.home-section img,
.services-snapshot img,
.contact-hero img,
.support-hero img,
.shop-redirect-hero img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.contact-hero,
	.support-hero,
	.dtf-business-hero,
	.shop-redirect-hero {
		padding-top: 3rem;
	}

	.dtf-business-section,
	.home-section,
	.services-snapshot {
		padding-block: 2rem;
	}
}
/* M5-T38R1 Grand Contact page */
html:has(body.pg-grand-contact-page) { overflow-x: clip; }
.pg-contact-grand {
  --pg-contact-green: #0a7a2f;
  --pg-contact-deep: #062512;
  --pg-contact-ink: #14231a;
  --pg-contact-muted: #607367;
  --pg-contact-soft: #f2faf3;
  background: linear-gradient(180deg, #f7fff8 0%, #ffffff 34%, #f2faf3 100%);
  color: var(--pg-contact-ink);
  overflow: hidden;
}
.pg-contact-grand a { color: inherit; }
.pg-contact-wrap { width: min(100% - 80px, 1240px); margin: 0 auto; }
.pg-contact-eyebrow { color: var(--pg-contact-green); font-size: 12px; font-weight: 800; letter-spacing: .12em; margin: 0 0 12px; text-transform: uppercase; }
.pg-contact-hero { padding: clamp(54px, 7vw, 96px) 0 38px; position: relative; }
.pg-contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(410px, 1fr); gap: clamp(48px, 5vw, 72px); align-items: center; }
.pg-contact-hero h1 { font-size: clamp(50px, 4.8vw, 74px); line-height: .96; letter-spacing: -.062em; margin: 0 0 22px; max-width: 790px; }
.pg-contact-lede { color: var(--pg-contact-muted); font-size: clamp(18px, 1.35vw, 21px); line-height: 1.72; margin: 0 0 28px; max-width: 720px; }
.pg-contact-hero-actions, .pg-contact-action-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.pg-contact-pill { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; min-height: 46px; padding: 12px 18px; font-weight: 800; text-decoration: none; border: 1px solid rgba(10,122,47,.18); background: #fff; box-shadow: 0 14px 38px rgba(20,35,26,.08); }
.pg-contact-pill.is-primary { background: linear-gradient(135deg, #087b31, #52bd21); color: #fff; border-color: transparent; }
.pg-contact-pill.is-dark { background: #092713; color: #fff; border-color: transparent; }
.pg-contact-visual { background: radial-gradient(circle at 82% 18%, rgba(88,188,44,.18), transparent 34%), linear-gradient(145deg, #0b3818, #061d0f); border-radius: 36px; padding: clamp(20px, 3vw, 34px); color: #fff; box-shadow: 0 28px 80px rgba(6,37,18,.22); position: relative; }
.pg-contact-visual::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; pointer-events: none; }
.pg-contact-visual h2 { color: #fff; font-size: clamp(27px, 2.75vw, 40px); line-height: 1.04; margin: 0 0 18px; letter-spacing: -.04em; }
.pg-contact-visual p { color: rgba(255,255,255,.76); line-height: 1.65; margin: 0; }
.pg-contact-visual-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 26px; }
.pg-contact-stat { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; padding: 18px; backdrop-filter: blur(8px); }
.pg-contact-stat strong { display: block; font-size: 25px; line-height: 1; margin-bottom: 8px; }
.pg-contact-stat span { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.4; }
.pg-contact-actions-band { padding: 8px 0 34px; }
.pg-contact-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pg-contact-action-card, .pg-contact-card, .pg-contact-form-shell, .pg-contact-info-card { background: rgba(255,255,255,.92); border: 1px solid rgba(10,122,47,.1); border-radius: 26px; box-shadow: 0 18px 54px rgba(17,45,25,.08); }
.pg-contact-action-card { padding: 22px; text-decoration: none; min-height: 154px; display: flex; flex-direction: column; gap: 10px; }
.pg-contact-icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: #e9f8e9; color: var(--pg-contact-green); flex: 0 0 auto; }
.pg-contact-icon svg { width: 22px; height: 22px; display: block; }
.pg-contact-action-card strong, .pg-contact-card h3 { font-size: 19px; line-height: 1.15; }
.pg-contact-action-card span, .pg-contact-card p, .pg-contact-info-card p { color: var(--pg-contact-muted); font-size: 15.5px; line-height: 1.6; }
.pg-contact-section { padding: clamp(34px, 6vw, 76px) 0; }
.pg-contact-section-head { max-width: 760px; margin-bottom: 24px; }
.pg-contact-section-head h2 { font-size: clamp(30px, 4vw, 54px); line-height: 1; letter-spacing: -.055em; margin: 0 0 14px; }
.pg-contact-section-head p { color: var(--pg-contact-muted); font-size: 17px; line-height: 1.65; margin: 0; }
.pg-contact-help-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pg-contact-card { padding: 22px; min-height: 210px; display: flex; flex-direction: column; gap: 12px; }
.pg-contact-card a { margin-top: auto; color: var(--pg-contact-green); font-weight: 800; text-decoration: none; }
.pg-contact-main-grid { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(330px, .9fr); gap: clamp(30px, 3vw, 40px); align-items: start; }
.pg-contact-form-shell { padding: clamp(20px, 3vw, 34px); }
.pg-contact-form-shell h2 { font-size: clamp(28px, 3.6vw, 48px); line-height: 1; letter-spacing: -.045em; margin: 0 0 10px; }
.pg-contact-form-shell > p { color: var(--pg-contact-muted); margin: 0 0 22px; line-height: 1.65; }
.pg-contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pg-contact-form-grid label { display: flex; flex-direction: column; gap: 8px; color: #24342a; font-size: 14px; font-weight: 800; }
.pg-contact-form-grid input, .pg-contact-form-grid select, .pg-contact-form-grid textarea { width: 100%; border: 1px solid rgba(10,122,47,.14); border-radius: 15px; background: #f9fffa; color: #14231a; font: inherit; padding: 13px 14px; min-height: 48px; outline: none; }
.pg-contact-form-grid textarea { min-height: 132px; resize: vertical; }
.pg-contact-form-grid input:focus, .pg-contact-form-grid select:focus, .pg-contact-form-grid textarea:focus { border-color: rgba(10,122,47,.58); box-shadow: 0 0 0 4px rgba(10,122,47,.09); }
.pg-contact-form-grid .is-full { grid-column: 1 / -1; }
.pg-contact-form-grid label:has([name="expected_production"]),
.pg-contact-form-grid label:has([name="existing_machine"]) { grid-column: 1 / -1; }
.pg-contact-check { display: grid !important; grid-template-columns: 22px 1fr; align-items: start; font-weight: 600 !important; color: var(--pg-contact-muted) !important; line-height: 1.5; }
.pg-contact-check input { width: 18px !important; min-height: 18px !important; margin-top: 3px; padding: 0 !important; }
.pg-contact-form-actions { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.pg-contact-form-status { margin-top: 14px; border-radius: 18px; padding: 14px 16px; display: grid; gap: 4px; }
.pg-contact-form-status:not([hidden]) { background: #eaf8eb; border: 1px solid rgba(10,122,47,.18); color: #0a5625; }
.pg-contact-form-error:not([hidden]) { background: #fff0f0; border-color: #ffd0d0; color: #9d1b1b; }
.pg-contact-side { display: grid; gap: 16px; position: sticky; top: 108px; }
.pg-contact-info-card { padding: 22px; }
.pg-contact-info-card h3 { margin: 0 0 12px; font-size: 22px; }
.pg-contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.pg-contact-list li { display: flex; gap: 10px; align-items: flex-start; color: var(--pg-contact-muted); line-height: 1.45; }
.pg-contact-list strong { color: var(--pg-contact-ink); display: block; }
.pg-contact-presence-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, .91fr)); gap: 18px; }
.pg-contact-location { padding: 24px; border-radius: 28px; background: #fff; border: 1px solid rgba(10,122,47,.11); box-shadow: 0 16px 48px rgba(17,45,25,.07); }
.pg-contact-location.is-main { background: linear-gradient(145deg, #0b3818, #092713); color: #fff; }
.pg-contact-location h3 { margin: 0 0 10px; font-size: 24px; }
.pg-contact-location p { color: var(--pg-contact-muted); line-height: 1.65; margin: 0; }
.pg-contact-location.is-main p { color: rgba(255,255,255,.75); }
.pg-contact-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pg-contact-gallery-card { min-height: 220px; border-radius: 30px; padding: 24px; background: linear-gradient(145deg, #ffffff, #eef8ef); border: 1px solid rgba(10,122,47,.11); display: flex; flex-direction: column; justify-content: flex-end; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 18px 50px rgba(17,45,25,.07); }
.pg-contact-gallery-card strong { font-size: 21px; margin-bottom: 8px; }
.pg-contact-gallery-card span { color: var(--pg-contact-muted); line-height: 1.5; }
.pg-contact-credentials { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pg-contact-credential { background: #fff; border-radius: 24px; padding: 22px; border: 1px solid rgba(10,122,47,.1); box-shadow: 0 14px 44px rgba(17,45,25,.06); }
.pg-contact-credential strong { display: block; font-size: 20px; margin-bottom: 8px; }
.pg-contact-credential span { color: var(--pg-contact-muted); line-height: 1.5; }
.pg-contact-visit-box { border-radius: 32px; padding: clamp(24px, 4vw, 42px); background: #092713; color: #fff; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: center; }
.pg-contact-visit-box p { color: rgba(255,255,255,.74); line-height: 1.65; margin: 0; }
.pg-contact-visit-box ul { margin: 0; display: grid; gap: 10px; color: rgba(255,255,255,.82); }
.pg-contact-social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pg-contact-social-card { border-radius: 26px; padding: 22px; background: #fff; border: 1px solid rgba(10,122,47,.1); text-decoration: none; box-shadow: 0 14px 44px rgba(17,45,25,.06); }
.pg-contact-social-card span { color: var(--pg-contact-muted); display: block; margin-top: 8px; }
.pg-contact-final { padding-bottom: clamp(54px, 7vw, 96px); }
.pg-contact-final-box { background: linear-gradient(135deg, #042612, #075121 58%, #238a1d); color: #fff; border-radius: 34px; padding: clamp(28px, 5vw, 52px); display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; box-shadow: 0 28px 70px rgba(6,37,18,.22); }
.pg-contact-final-box h2 { font-size: clamp(30px, 4vw, 58px); margin: 0 0 10px; line-height: 1; letter-spacing: -.055em; }
.pg-contact-final-box p { margin: 0; color: rgba(255,255,255,.9); }
.pg-contact-final-box .btn { min-width: 150px; justify-content: center; }
.pg-contact-final-box .btn-primary { background: #fff; color: #06441d; border-color: #fff; box-shadow: none; }
.pg-contact-final-box .btn-outline { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.72); }
.pg-grand-contact-page .premium-action-dock { right: max(22px, env(safe-area-inset-right)); }
.pg-grand-contact-page .premium-action-dock__item::before { inset: -5px; filter: blur(6px); }
@media (min-width: 1200px) and (max-width: 1399px) {
  .pg-contact-wrap { width: min(100% - 80px, 1180px); }
}
@media (max-width: 980px) {
  .pg-contact-wrap { width: min(100% - 40px, 960px); }
  .pg-contact-hero-grid, .pg-contact-main-grid, .pg-contact-visit-box, .pg-contact-final-box { grid-template-columns: 1fr; }
  .pg-contact-action-grid, .pg-contact-help-grid, .pg-contact-credentials { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-contact-presence-grid, .pg-contact-gallery, .pg-contact-social-grid { grid-template-columns: 1fr; }
  .pg-contact-side { position: static; }
}
@media (max-width: 640px) {
  .pg-contact-wrap { width: calc(100% - 32px); }
  .pg-contact-hero { padding-top: 34px; }
  .pg-contact-hero h1 { font-size: clamp(40px, 13vw, 58px); }
  .pg-contact-action-grid, .pg-contact-help-grid, .pg-contact-credentials, .pg-contact-form-grid, .pg-contact-visual-grid { grid-template-columns: 1fr; }
  .pg-contact-visual, .pg-contact-final-box, .pg-contact-visit-box { border-radius: 24px; }
  .pg-contact-form-shell, .pg-contact-info-card, .pg-contact-card, .pg-contact-location { border-radius: 22px; }
  .pg-contact-form-actions .btn, .pg-contact-hero-actions .btn, .pg-contact-action-row .btn, .pg-contact-pill { width: 100%; justify-content: center; }
}
