/* ============================================================
   Altminds contact block, standalone.
   The same form and address card the home page carries, written
   without the body.am scoping and without the shared tokens so
   the older pages can use it beside their own stylesheet.
   Everything is namespaced under .am-contact.
   ============================================================ */
.am-contact{
	--c-bg:#faf7ef; --c-bg2:#f5efde; --c-surface:#fffcf5;
	--c-ink:#1f2a20; --c-muted:#5a6656; --c-line:#e3dac3;
	--c-green:#4d694e; --c-deep:#3e573f; --c-accent:#8e5a2b; --c-on:#faf7ef;
	background:var(--c-bg2);
	padding-block:clamp(56px,8vw,96px);
	color:var(--c-ink);
	text-align:left;
}
.am-contact .am-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(16px,4vw,32px);}
.am-contact__stack{display:grid;justify-items:center;gap:clamp(24px,3.2vw,40px);}
.am-contact__stack > *{width:100%;max-width:760px;}
.am-contact__head{text-align:center;}
.am-contact__head h2{margin:0;color:var(--c-deep);font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-0.02em;}
.am-contact__head p{margin:14px auto 0;max-width:52ch;font-size:17px;color:var(--c-muted);}

/* --- Form --- */
.am-contact .am-form{
	display:grid;gap:clamp(14px,1.6vw,18px);margin:0;
	background:var(--c-surface);border:1px solid var(--c-line);
	border-radius:14px;padding:clamp(22px,3vw,38px);
	box-shadow:0 24px 60px -24px rgba(46,60,40,.3),0 2px 6px rgba(46,60,40,.07);
}
.am-contact .am-form__row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,18px);}
.am-contact .am-field{display:grid;gap:4px;min-width:0;position:relative;}
.am-contact .am-field > span{
	display:flex;align-items:baseline;gap:4px;
	font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
	color:rgba(31,42,32,.58);transition:color .25s ease;
}
.am-contact .am-field:focus-within > span{color:var(--c-green);}
.am-contact .am-field em{font-style:normal;font-size:.95em;color:var(--c-accent);opacity:.9;}
.am-contact .am-field input,
.am-contact .am-field select,
.am-contact .am-field textarea{
	width:100%;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5;
	color:var(--c-ink);background-color:transparent;
	border:0;border-bottom:1px solid var(--c-line);border-radius:0;
	padding:10px 2px;box-shadow:none;
	transition:border-color .25s ease,background-color .25s ease;
}
.am-contact .am-field textarea{resize:vertical;height:92px;min-height:92px;line-height:1.6;}
.am-contact .am-field select{
	appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;
	background-image:linear-gradient(45deg,transparent 50%,var(--c-muted) 50%),linear-gradient(135deg,var(--c-muted) 50%,transparent 50%);
	background-position:calc(100% - 9px) 50%,calc(100% - 4px) 50%;
	background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.am-contact .am-field select:invalid{color:rgba(90,102,86,.62);font-weight:400;font-size:15px;}
.am-contact .am-field select option{color:var(--c-ink);font-weight:500;}
.am-contact .am-field input:hover,
.am-contact .am-field select:hover,
.am-contact .am-field textarea:hover{border-bottom-color:#7e9070;}
.am-contact .am-field input:focus,
.am-contact .am-field select:focus,
.am-contact .am-field textarea:focus{outline:none;background-color:rgba(77,105,78,.04);}
.am-contact .am-field input::placeholder,
.am-contact .am-field textarea::placeholder{font-weight:400;font-size:15px;color:rgba(90,102,86,.52);}
.am-contact .am-field::after{
	content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
	background:var(--c-green);border-radius:2px;
	transform:scaleX(0);transform-origin:left;
	transition:transform .38s cubic-bezier(.2,.85,.25,1);pointer-events:none;
}
.am-contact .am-field:focus-within::after{transform:scaleX(1);}
.am-contact .am-field input:not(:placeholder-shown),
.am-contact .am-field textarea:not(:placeholder-shown){border-bottom-color:#8ba07d;}
.am-contact .am-field input:user-invalid,
.am-contact .am-field textarea:user-invalid,
.am-contact .am-field select:user-invalid{border-bottom-color:#b4543f;}

.am-contact .am-form__captcha{margin-top:2px;}
.am-contact .am-form__foot{display:grid;justify-items:start;gap:12px;margin-top:6px;}
.am-contact .am-form__send{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:0 26px;border:0;border-radius:999px;
	background:var(--c-green);color:var(--c-on);
	font-family:inherit;font-size:15.5px;font-weight:600;line-height:1;letter-spacing:.005em;
	text-decoration:none;white-space:nowrap;cursor:pointer;
	transition:transform .15s ease,background-color .15s ease;
}
.am-contact .am-form__send:hover{background:var(--c-deep);color:var(--c-on);}
.am-contact .am-form__send:active{transform:translateY(1px);}
.am-contact .am-form__send::after{content:"\2192";margin-left:10px;display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.am-contact .am-form__send:hover::after{transform:translateX(5px);}
.am-contact .am-form__note{margin:0;font-size:13.5px;line-height:1.55;color:var(--c-muted);max-width:52ch;}
.am-contact .am-form__note.is-ok{color:var(--c-green);font-weight:600;}
.am-contact .am-form__note.is-bad{color:#a8452f;font-weight:600;}
.am-contact .am-form.is-sending .am-form__send{opacity:.65;pointer-events:none;}

/* --- Addresses --- */
.am-contact .am-offices{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;
	background:var(--c-surface);border:2px dashed #b9ae92;border-radius:6px;
	padding:clamp(28px,3vw,40px);
}
.am-contact .am-office{display:flex;flex-direction:column;}
.am-contact .am-office h3{font-size:18px;margin:0 0 8px;color:var(--c-accent);}
.am-contact .am-office__addr{margin:0;font-size:16px;line-height:1.55;color:var(--c-ink);}
.am-contact .am-office__tel{list-style:none;margin:18px 0 0;padding:0;}
.am-contact .am-office__tel li{display:grid;grid-template-columns:5.2em 1fr;align-items:baseline;column-gap:10px;margin:0;}
.am-contact .am-office__tel li + li{margin-top:6px;}
.am-contact .am-office__tel span{color:#6b6455;font-weight:500;}
.am-contact .am-office__tel a{color:var(--c-ink);text-decoration:none;font-variant-numeric:tabular-nums;white-space:nowrap;}
.am-contact .am-office__tel a:hover{text-decoration:underline;}
.am-contact .am-mail{
	grid-column:1 / -1;margin:0;padding-top:20px;border-top:1px dashed var(--c-line);
	font-size:21px;font-weight:600;color:var(--c-green);text-align:center;
}
.am-contact .am-mail a{color:var(--c-green);text-decoration:none;}
.am-contact .am-mail a:hover{text-decoration:underline;}

/* --- Side by side above 980 --- */
@media (min-width:981px){
.am-contact__stack{
	grid-template-columns:minmax(0,6fr) minmax(0,5fr);
	column-gap:clamp(32px,4vw,56px);
	align-items:stretch;justify-items:stretch;
}
.am-contact__stack > *{max-width:none;}
.am-contact__head{grid-column:1 / -1;max-width:760px;justify-self:center;}
.am-contact .am-form{align-content:space-between;}
.am-contact .am-offices{grid-template-columns:1fr;gap:0;display:flex;flex-direction:column;}
.am-contact .am-offices .am-office + .am-office{margin-top:22px;padding-top:22px;border-top:1px dashed #cfc5aa;}
.am-contact .am-mail{margin-top:auto;}
}
@media (max-width:600px){
.am-contact .am-form__row{grid-template-columns:1fr;}
.am-contact .am-form__send{width:100%;}
.am-contact .am-offices{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
.am-contact .am-field input,.am-contact .am-field select,.am-contact .am-field textarea,
.am-contact .am-field::after,.am-contact .am-form__send,.am-contact .am-form__send::after{transition:none;}
}


/* Same here: four blocks in the address card, so the form is no
   longer stretched to match it. */
@media (min-width:981px){
.am-contact__stack{align-items:start;}
.am-contact .am-form{align-content:start;}
}


/* The address card ends on one email line. */
.am-contact .am-mail span{display:block;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:rgba(31,42,32,.55);margin-bottom:5px;}
.am-contact .am-mail{grid-column:1 / -1;margin:0;padding-top:20px;border-top:1px dashed #e3dac3;text-align:center;font-size:20px;font-weight:600;}
@media (min-width:981px){.am-contact .am-mail{margin-top:20px;text-align:left;}}


/* ---- One form height: the form card and the address column run to
   the same height, and the message box takes up any slack, so both
   sides end level the way they do on the home page. ---- */
/* This form is the taller of the two columns (it carries the
   reCAPTCHA), so only the address column has to grow. Its own
   metrics stay exactly as they are: this page is the reference. */
@media (min-width:981px){
.am-contact__stack .am-offices{align-self:stretch;}
}
