/* ---------- contact page ---------- */
.contact-page{padding-top:clamp(130px,14vw,190px);padding-bottom:clamp(70px,9vw,120px);}
.ct-shell{position:relative;border:1px solid var(--muted);border-radius:var(--r-block);background:var(--surface);overflow:hidden;
  display:grid;grid-template-columns:1.15fr .85fr;}
.ct-left{padding:clamp(30px,4vw,60px);border-right:1px solid var(--muted);}
.ct-left h1{font-family:var(--font-display);font-size:clamp(38px,5.4vw,68px);line-height:1.02;letter-spacing:-.025em;margin:0 0 20px;}
.ct-left .body-copy{max-width:44ch;margin-bottom:44px;}
.ct-methods{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;}
.ct-method{display:flex;align-items:flex-start;gap:14px;}
.ct-ico{flex:none;width:46px;height:46px;border-radius:13px;background:var(--surface-2);border:1px solid var(--muted);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out);}
.ct-method:hover .ct-ico{background:var(--ink);color:var(--bg);transform:translateY(-3px);}
.ct-method h2,.ct-method h4{font-size:15px;font-weight:600;margin-bottom:2px;}
.ct-method p,.ct-method a{font-size:14px;color:var(--text-muted);}
.ct-method a:hover{color:var(--ink);}
.ct-right{padding:clamp(30px,4vw,52px);background:var(--surface-2);}
.ct-field{margin-bottom:20px;}
.ct-field label{display:block;font-size:14px;font-weight:600;margin-bottom:9px;}
.ct-input,.ct-textarea{width:100%;background:var(--surface);border:1px solid var(--muted);border-radius:12px;padding:13px 15px;font:15px/1.5 var(--font-ui);color:var(--text);transition:border-color .3s var(--ease-out),background-color .4s var(--ease-out);}
.ct-input::placeholder,.ct-textarea::placeholder{color:var(--text-muted);}
.ct-input:focus-visible,.ct-textarea:focus-visible{outline:none;border-color:var(--ink);}
.ct-textarea{min-height:132px;resize:vertical;}
.ct-note{font-size:13px;color:var(--text-muted);margin-top:14px;min-height:19px;}
.ct-mark{position:absolute;width:15px;height:15px;color:var(--muted);pointer-events:none;}
.ct-mark::before,.ct-mark::after{content:'';position:absolute;background:currentColor;}
.ct-mark::before{top:50%;left:0;width:100%;height:1px;transform:translateY(-50%);}
.ct-mark::after{left:50%;top:0;height:100%;width:1px;transform:translateX(-50%);}
.ct-mark.tl{top:-8px;left:-8px;} .ct-mark.tr{top:-8px;right:-8px;}
.ct-mark.bl{bottom:-8px;left:-8px;} .ct-mark.br{bottom:-8px;right:-8px;}
@media(max-width:860px){.ct-shell{grid-template-columns:1fr;}.ct-left{border-right:0;border-bottom:1px solid var(--muted);}}
@media(max-width:520px){.ct-methods{grid-template-columns:1fr;}}






































/* ==========================================================
   RESPONSIVE + POLISH LAYER
   Appended last on purpose — every rule here intentionally
   overrides the base sheet above.
   ========================================================== */

