/*
Editorial pages and forms
*/

.coat-page-hero {
  padding-block: clamp(90px, 13vw, 175px);
  border-bottom: 1px solid var(--coat-line);
}

.coat-page-hero h1 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(54px, 9vw, 120px);
  font-weight: 500;
  line-height: .92;
  letter-spacing: -.07em;
}

.coat-page-hero__copy {
  max-width: 660px;
  margin: 24px 0 0;
  color: var(--coat-muted);
  font-size: clamp(15px, 1.5vw, 19px);
}

.coat-page-section {
  padding-block: clamp(72px, 8vw, 120px);
}

.coat-page-section--white {
  background: #fff;
}

.coat-about-grid {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: clamp(44px, 8vw, 120px);
  align-items: start;
}

.coat-about-grid__copy h2,
.coat-form-page__intro h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
}

.coat-about-grid__products {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.coat-about-grid__products a {
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--coat-soft);
}

.coat-about-grid__products img {
  width: 100%;
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: contain;
}

.coat-process {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--coat-line);
  border-left: 1px solid var(--coat-line);
}

.coat-process li {
  min-height: 175px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border-right: 1px solid var(--coat-line);
  border-bottom: 1px solid var(--coat-line);
}

.coat-process span {
  color: var(--coat-muted);
  font-size: 10px;
}

.coat-process strong {
  margin-top: auto;
  font-size: 20px;
  font-weight: 600;
}

.coat-process small {
  margin-top: 5px;
  color: var(--coat-muted);
  font-size: 12px;
}

.coat-form-page {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  gap: clamp(42px, 8vw, 120px);
  align-items: start;
}

.coat-form-page__intro p {
  max-width: 420px;
  margin: 18px 0 0;
  color: var(--coat-muted);
  font-size: 14px;
}

.coat-form-page__form {
  padding: clamp(25px, 4vw, 52px);
  border: 1px solid var(--coat-line);
  background: #fff;
}

.coat-form-page__form .forminator-ui {
  margin: 0 !important;
}

.coat-form-page__form .forminator-row {
  margin-bottom: 20px !important;
}

.coat-form-page__form .forminator-label {
  margin-bottom: 7px !important;
  color: var(--coat-ink) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

.coat-form-page__form input:not([type="checkbox"]):not([type="radio"]),
.coat-form-page__form select,
.coat-form-page__form textarea {
  min-height: 52px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--coat-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--coat-ink) !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

.coat-form-page__form textarea {
  min-height: 130px !important;
}

.coat-form-page__form .forminator-button-submit {
  min-height: 49px !important;
  padding: 12px 24px !important;
  border: 1px solid var(--coat-ink) !important;
  border-radius: 0 !important;
  background: var(--coat-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.coat-size-guide {
  display: grid;
  gap: 42px;
}

.coat-size-guide__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.coat-size-guide__tabs button {
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid var(--coat-line);
  background: transparent;
  color: var(--coat-ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}

.coat-size-guide__tabs button.is-active {
  background: var(--coat-ink);
  color: #fff;
}

.coat-size-guide__panel {
  display: none;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: clamp(42px, 8vw, 100px);
  align-items: start;
}

.coat-size-guide__panel.is-active {
  display: grid;
}

.coat-size-guide__visual {
  min-height: 500px;
  display: grid;
  place-items: center;
  padding: 28px;
  background: var(--coat-soft);
}

.coat-size-guide__visual:empty {
  display: none;
}

.coat-size-guide__visual img {
  width: 100%;
  height: 100%;
  max-height: 560px;
  display: block;
  object-fit: contain;
}

.coat-size-guide__content h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 500;
  letter-spacing: -.045em;
}

.coat-size-guide__content > p {
  color: var(--coat-muted);
  font-size: 14px;
}

.coat-size-units {
  display: flex;
  gap: 18px;
  margin: 28px 0 18px;
}

.coat-size-units button {
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  color: var(--coat-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.coat-size-units button.is-active {
  border-color: var(--coat-ink);
  color: var(--coat-ink);
}

.coat-size-table-wrap {
  overflow-x: auto;
}

.coat-size-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.coat-size-table th,
.coat-size-table td {
  padding: 14px 11px;
  border-bottom: 1px solid var(--coat-line);
  color: var(--coat-muted);
  font-size: 12px;
  text-align: left;
}

.coat-size-table th {
  color: var(--coat-ink);
  font-weight: 700;
}


.coat-process strong {
  margin-top: 0;
}

.coat-process li {
  justify-content: flex-end;
  gap: 10px;
}


.coat-about-grid__copy.coat-rich-text h2,
.coat-contact-copy.coat-rich-text h2,
.coat-policy-content.coat-rich-text h2 {
  margin: 0 0 20px;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
}

.coat-about-grid__copy.coat-rich-text h3,
.coat-contact-copy.coat-rich-text h3 {
  margin: 38px 0 10px;
  font-size: 17px;
  font-weight: 600;
}

.coat-contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: start;
}

.coat-contact-layout--single {
  grid-template-columns: minmax(0, 760px);
}

.coat-contact-copy {
  max-width: 560px;
}

.coat-contact-form {
  margin: 0;
}

.coat-policy-layout {
  display: grid;
  grid-template-columns: minmax(220px, .48fr) minmax(0, 1.52fr);
  gap: clamp(52px, 9vw, 140px);
  align-items: start;
}

.coat-policy-aside {
  position: sticky;
  top: calc(var(--coat-header-height) + 34px);
  padding-top: 4px;
}

.coat-policy-aside > p:not(.coat-kicker) {
  margin: 18px 0 22px;
  color: var(--coat-muted);
  font-size: 12px;
  line-height: 1.7;
}

.coat-policy-aside a {
  display: inline-block;
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
  color: var(--coat-ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.coat-policy-content {
  max-width: 820px;
}

.coat-policy-content.coat-rich-text h2 {
  margin-top: 64px;
  padding-top: 36px;
  border-top: 1px solid var(--coat-line);
  font-size: clamp(28px, 3vw, 42px);
}

.coat-policy-content.coat-rich-text h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.coat-policy-content.coat-rich-text p {
  max-width: 720px;
}


.coat-custom-enquiry .coat-form-page__intro {
  max-width: 620px;
}

.coat-custom-enquiry .coat-form-page__intro h3 {
  margin: 38px 0 10px;
  font-size: 17px;
  font-weight: 600;
}

.coat-custom-enquiry__form > h2 {
  margin: 8px 0 14px;
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.045em;
}

.coat-custom-enquiry__form > p:not(.coat-kicker) {
  margin: 0 0 28px;
  color: var(--coat-muted);
  font-size: 12px;
  line-height: 1.7;
}

.coat-custom-enquiry__form .coat-button {
  margin-top: 8px;
}


.coat-about-editorial {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 8vw, 124px);
  align-items: start;
}

.coat-about-editorial__copy {
  position: sticky;
  top: calc(var(--coat-header-height) + 34px);
}

.coat-about-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.coat-about-gallery__item {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: var(--coat-soft);
}

.coat-about-gallery__item:nth-child(1),
.coat-about-gallery__item:nth-child(4) {
  grid-row: span 2;
}

.coat-about-gallery__item img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: block;
  object-fit: cover;
}

.coat-about-gallery__item:nth-child(1) img,
.coat-about-gallery__item:nth-child(4) img {
  min-height: 580px;
}

/* Brand story, support and privacy */
.coat-brand-intro { padding-block: clamp(86px, 11vw, 156px) clamp(72px, 9vw, 128px); border-bottom: 1px solid var(--coat-line); }
.coat-brand-intro h1 { max-width: 970px; font-family: var(--coat-display); font-size: clamp(52px, 8.5vw, 116px); font-weight: 400; line-height: .99; letter-spacing: -.055em; margin: 24px 0; }
.coat-brand-intro > p:last-child { max-width: 530px; color: var(--coat-muted); font-size: clamp(15px, 1.6vw, 19px); line-height: 1.7; }
.coat-brand-story { padding-block: clamp(75px, 9vw, 140px); display: grid; grid-template-columns: 1.1fr .75fr; column-gap: clamp(60px, 13vw, 220px); }
.coat-brand-story h2 { font-family: var(--coat-display); font-size: clamp(33px, 3.8vw, 56px); font-weight: 400; letter-spacing: -.04em; line-height: 1.07; margin: 15px 0 22px; }
.coat-brand-story p:not(.coat-kicker) { color: var(--coat-muted); font-size: 15px; max-width: 540px; line-height: 1.9; }
.coat-brand-story__details { display: grid; gap: 80px; }
.coat-brand-story__details h2 { font-size: clamp(29px, 3vw, 42px); }
.coat-brand-story__details section { border-top: 1px solid var(--coat-line); padding-top: 24px; }
.coat-brand-ending { display: flex; justify-content: space-between; align-items: end; gap: 40px; border-top: 1px solid var(--coat-line); padding-block: 42px 85px; }
.coat-brand-ending p { max-width: 700px; font-family: var(--coat-display); font-size: clamp(30px, 3.5vw, 52px); line-height: 1.1; margin: 0; }
.coat-brand-ending a { font-size: 12px; white-space: nowrap; text-underline-offset: 6px; }
.coat-legal-intro { padding-block: clamp(70px, 9vw, 130px) 60px; border-bottom: 1px solid var(--coat-line); }
.coat-legal-intro h1 { font-family: var(--coat-display); font-size: clamp(54px, 7vw, 100px); font-weight: 400; letter-spacing: -.05em; line-height: 1; margin: 15px 0 18px; }
.coat-legal-intro > p:last-child { color: var(--coat-muted); font-size: 12px; }
.coat-legal-layout { display: grid; grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr); gap: clamp(44px, 8vw, 130px); padding-block: 90px 130px; }
.coat-legal-aside { align-self: start; position: sticky; top: calc(var(--coat-header-height) + 25px); }
.coat-legal-aside p { font-size: 14px; line-height: 1.8; max-width: 320px; }
.coat-legal-aside a { display: block; margin-top: 20px; font-size: 12px; text-underline-offset: 4px; overflow-wrap: anywhere; }
.coat-legal-content { max-width: 750px; }
.coat-legal-content h2 { font-size: clamp(26px, 3vw, 37px); font-weight: 400; padding-top: 30px; border-top: 1px solid var(--coat-line); margin-top: 44px; }
.coat-legal-content h2:first-child { margin-top: 0; }
.coat-legal-content p { font-size: 14px; color: var(--coat-muted); line-height: 1.9; }
.coat-legal-content a { color: var(--coat-ink); }
.coat-contact-layout--support { grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr); column-gap: clamp(44px, 7vw, 110px); }
.coat-contact-direct { border-top: 1px solid var(--coat-line); padding-top: 24px; }
.coat-contact-direct h2 { font-family: var(--coat-display); font-size: clamp(36px, 4vw, 52px); font-weight: 400; margin: 12px 0; }
.coat-contact-direct p:not(.coat-kicker) { max-width: 390px; color: var(--coat-muted); font-size: 13px; line-height: 1.8; margin-bottom: 26px; }
.coat-contact-direct a { display: block; padding: 12px 0; border-bottom: 1px solid var(--coat-line); font-size: 14px; text-decoration: none; overflow-wrap: anywhere; }
@media(max-width:800px) { .coat-brand-story, .coat-legal-layout, .coat-contact-layout--support { grid-template-columns: 1fr; gap: 60px; } .coat-brand-ending { display: block; } .coat-brand-ending a { display: inline-block; margin-top: 30px; } .coat-legal-aside { position: static; } }

.coat-contact-main .coat-contact-form { margin-top: 32px; }
.coat-contact-main .coat-contact-copy h2 { font-family: var(--coat-display); font-weight: 400; font-size: clamp(35px, 4vw, 51px); }
.coat-support-page .coat-contact-layout--support { align-items: start; }

/* Customer-care refinements */
@media (min-width: 861px) and (min-height: 620px) {
  .coat-policy-aside,
  .coat-legal-aside,
  .coat-contact-direct {
    position: sticky;
    top: max(calc(var(--coat-header-height) + 24px), calc(50svh - 112px));
    align-self: start;
  }
}
@media (max-width: 860px), (max-height: 619px) {
  .coat-policy-aside,
  .coat-legal-aside,
  .coat-contact-direct {
    position: static;
    top: auto;
  }
}
/* Direct contact / social navigation */
.coat-contact-direct .coat-social-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin-top: 38px; }
.coat-contact-direct .coat-social-links a { font-size: 12px; }
.coat-contact-direct__trust { border-top: 1px solid var(--coat-line); margin-top: 35px; padding-top: 26px; }
.coat-contact-direct__trust .coat-kicker { margin: 0 0 10px; color: var(--coat-ink); font-size: 10px; letter-spacing: .11em; }
.coat-contact-direct__trust p:not(.coat-kicker) { font-size: 12px; line-height: 1.7; margin: 14px 0 0; }
.coat-contact-direct__trust p > a { display: inline; padding: 0; font-size: inherit; border: 0; text-decoration: underline; text-underline-offset: 3px; }
/* Refined contact form, retaining Forminator validation and submission. */
.coat-contact-main .coat-contact-form { background: #fbfaf7; border: 1px solid var(--coat-line); padding: clamp(25px, 3.2vw, 52px); }
.coat-contact-main .coat-contact-form .forminator-ui { margin: 0 !important; }
.coat-contact-main .coat-contact-form .forminator-row { margin: 0 0 21px !important; }
.coat-contact-main .coat-contact-form .forminator-field { margin: 0 !important; }
.coat-contact-main .coat-contact-form .forminator-label { color: #302f2b !important; font-size: 10px !important; font-weight: 600 !important; letter-spacing: .12em !important; margin: 0 0 9px !important; }
.coat-contact-main .coat-contact-form .forminator-input,
.coat-contact-main .coat-contact-form .forminator-textarea,
.coat-contact-main .coat-contact-form .forminator-select,
.coat-contact-main .coat-contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.coat-contact-main .coat-contact-form textarea,
.coat-contact-main .coat-contact-form select {
  width: 100% !important;
  min-height: 54px !important;
  padding: 14px 17px !important;
  border: 1px solid #d4d1cb !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--coat-ink) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.coat-contact-main .coat-contact-form .forminator-textarea,
.coat-contact-main .coat-contact-form textarea { min-height: 140px !important; resize: vertical; }
.coat-contact-main .coat-contact-form input:focus,
.coat-contact-main .coat-contact-form textarea:focus,
.coat-contact-main .coat-contact-form select:focus { border-color: #24231f !important; outline: 1px solid #24231f !important; outline-offset: 0; }
.coat-contact-main .coat-contact-form .forminator-button-submit,
.coat-contact-main .coat-contact-form button[type=submit] { min-height: 54px !important; padding: 16px 33px !important; background: #1b1b1a !important; border: 1px solid #1b1b1a !important; border-radius: 0 !important; color: #fff !important; letter-spacing: .12em !important; font-size: 11px !important; font-weight: 600 !important; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.coat-contact-main .coat-contact-form .forminator-button-submit:hover,
.coat-contact-main .coat-contact-form button[type=submit]:hover { background: #fff !important; color: #1b1b1a !important; }
.coat-contact-main .coat-contact-form .forminator-error-message { margin-top: 7px !important; padding: 8px 12px !important; font-size: 12px !important; background: #f8eeee !important; color: #813b3b !important; }
.coat-contact-main .coat-contact-form .forminator-description { font-size: 12px !important; line-height: 1.6 !important; color: var(--coat-muted) !important; }
@media (max-width: 620px) {
  .coat-contact-main .coat-contact-form { padding: 23px 20px; }
  .coat-contact-direct .coat-social-links { grid-template-columns: 1fr; }
}

@media (min-width: 861px) and (min-height: 760px) {
  .coat-custom-enquiry .coat-form-page__intro {
    position: sticky;
    top: max(calc(var(--coat-header-height) + 24px), calc(50svh - 190px));
    align-self: start;
  }
}
