/* The conversation chapter. Keep its existing scroll compositor and inquiry handler. */
.opening-stage #contact .contact-inner {
  padding-top:clamp(130px,16svh,180px);
  padding-bottom:32px;
  text-align:left;
}
.opening-stage #contact .contact-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:17px;
  color:#a1c9c1;
  font:600 10px/1.4 Manrope,sans-serif;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.opening-stage #contact .contact-topline i {margin-left:12px;color:#75e8cf;font-size:17px;font-style:normal}
.opening-stage #contact .contact-layout {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  align-items:stretch;
  gap:0;
  border:1px solid #80d9c64d;
  border-radius:28px;
  background:#063b3c;
  box-shadow:0 28px 75px #00101440;
  isolation:isolate;
}
.opening-stage #contact .contact-copy {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  max-width:none;
  padding:clamp(28px,3.1vw,50px);
  overflow:hidden;
  border-radius:27px 0 0 27px;
  background:radial-gradient(ellipse at 0 100%,#147e6b70,transparent 65%),#063b3c;
}
.opening-stage #contact .contact-copy:after {
  content:"";
  position:absolute;
  right:-110px;
  bottom:-180px;
  width:350px;
  height:350px;
  border:1px solid #82ebcf20;
  border-radius:50%;
  box-shadow:0 0 0 35px #82ebcf09,0 0 0 70px #82ebcf07;
  pointer-events:none;
}
.opening-stage #contact .contact-copy .eyebrow {margin:0 0 30px;font-size:9px;letter-spacing:.17em;color:#a7ecda}
.opening-stage #contact .contact-copy .eyebrow:before {display:block;width:7px;height:7px;border-radius:50%;background:#79e5c4}
.opening-stage #contact .contact-title {font:500 clamp(48px,4.8vw,76px)/1.02 Manrope,sans-serif;letter-spacing:-.065em;color:#effbf5}
.opening-stage #contact .contact-title span {white-space:nowrap}
.opening-stage #contact .contact-title em {margin-top:8px;color:#a4e8d1;font:italic 400 .82em/1.1 Georgia,serif;letter-spacing:-.055em;-webkit-text-stroke:0}
.opening-stage #contact .contact-lead {display:block;max-width:330px;margin:25px 0 24px;font:400 14px/1.75 "DM Sans",sans-serif;color:#b8d8cf}
.opening-stage #contact .contact-email {display:inline-flex;align-items:center;align-self:flex-start;gap:25px;padding:0 0 9px;color:#e1f8ec;border-bottom:1px solid #8dceba70;font:600 11px/1.5 Manrope,sans-serif;letter-spacing:.01em}
.opening-stage #contact .contact-email span {margin:0;font-size:11px;transition:transform .2s}
.opening-stage #contact .contact-email:hover {color:#9cf3cd;border-color:#9cf3cd}
.opening-stage #contact .contact-email:hover span {transform:translate(2px,-2px)}
.opening-stage #contact .contact-copy-mark {position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:35px;color:#b0d5c8}
.opening-stage #contact .contact-copy-mark>span {display:grid;place-items:center;width:46px;height:46px;border:1px solid #9bd8c54d;border-radius:50%;color:#c2f0da;font:500 30px/1 Georgia,serif}
.opening-stage #contact .contact-copy-mark i {font:400 10px/1.7 Manrope,sans-serif;letter-spacing:.03em}
.opening-stage #contact .contact-form {
  min-width:0;
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(28px,3.1vw,50px);
  border:0;
  border-radius:0 27px 27px 0;
  background:#e6f1e9;
  color:#123f38;
  color-scheme:light;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.opening-stage #contact .form-heading {display:flex;align-items:flex-start;gap:18px;justify-content:space-between;margin:0 0 28px;padding:0;border:0;color:#153e36;letter-spacing:0;text-transform:none}
.opening-stage #contact .contact-form-kicker {display:block;margin-bottom:10px;font:600 9px/1.4 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#52786a}
.opening-stage #contact .form-heading h3 {margin:0;font:500 clamp(22px,2vw,30px)/1.25 Manrope,sans-serif;letter-spacing:-.045em}
.opening-stage #contact .contact-form-symbol {display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid #93b6a4;border-radius:50%;color:#275a49;font:400 24px/1 Manrope,sans-serif}
.opening-stage #contact .contact-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.opening-stage #contact .contact-form label {min-width:0;margin:0}
.opening-stage #contact .contact-form label>span {display:flex;gap:10px;margin:0 0 8px;color:#285747;font:600 10px/1.5 Manrope,sans-serif;letter-spacing:.04em;text-transform:none}
.opening-stage #contact .contact-form label b {color:#638476;font-size:9px;font-weight:500;font-variant-numeric:tabular-nums}
.opening-stage #contact .contact-form input,.opening-stage #contact .contact-form textarea {width:100%;min-width:0;border:1px solid #a6c2b0;border-radius:8px;background:#f7fbf57a;padding:12px 13px;color:#163f34;font:400 13px/1.5 "DM Sans",sans-serif;transition:border-color .2s,background .2s,box-shadow .2s}
.opening-stage #contact .contact-form input {height:46px}
.opening-stage #contact .contact-form input::placeholder,.opening-stage #contact .contact-form textarea::placeholder {color:#587767;opacity:1}
.opening-stage #contact .contact-form input:focus,.opening-stage #contact .contact-form textarea:focus {border-color:#25735a;background:#f9fdf7;box-shadow:0 0 0 3px #25735a20;outline:none}
.opening-stage #contact .contact-form .contact-message {display:block;margin-top:23px}
.opening-stage #contact .contact-form textarea {height:112px;min-height:88px;max-height:160px;resize:vertical}
.opening-stage #contact .contact-form-bottom {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px;padding-top:21px;border-top:1px solid #a6c2b080}
.opening-stage #contact .form-delivery-note {display:flex;align-items:center;gap:9px;margin:0;color:#526e60;font:400 10px/1.65 "DM Sans",sans-serif;overflow-wrap:anywhere}
.opening-stage #contact .form-delivery-note i {color:#42765f;font-size:15px}
.opening-stage #contact .form-submit {flex-shrink:0;gap:18px;min-height:48px;margin:0;padding:8px 9px 8px 20px;border:1px solid #174e40;border-radius:99px;background:#164b3d;color:#f2fbef;box-shadow:none;font:600 11px/1.4 Manrope,sans-serif;letter-spacing:0}
.opening-stage #contact .form-submit i {display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#bce6c5;color:#164b3d;font-size:12px;transition:transform .2s}
.opening-stage #contact .form-submit:hover {background:#0a352c;transform:translateY(-2px)}
.opening-stage #contact .form-submit:hover i {transform:rotate(-35deg)}
.opening-stage #contact a:focus-visible,.opening-stage #contact button:focus-visible {outline:3px solid #2aa88a;outline-offset:5px}
.opening-stage #contact .contact-meta {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px;padding-top:0;border:0}
.opening-stage #contact .contact-meta>div {display:flex;align-items:flex-start;gap:14px;padding-top:13px;border-top:1px solid #7bc3ad3d}
.opening-stage #contact .contact-meta small {flex-shrink:0;padding-top:2px;font:600 8px/1.6 Manrope,sans-serif;letter-spacing:.12em;color:#8ec0af}
.opening-stage #contact .contact-meta p {margin:0;color:#b7d4c8;font:400 10px/1.7 "DM Sans",sans-serif}
@media (min-width:1000px) and (max-width:1600px) {
  /* Compensate for the chapter's existing 0.8 scale and -10svh translation. */
  .opening-stage #contact .contact-inner {padding-top:calc(150px + 12.5svh)}
}
@media (min-width:901px) and (max-width:1100px) {
  .opening-stage #contact .contact-copy,.opening-stage #contact .contact-form {padding:27px}
  .opening-stage #contact .contact-title {font-size:48px}
  .opening-stage #contact .contact-fields {gap:14px}
  .opening-stage #contact .contact-form-bottom {align-items:flex-start;flex-direction:column;gap:15px}
  .opening-stage #contact .form-delivery-note br {display:none}
}
@media (max-width:900px) {
  .opening-stage #contact .contact-inner {width:calc(100% - 40px);height:100%;padding:106px 0 88px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#528d79 transparent}
  .opening-stage #contact .contact-copy,.opening-stage #contact .contact-form {padding:27px}
  .opening-stage #contact .contact-title {font-size:clamp(38px,5.8vw,50px)}
  .opening-stage #contact .contact-copy .eyebrow {margin-bottom:25px;font-size:8px}
  .opening-stage #contact .contact-lead {font-size:12px}
  .opening-stage #contact .contact-fields {grid-template-columns:1fr;gap:18px}
  .opening-stage #contact .contact-form-bottom {align-items:flex-start;flex-direction:column;gap:17px}
  .opening-stage #contact .form-delivery-note br {display:none}
  .opening-stage #contact .contact-meta {display:none}
}
@media (max-width:700px) {
  .opening-stage #contact .contact-inner {width:calc(100% - 30px);padding-top:100px}
  .opening-stage #contact .contact-topline {margin-bottom:12px;font-size:8px;letter-spacing:.11em}
  .opening-stage #contact .contact-layout {grid-template-columns:1fr;border-radius:22px}
  .opening-stage #contact .contact-copy {padding:25px;border-radius:21px 21px 0 0}
  .opening-stage #contact .contact-copy .eyebrow {margin-bottom:15px}
  .opening-stage #contact .contact-title {font-size:clamp(44px,9vw,60px);line-height:1.02}
  .opening-stage #contact .contact-title em {margin-top:5px;font-size:.76em}
  .opening-stage #contact .contact-lead {max-width:420px;margin:16px 0;font-size:12px;line-height:1.6}
  .opening-stage #contact .contact-copy-mark {display:none}
  .opening-stage #contact .contact-form {padding:25px;border-radius:0 0 21px 21px}
  .opening-stage #contact .form-heading {margin-bottom:24px}
  .opening-stage #contact .form-heading h3 {font-size:24px}
  .opening-stage #contact .contact-fields {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
  .opening-stage #contact .contact-form input {padding:11px 10px;font-size:13px}
  .opening-stage #contact .contact-form .contact-message {margin-top:20px}
  .opening-stage #contact .contact-form textarea {height:96px;max-height:150px;font-size:13px}
  .opening-stage #contact .contact-form-bottom {gap:17px;margin-top:20px;padding-top:18px}
  .opening-stage #contact .form-submit {width:100%;justify-content:space-between;padding-left:19px}
}
@media (max-width:370px) {
  .opening-stage #contact .contact-copy,.opening-stage #contact .contact-form {padding:21px}
  .opening-stage #contact .contact-fields {grid-template-columns:1fr;gap:16px}
  .opening-stage #contact .contact-topline {font-size:7px}
}
@media (min-width:901px) and (max-height:700px) {
  .opening-stage #contact .contact-inner {height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#528d79 transparent;padding-bottom:50px}
  .opening-stage #contact .contact-copy,.opening-stage #contact .contact-form {padding:25px}
  .opening-stage #contact .contact-copy-mark {display:none}
  .opening-stage #contact .contact-meta {display:none}
}
@media (min-width:1000px) and (max-width:1600px) and (max-height:700px) {
  .opening-stage #contact .contact-inner {height:137.5svh}
}
@media (prefers-reduced-motion:reduce) {
  .opening-stage #contact .contact-email span,.opening-stage #contact .form-submit,.opening-stage #contact .form-submit i,.opening-stage #contact .contact-form input,.opening-stage #contact .contact-form textarea {transition:none}
  .opening-stage #contact .form-submit:hover,.opening-stage #contact .form-submit:hover i {transform:none}
}
