/* ===== CONTACT — light, form-centric split (page CSS only) ===== */
main#top{background:#fff; color:var(--on-light)}

/* HERO */
.ct-hero{padding:clamp(3rem,7vw,5.4rem) 0 clamp(1.4rem,3vw,2.2rem); border-bottom:1px solid var(--line-light)}
.ct-eyebrow{font-family:var(--mono); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--on-light-mute); display:flex; align-items:center; gap:.8em}
.ct-eyebrow .ln{flex:1; max-width:130px; height:1px; background:var(--line-light)}
.ct-hero h1{font-size:clamp(2.5rem,6.2vw,5rem); letter-spacing:-.035em; line-height:1.0; color:var(--on-light); margin:1rem 0 0; max-width:15ch; font-weight:500}
.ct-hero .lead{max-width:60ch; margin-top:1.3rem; color:var(--on-light-dim); font-size:clamp(1.04rem,1.4vw,1.2rem); line-height:1.6}
.ct-hero-meta{display:flex; flex-wrap:wrap; gap:1.6rem 2.8rem; margin-top:2.2rem}
.ct-hmi{display:flex; flex-direction:column; gap:.25rem}
.ct-hmi .k{font-family:var(--mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute)}
.ct-hmi .v{font-size:1.02rem; color:var(--on-light); font-weight:500}
.ct-hmi .v b{color:var(--brand); font-weight:500}

/* SPLIT */
.ct-split{padding:clamp(2.6rem,5vw,4.2rem) 0; display:grid; grid-template-columns:1.45fr .9fr; gap:clamp(2rem,5vw,5rem); align-items:start}
@media(max-width:880px){.ct-split{grid-template-columns:1fr; gap:3rem}}

/* FORM */
.form-rank{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--brand)}
.form-head h2{font-size:clamp(1.7rem,3vw,2.3rem); letter-spacing:-.03em; color:var(--on-light); margin:.4rem 0 0; font-weight:500; line-height:1.05}
.form-head p{color:var(--on-light-dim); max-width:48ch; line-height:1.6; margin-top:.7rem}
.qform{margin-top:2rem}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem 1.4rem}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.field{display:flex; flex-direction:column; gap:.5rem}
.field.full{grid-column:1/-1}
.field label{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; color:var(--on-light); display:flex; align-items:center; gap:.4em}
.field label .req{color:var(--brand)}
.field input,.field select,.field textarea{
  font-family:var(--sans); font-size:.96rem; color:var(--on-light); background:#fff;
  border:1px solid var(--line-light); border-radius:var(--r-md); padding:.78em .9em; width:100%;
  transition:border-color .15s var(--ease), box-shadow .15s var(--ease)}
.field input::placeholder,.field textarea::placeholder{color:#a8a8a8}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px var(--brand-soft)}
.field textarea{resize:vertical; min-height:128px; line-height:1.55}
.field select{appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23797979' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .9em center; padding-right:2.4em; cursor:pointer}
.consent{grid-column:1/-1; display:flex; align-items:flex-start; gap:.7em; margin-top:.2rem}
.consent input{width:18px; height:18px; margin-top:.15em; accent-color:var(--brand); flex-shrink:0; cursor:pointer}
.consent label{font-family:var(--sans); text-transform:none; letter-spacing:0; font-size:.84rem; color:var(--on-light-dim); line-height:1.5; font-weight:400}
.form-actions{grid-column:1/-1; display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-top:.6rem}
.form-actions .arrow{margin-left:.1em}
.form-note{font-family:var(--mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; color:var(--on-light-mute); display:inline-flex; align-items:center; gap:.5em}
.form-note .dot{width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 0 3px rgba(55,205,132,.16)}

/* FORM — thank-you state */
.qform-done{margin-top:2rem; border:1px solid var(--line-light); border-radius:var(--r-marketing); padding:clamp(1.6rem,4vw,2.6rem); background:#fafafa; max-width:52ch}
.qform-done .qd-badge{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand)}
.qform-done .qd-badge svg{width:22px; height:22px}
.qform-done h3{font-size:clamp(1.5rem,3vw,2rem); letter-spacing:-.025em; color:var(--on-light); font-weight:500; margin:1.1rem 0 0}
.qform-done p{color:var(--on-light-dim); line-height:1.6; margin-top:.7rem}
.qform-done .btn{margin-top:1.4rem}

/* SIDEBAR */
.aside{display:flex; flex-direction:column; gap:1.4rem}
.scard{border:1px solid var(--line-light); border-radius:var(--r-marketing); padding:1.5rem}
.scard.promote{background:#fafafa}
.scard h3{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute); font-weight:500; margin:0 0 1.1rem}
.resp-big{font-size:clamp(2rem,4vw,2.7rem); letter-spacing:-.03em; color:var(--on-light); line-height:1; font-weight:500}
.resp-big span{color:var(--brand)}
.resp-sub{color:var(--on-light-dim); font-size:.9rem; line-height:1.55; margin-top:.7rem; max-width:34ch}
.dline{display:flex; align-items:center; gap:.9em; padding:.85rem 0; border-top:1px solid var(--line-light); text-decoration:none}
.dline:first-of-type{border-top:0; padding-top:0}
.dline .ic{width:34px; height:34px; flex-shrink:0; border:1px solid var(--line-light); border-radius:var(--r-sm); display:grid; place-items:center; color:var(--on-light); transition:border-color .15s var(--ease)}
.dline .ic svg{width:16px; height:16px}
.dline .dl-k{font-family:var(--mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute); display:block}
.dline .dl-v{font-size:.98rem; color:var(--on-light); font-weight:500; margin-top:.1rem; display:block; transition:color .15s var(--ease)}
a.dline:hover .dl-v{color:var(--brand)}
a.dline:hover .ic{border-color:var(--on-light)}

.rep{display:flex; gap:.9em; padding:.95rem 0; border-top:1px solid var(--line-light); align-items:flex-start}
.rep:first-of-type{border-top:0; padding-top:0}
.rep .av{width:40px; height:40px; flex-shrink:0; border-radius:50%; background:var(--on-light); color:#fff; display:grid; place-items:center; font-family:var(--mono); font-size:.78rem; letter-spacing:.02em}
.rep .rname{font-size:.96rem; color:var(--on-light); font-weight:500}
.rep .rrole{font-size:.84rem; color:var(--on-light-dim); margin-top:.15rem; line-height:1.45}
.rep .rregion{font-family:var(--mono); font-size:.62rem; text-transform:uppercase; letter-spacing:.04em; color:var(--brand); margin-top:.35rem; display:inline-block}

.office{padding:.95rem 0; border-top:1px solid var(--line-light)}
.office:first-of-type{border-top:0; padding-top:0}
.office .ocity{font-size:.96rem; color:var(--on-light); font-weight:500; display:flex; align-items:center; justify-content:space-between; gap:1em}
.office .otag{font-family:var(--mono); font-size:.6rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute); border:1px solid var(--line-light); border-radius:var(--r-pill); padding:.22em .6em}
.office .oaddr{font-size:.84rem; color:var(--on-light-dim); line-height:1.5; margin-top:.4rem; font-style:normal}

/* TRUST STRIP */
.trust{padding:clamp(2.4rem,4vw,3.4rem) 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light)}
.trust .tlabel{font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--on-light-mute); display:flex; align-items:center; gap:.8em; margin-bottom:1.8rem}
.trust .tlabel b{color:var(--on-light); font-weight:500}
.tlogos{display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--line-light); border:1px solid var(--line-light); border-radius:var(--r-marketing); overflow:hidden}
@media(max-width:880px){.tlogos{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.tlogos{grid-template-columns:repeat(3,1fr)}}
.tlogos .tl{background:#fff; aspect-ratio:3/2; display:grid; place-items:center; padding:1.3rem}
.tlogos .tl img{max-height:30px; max-width:78%; object-fit:contain}

/* FAQ */
.faq{padding:clamp(2.6rem,5vw,4.4rem) 0 clamp(3rem,6vw,5rem)}
.faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:1.4rem; flex-wrap:wrap; margin-bottom:2rem}
.faq-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem); letter-spacing:-.03em; color:var(--on-light); max-width:16ch; font-weight:500; line-height:1.05}
.faq-head p{color:var(--on-light-dim); max-width:40ch; line-height:1.6; font-size:.96rem}
.faq-list{border-top:1px solid var(--line-light)}
.faq-item{border-bottom:1px solid var(--line-light)}
.faq-q{width:100%; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1.4rem;
  padding:1.5rem 0; text-align:left; font-family:var(--sans); font-size:clamp(1.05rem,1.6vw,1.28rem); letter-spacing:-.01em; color:var(--on-light); font-weight:500}
.faq-q .pm{position:relative; width:18px; height:18px; flex-shrink:0}
.faq-q .pm::before,.faq-q .pm::after{content:""; position:absolute; background:var(--on-light); transition:transform .22s var(--ease), opacity .22s}
.faq-q .pm::before{top:8px; left:0; width:18px; height:2px}
.faq-q .pm::after{left:8px; top:0; width:2px; height:18px}
.faq-item[open] .faq-q .pm::after{transform:scaleY(0)}
.faq-item[open] .faq-q{color:var(--brand)}
.faq-item[open] .faq-q .pm::before{background:var(--brand)}
.faq-a{padding:0 0 1.6rem; color:var(--on-light-dim); line-height:1.65; max-width:64ch}
.faq-a a{color:var(--on-light); text-decoration:underline; text-underline-offset:2px}
.faq-item summary{list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
