/* =====================================================================
   Contact — page-specific styles (loaded after main.css and form.css)
   The form on the left; beside it the two-pager to download and the firm's direct lines
   (one column below 1000px: form first).
   ===================================================================== */
/* the title stands clear of the header with an ink rule a full measure below it; the columns start a
   measure under the rule. Right column: the two-pager as a card (its first page beside the name and the
   download), then the direct lines; both start level with the form's first label. */
.ct-hero{padding-top:calc(var(--hdr) + clamp(3.6rem,10vh,7.5rem));padding-bottom:clamp(2.6rem,4.6vw,4.2rem)}
.ct-hero .d1{font-size:clamp(2.6rem,5.4vw,5.4rem)}
.ct-body{padding-top:0;padding-bottom:clamp(4.5rem,8vw,8rem)}
.ct-body::before{display:none}
.ct-grid{display:grid;gap:clamp(3rem,5.5vw,6.5rem);padding-top:clamp(2.8rem,4.6vw,4.4rem);position:relative}
/* an ink rule over the columns, held to the page grid (the container's own border would run into the gutters) */
.ct-grid::before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--ink)}
.ct-grid>*{min-width:0}
@media (min-width:1000px){.ct-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);align-items:start}}
.ct-grid .dt-form{gap:clamp(1.15rem,1.7vw,1.6rem)}
.ct-grid .dt-foot{margin-top:.6rem}

.ct-side{display:grid;gap:clamp(2rem,3.2vw,2.8rem);align-content:start}
.ct-h{font-family:var(--f-serif);font-weight:460;font-size:clamp(1.4rem,1.9vw,1.95rem);line-height:1.16;letter-spacing:-.014em;margin:0}

/* the two-pager: a card, its first page on the left, the name and the download on the right */
.ct-sheet{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);align-items:center;gap:clamp(1.2rem,2.2vw,2.2rem);
  padding:clamp(1rem,1.5vw,1.5rem);background:var(--card);border:1px solid var(--line);
}
.ct-sheet__img{display:block;border:1px solid var(--line);box-shadow:0 14px 30px -18px rgba(13,47,45,.45);transition:transform .6s var(--ease-out)}
.ct-sheet:hover .ct-sheet__img{transform:translateY(-3px)}
.ct-sheet__img img{display:block;width:100%;height:auto}
.ct-sheet__copy{display:grid;gap:clamp(.9rem,1.4vw,1.3rem);justify-items:start}
.ct-sheet__copy .btn{padding-inline:1.25rem}
@media (max-width:420px){.ct-sheet{grid-template-columns:minmax(0,1fr)}.ct-sheet__img{max-width:240px}}

.ct-direct{display:grid;gap:1rem;padding:clamp(1.4rem,2vw,1.9rem) clamp(1rem,1.5vw,1.5rem) 0;border-top:1px solid var(--ink)}
.ct-direct ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;font-size:1.08rem;line-height:1.5;color:var(--ink-soft)}
.ct-direct a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;transition:color .3s,text-decoration-color .3s}
.ct-direct a:hover{color:var(--teal);text-decoration-color:var(--teal)}
.ct-direct .nw{white-space:nowrap}
@media (prefers-reduced-motion:reduce){.ct-sheet__img{transition:none}}
