/* ============================================================
   CONTACT + LEGAL PAGES — layers on pack.css
   ============================================================ */
.contact-hero{background:var(--charcoal);color:var(--off-white);padding-top:calc(var(--nav-h) + clamp(56px,8vw,104px));padding-bottom:clamp(34px,4vw,56px)}
.contact-hero .kicker{color:var(--stone-soft)}
.contact-hero h1{color:var(--off-white);font-size:clamp(2.6rem,6vw,4.6rem);margin-top:1rem}
.contact-hero p{margin-top:1.3rem;max-width:54ch;color:var(--ink-on-dark);font-weight:300;font-size:clamp(1.02rem,1.5vw,1.18rem)}

.contact-main{background:var(--off-white)}
.contact-grid{display:grid;grid-template-columns:1.3fr 0.7fr;gap:clamp(40px,6vw,90px);align-items:start}

/* form */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cform .full{grid-column:1 / -1}
.field{display:flex;flex-direction:column;gap:9px}
.field label{font-family:var(--sans);font-weight:500;font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--charcoal)}
.field label .req{color:var(--stone)}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-weight:300;font-size:1rem;color:var(--charcoal);
  background:var(--paper);border:1px solid var(--border);padding:14px 16px;border-radius:0;
  transition:border-color .3s var(--ease),background .3s var(--ease);width:100%;
}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--stone);background:#fff}
.field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238B8170' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.consent{grid-column:1 / -1;display:flex;gap:12px;align-items:flex-start;margin-top:4px}
.consent input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:var(--stone)}
.consent label{font-family:var(--sans);font-weight:300;font-size:0.84rem;line-height:1.6;color:var(--mid-grey);letter-spacing:0;text-transform:none}
.consent a{color:var(--charcoal);border-bottom:1px solid var(--stone)}
.cform .submit-row{grid-column:1 / -1;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.form-note{font-family:var(--sans);font-size:0.82rem;color:var(--stone)}
.form-status{grid-column:1 / -1;font-family:var(--sans);font-size:0.92rem;padding:14px 18px;border:1px solid var(--border);background:var(--paper);display:none}
.form-status.show{display:block}
.form-status.ok{border-color:var(--olive);color:#566b1e}

/* details rail */
.cdetails{display:flex;flex-direction:column;gap:0}
.cdetail{padding:24px 0;border-top:1px solid var(--border)}
.cdetail:first-child{padding-top:0;border-top:none}
.cdetail .l{font-family:var(--sans);font-weight:500;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone)}
.cdetail .v{margin-top:10px;font-family:var(--serif);font-size:1.3rem;color:var(--charcoal);line-height:1.35}
.cdetail .v a{color:var(--charcoal);transition:color .3s}
.cdetail .v a:hover{color:var(--stone)}
.cdetail .s{margin-top:8px;font-size:0.92rem;color:var(--mid-grey)}
.creassure{margin-top:28px;background:var(--charcoal);color:var(--off-white);padding:26px 28px}
.creassure .t{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--off-white)}
.creassure .s{margin-top:8px;font-size:0.88rem;color:var(--ink-on-dark-soft)}

/* urban den mention */
.cud{background:#16170F;color:var(--ink-on-dark)}
.cud .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-block:clamp(40px,5vw,64px)}
.cud .udl .mark{font-family:var(--serif);font-weight:500;font-size:1.7rem;color:var(--off-white)}
.cud .udl .mark em{font-style:normal;color:var(--olive)}
.cud .udl p{margin-top:8px;font-size:0.95rem;max-width:46ch}

/* legal/prose pages */
.prose-hero{background:var(--charcoal);color:var(--off-white);padding-top:calc(var(--nav-h) + clamp(56px,8vw,96px));padding-bottom:clamp(34px,4vw,52px)}
.prose-hero .kicker{color:var(--stone-soft)}
.prose-hero h1{color:var(--off-white);font-size:clamp(2.2rem,5vw,3.6rem);margin-top:1rem}
.prose-hero p{margin-top:1rem;color:var(--ink-on-dark-soft);font-size:0.92rem}
.prose{background:var(--off-white)}
.prose .wrap{max-width:820px}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:2.4rem 0 0.9rem}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--charcoal);margin:1.6rem 0 0.4rem}
.prose p{font-size:1rem;line-height:1.8;margin-bottom:0.9rem;color:var(--mid-grey)}
.prose ul{margin:0 0 1.1rem 1.2rem}
.prose li{font-size:1rem;line-height:1.8;color:var(--mid-grey);margin-bottom:0.3rem}
.prose a{color:var(--charcoal);border-bottom:1px solid var(--stone)}
.prose .meta{font-family:var(--sans);font-size:0.82rem;color:var(--stone);letter-spacing:0.04em;padding-bottom:1.6rem;margin-bottom:2rem;border-bottom:1px solid var(--border)}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:48px}
  .cform{grid-template-columns:1fr}
}
