/* Money Reset — colours, layout and responsive styles */
:root {
  font-family:Arial,Helvetica,sans-serif;
  color:#15352f;
  background:#f8f8f3;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
}
a {
  color:inherit;
}
button,input,select,textarea {
  font:inherit;
}
header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:22px max(5vw,24px);
  background:#f8f8f3;
  border-bottom:1px solid #dfe7de;
}
header strong {
  font-size:1.2rem;
  letter-spacing:-.04em;
}
header strong span {
  color:#439d75;
}
nav {
  display:flex;
  align-items:center;
  gap:30px;
}
nav a {
  text-decoration:none;
  font-size:.92rem;
  font-weight:700;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 24px;
  border-radius:4px;
  background:#153d35;
  color:white;
  text-decoration:none;
  font-weight:700;
  border:0;
  cursor:pointer;
}
.button:hover {
  background:#286e55;
}
.button.outline {
  background:transparent;
  color:#153d35;
  border:1px solid #153d35;
}
.button.outline:hover {
  background:#e4eee7;
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.76rem;
  font-weight:800;
  color:#437b63;
}
h1,h2,h3,p {
  margin-top:0;
}
h1 {
  font-family:Georgia,serif;
  font-size:clamp(3.2rem,6vw,6.5rem);
  line-height:1.02;
  letter-spacing:-.055em;
  margin-bottom:28px;
}
h2 {
  font-family:Georgia,serif;
  font-size:clamp(2.3rem,4vw,4rem);
  line-height:1.12;
  letter-spacing:-.045em;
  margin-bottom:22px;
}
h3 {
  font-size:1.3rem;
  letter-spacing:-.02em;
}
p {
  line-height:1.65;
}
main {
  overflow:hidden;
}
.hero {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:630px;
}
.hero-copy {
  padding:clamp(55px,7vw,112px) 5vw 80px;
  align-self:center;
}
.hero-copy p {
  max-width:560px;
  font-size:1.2rem;
  color:#456057;
}
.hero-copy .actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}
.hero-art {
  background:#d9e8d9;
  display:grid;
  place-items:center;
  padding:7%;
  position:relative;
}
.art-card {
  width:min(100%,480px);
  background:#fff;
  box-shadow:20px 24px 0 #b6d1bd;
  padding:42px;
  transform:rotate(-3deg);
}
.art-card small {
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#5e8f71;
}
.art-card h2 {
  font-size:clamp(2rem,3.1vw,3.5rem);
  margin:26px 0;
}
.line {
  border-bottom:1px solid #d7e5d7;
  padding:15px 0;
  font-size:1.06rem;
}
.line span {
  float:right;
  color:#46a77e;
  font-weight:bold;
}
.art-card .foot {
  margin-top:36px;
  font-family:Georgia,serif;
  font-style:italic;
  font-size:1.2rem;
}
.strip {
  background:#153d35;
  color:white;
  padding:22px 5vw;
  display:flex;
  justify-content:center;
  gap:30px;
  flex-wrap:wrap;
  text-align:center;
  font-size:.9rem;
  font-weight:700;
}
.strip span+span:before {
  content:'✦';
  margin-right:30px;
  color:#a7d2b2;
}
section.content {
  padding:100px max(5vw,24px);
}
.container {
  max-width:1180px;
  margin:auto;
}
.intro {
  max-width:680px;
}
.grid3 {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:46px;
}
.tile {
  background:white;
  border:1px solid #e1e8df;
  padding:34px;
  min-height:255px;
}
.tile .num {
  font-family:Georgia,serif;
  color:#53a579;
  font-size:2rem;
  margin-bottom:32px;
}
.tile p {
  color:#52665d;
}
.mint {
  background:#e7f1e7;
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8vw;
  align-items:center;
}
.about-panel {
  background:#173e35;
  color:#fff;
  padding:58px;
  min-height:400px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.about-panel .monogram {
  font-family:Georgia,serif;
  font-size:8rem;
  line-height:1;
  color:#9acbad;
}
.about-panel p {
  font-size:1.2rem;
  margin:0;
}
.credentials {
  display:grid;
  gap:15px;
  margin-top:30px;
}
.credentials div {
  padding-bottom:15px;
  border-bottom:1px solid #cbd9ce;
}
.offer {
  background:#fff;
}
.offer-box {
  border:1px solid #ceded1;
  padding:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  margin-top:30px;
}
.offer-box p {
  margin-bottom:0;
  max-width:620px;
}
.contact {
  background:#153d35;
  color:#fff;
}
.contact .eyebrow {
  color:#a1d4b1;
}
.contact-wrap {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:8vw;
}
.contact p {
  color:#cddfd2;
}
.form {
  background:#f8f8f3;
  color:#15352f;
  padding:35px;
  display:grid;
  gap:17px;
}
.form label {
  display:grid;
  gap:7px;
  font-size:.9rem;
  font-weight:700;
}
.form input,.form select,.form textarea {
  width:100%;
  border:1px solid #b9cec0;
  background:white;
  border-radius:3px;
  padding:13px;
  min-height:48px;
}
.form textarea {
  min-height:105px;
  resize:vertical;
}
.form .button {
  width:100%;
}
.fine {
  font-size:.82rem!important;
  line-height:1.5!important;
  color:#62766b!important;
}
.contact .fine {
  color:#d4e5d7!important;
}
.notice {
  display:none;
  background:#e4f2e7;
  padding:12px;
  color:#153d35;
}
.notice.show {
  display:block;
}
footer {
  background:#102e28;
  color:#c9dbd0;
  padding:26px 5vw;
  font-size:.84rem;
  line-height:1.6;
}
footer .container {
  display:flex;
  justify-content:space-between;
  gap:25px;
  flex-wrap:wrap;
}
@media(max-width:850px) {
  nav a:not(.button) {
    display:none;
  }
  .hero,.split,.contact-wrap {
    grid-template-columns:1fr;
  }
  .hero-art {
    min-height:370px;
  }
  .hero-copy {
    padding:72px 24px;
  }
  .grid3 {
    grid-template-columns:1fr;
  }
  .strip span+span:before {
    content:none;
  }
  .offer-box {
    align-items:flex-start;
    flex-direction:column;
  }
  section.content {
    padding:72px 24px;
  }
  .about-panel {
    min-height:300px;
  }
  .art-card {
    max-width:390px;
  }
  h1 {
    font-size:clamp(3.1rem,11vw,5rem);
  }
}
@media(max-width:480px) {
  header {
    padding:17px 20px;
  }
  header .button {
    font-size:.8rem;
    padding:10px 12px;
    min-height:42px;
  }
  .hero-art {
    padding:35px;
    min-height:300px;
  }
  .art-card {
    padding:24px;
  }
  .art-card h2 {
    font-size:2rem;
  }
  .strip {
    display:grid;
    gap:12px;
  }
  .form {
    padding:24px;
  }
}
.about-portrait {
  margin:0;
  max-width:430px;
  width:100%;
  justify-self:center;
  background:#173e35;
  color:#fff;
}
.about-portrait img {
  display:block;
  width:100%;
  height:auto;
  max-height:510px;
  object-fit:cover;
  object-position:center 25%;
}
.about-portrait p {
  padding:25px 30px;
  margin:0;
  font-size:1.2rem;
  line-height:1.5;
}
@media(max-width:850px) {
  .about-portrait {
    margin-bottom:32px;
    max-width:360px;
  }
  .about-portrait img {
    max-height:440px;
  }
}
.about-portrait {
  max-width:300px;
}
.about-portrait img {
  height:auto;
  max-height:none;
  object-fit:contain;
}
@media(max-width:850px) {
  .about-portrait {
    max-width:280px;
  }
  .about-portrait img {
    max-height:none;
  }
}

/* Form accessibility and the enquiry confirmation page */
.form .fine { color: #52665d !important; }
.form .honeypot { display: none; }
.form input, .form select, .form textarea { font-size: 1rem; }
:focus-visible { outline: 3px solid #439d75; outline-offset: 4px; }
.notice.error { color: #7b2020; background: #ffe9e9; }
.success-page { max-width: 740px; margin: 0 auto; padding: 100px 24px; }
.success-page h1 { font-size: clamp(2.5rem, 6vw, 4rem); }
.success-page p { font-size: 1.125rem; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
