/* ════════════════════════════════════════════════════════════════════
   Contact page — field-guide editorial   (#ct-root)
   ════════════════════════════════════════════════════════════════════ */
#ct-root {
	--g-deep:#154d37; --g:#1d6b4f; --g-soft:#2f8a67; --mint:#9fe0c0;
	--clay:#bd6a36; --clay-dk:#9a5125;
	--ink:#1a1c16; --ink-2:#33372c; --muted:#6a6f60; --faint:#9a9e8d;
	--bone:#f6f2e9; --paper:#fffdf8; --cream:#f3eee2;
	--line:#e6e0d2; --line-2:#efeadd;
	--ease:cubic-bezier(.22,.61,.36,1);
	font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
	color:var(--ink); background:var(--bone); -webkit-font-smoothing:antialiased;
}
#ct-root *{box-sizing:border-box;}
.ct-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* ── Hero ── */
.ct-hero{
	position:relative;overflow:hidden;color:#fff;padding:56px 0 64px;
	background:linear-gradient(135deg,#0d1c14 0%,#15301f 60%,#143727 100%);
}
.ct-hero::before{content:"";position:absolute;top:-150px;right:-120px;width:480px;height:480px;background:radial-gradient(circle,rgba(47,138,103,.22) 0%,transparent 65%);pointer-events:none;}
.ct-kicker{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin-bottom:13px;}
.ct-title{font-family:"Newsreader",Georgia,serif;font-weight:600;font-size:clamp(30px,5vw,50px);line-height:1.08;letter-spacing:-.01em;margin:0 0 14px;color:#fff;}
.ct-title em{font-style:italic;color:var(--mint);}
.ct-sub{font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.78);max-width:600px;margin:0;}

/* ── Body ── */
.ct-body{padding:46px 24px 80px;}
.ct-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:38px;align-items:start;}

/* ── Info column ── */
.ct-info{display:flex;flex-direction:column;gap:14px;}
.ct-info-card{
	display:flex;gap:14px;align-items:flex-start;
	background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px 18px;
}
.ct-info-ico{
	flex:0 0 auto;width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;
	background:#eef4ef;color:var(--g-deep);
}
.ct-info-ico svg{width:21px;height:21px;}
.ct-info-k{margin:0 0 5px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.ct-info-v{display:block;color:var(--g-deep);font-weight:700;text-decoration:none;font-size:.96rem;line-height:1.5;}
a.ct-info-v:hover{color:var(--g);text-decoration:underline;}
.ct-info-plain{color:var(--ink-2);font-weight:500;}
.ct-info-link{display:inline-block;margin-top:7px;color:var(--clay);font-weight:700;font-size:.86rem;text-decoration:none;}
.ct-info-link:hover{color:var(--clay-dk);text-decoration:underline;}
.ct-info-note{
	background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:15px 17px;
	font-size:.88rem;line-height:1.55;color:var(--ink-2);
}
.ct-info-note strong{color:var(--g-deep);}
.ct-tick{color:var(--g);font-weight:800;margin-right:4px;}

/* ── Form card ── */
.ct-form-card{
	background:var(--paper);border:1px solid var(--line);border-radius:20px;
	padding:30px 30px 28px;box-shadow:0 22px 60px -32px rgba(21,77,55,.3);
}
.ct-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ct-field{margin:0 0 18px;}
.ct-field label{display:block;font-size:.82rem;font-weight:700;color:var(--ink-2);margin:0 0 7px;}
.ct-req{color:var(--clay);}
.ct-opt{color:var(--faint);font-weight:600;}
.ct-field input[type=text],
.ct-field input[type=email],
.ct-field textarea{
	width:100%;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);
	font-family:inherit;font-size:.96rem;padding:13px 15px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.ct-field textarea{resize:vertical;min-height:130px;line-height:1.55;}
.ct-field input:focus,.ct-field textarea:focus{
	outline:none;border-color:var(--g-soft);box-shadow:0 0 0 3px rgba(47,138,103,.14);
}
.ct-field input.ct-err,.ct-field textarea.ct-err{border-color:var(--clay);box-shadow:0 0 0 3px rgba(189,106,54,.14);}

/* ── Dropzone ── */
.ct-drop{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
	border:1.6px dashed var(--line);border-radius:14px;background:var(--cream);
	padding:26px 18px;cursor:pointer;transition:all .2s var(--ease);color:var(--muted);
}
.ct-drop:hover,.ct-drop.is-drag{border-color:var(--g-soft);background:#eef4ef;color:var(--g-deep);}
.ct-drop svg{width:26px;height:26px;color:var(--g);margin-bottom:2px;}
.ct-drop-t{font-size:.95rem;font-weight:600;color:var(--ink-2);}
.ct-drop-t u{color:var(--g-deep);text-decoration-thickness:2px;text-underline-offset:2px;}
.ct-drop-s{font-size:.76rem;letter-spacing:.02em;color:var(--faint);font-weight:600;}

/* ── Selected files ── */
.ct-files{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ct-files li{
	display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);
	border-radius:10px;padding:9px 12px;font-size:.88rem;
}
.ct-file-ext{
	flex:0 0 auto;font-size:.62rem;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--g);
	padding:4px 6px;border-radius:5px;text-transform:uppercase;min-width:38px;text-align:center;
}
.ct-file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:600;}
.ct-file-size{flex:0 0 auto;color:var(--muted);font-size:.8rem;}
.ct-file-x{
	flex:0 0 auto;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:var(--bone);
	color:var(--faint);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;
	transition:all .18s var(--ease);
}
.ct-file-x:hover{background:var(--clay);border-color:var(--clay);color:#fff;transform:rotate(90deg);}

/* ── Submit ── */
.ct-submit{
	position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
	width:100%;height:54px;margin-top:4px;border:1.5px solid var(--g-deep);border-radius:12px;
	background:var(--g-deep);color:#fff;font-family:"Hanken Grotesk",sans-serif;font-size:1.02rem;font-weight:800;
	cursor:pointer;transition:all .2s var(--ease);
}
.ct-submit:hover{background:var(--g);border-color:var(--g);transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(21,77,55,.6);}
.ct-submit:disabled{opacity:.7;cursor:default;transform:none;box-shadow:none;}
.ct-submit-spin{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ct-spin .7s linear infinite;}
.ct-submit.is-loading .ct-submit-spin{display:inline-block;}
@keyframes ct-spin{to{transform:rotate(360deg);}}

.ct-form-msg{margin:14px 0 0;font-size:.92rem;font-weight:600;line-height:1.5;display:none;}
.ct-form-msg.is-ok{display:block;color:var(--g-deep);background:#eef4ef;border:1px solid #cfe2d6;border-radius:10px;padding:12px 14px;}
.ct-form-msg.is-err{display:block;color:var(--clay-dk);background:#f8ede4;border:1px solid #ecd6c4;border-radius:10px;padding:12px 14px;}
.ct-privacy{margin:14px 0 0;font-size:.8rem;color:var(--muted);text-align:center;}

/* ── Responsive ── */
@media (max-width:860px){
	.ct-grid{grid-template-columns:1fr;gap:26px;}
}
@media (max-width:520px){
	.ct-row-2{grid-template-columns:1fr;}
	.ct-form-card{padding:22px 20px;}
	.ct-hero{padding:42px 0 48px;}
}
