.lumera-contact {
  --green: #0e9066;
  --green-dark: #00875f;
  --contact-mint: #eafaf3;
  background: #fff;
  color: var(--ink);
}

.contact-main { background: #fff; }
.contact-wrap {
  width: min(100%, 86rem);
  margin-inline: auto;
  padding: 1rem clamp(1rem, 2.2vw, 2rem) clamp(2.5rem, 5vw, 4.5rem);
}
.contact-wrap * { min-width: 0; overflow-wrap: anywhere; }
.contact-wrap p { line-height: 1.8; }
.contact-intro { padding: clamp(1.25rem, 2.7vw, 2rem) 0 clamp(1.5rem, 2.7vw, 2rem); }
.contact-eyebrow { margin: 0 0 .65rem; color: var(--green-dark); font-size: .875rem; font-weight: 700; }
.contact-intro h1 {
  margin: 0 0 .75rem;
  font-size: clamp(1.875rem, 3.6vw, 3.25rem);
  line-height: 1.4;
  letter-spacing: .02em;
}
.contact-lead { margin: 0; color: var(--muted); font-size: clamp(.9375rem, 1.5vw, 1.125rem); }

.contact-support {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr));
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: var(--contact-mint);
}
.contact-visual { position: relative; min-height: clamp(11rem, 28vw, 23rem); }
.contact-visual img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }
.contact-support-copy { align-self: center; padding: clamp(1.25rem, 2.6vw, 2.25rem); }
.contact-line-label { display: flex; align-items: center; gap: .875rem; margin-bottom: .875rem; }
.contact-line-mark { display: grid; place-items: center; flex: 0 0 2.5rem; height: 2.5rem; border-radius: .7rem; background: var(--green); color: #fff; }
.contact-line-mark svg { display: block; width: 2rem; height: 2rem; }
.contact-free { display: inline-flex; align-items: center; border: 1px solid var(--green); border-radius: 999rem; padding: .3rem .9rem; color: var(--green-dark); font-size: .8125rem; font-weight: 700; }
.contact-support h2 { margin: 0 0 .6rem; font-size: clamp(1.375rem, 2.2vw, 2rem); line-height: 1.45; }
.contact-support-copy > p:not(.contact-line-id) { margin: 0; color: var(--muted); font-size: 1rem; }
.contact-topics { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.25rem; padding: 0; list-style: none; }
.contact-topics li { padding: .35rem .8rem; border-radius: 999rem; background: #fff; color: var(--green-dark); font-size: .8125rem; font-weight: 700; line-height: 1.5; }
.contact-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  min-height: 3.75rem;
  padding: .875rem 1.125rem;
  border: 1px solid var(--green);
  border-radius: .65rem;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}
.contact-button-icon { flex: 0 0 1.625rem; }
.contact-button-arrow { margin-left: auto; font-size: 1.25rem; }
.contact-button > span:not(.contact-button-arrow) { margin-right: auto; }
/* Keep this page's white CTA label above the shared action palette. */
html:root body.lumera-contact .contact-button { background: var(--line-brand) !important; color: #fff !important; border-color: var(--line-brand) !important; }
html:root body.lumera-contact .contact-button:hover:not(:disabled),
html:root body.lumera-contact .contact-button:focus-visible { background: var(--line-brand) !important; border-color: var(--line-brand) !important; text-decoration: underline; text-underline-offset: .25em; }
.contact-support-copy .contact-line-id { margin: .625rem 0 0; color: var(--muted); font-size: .8125rem; text-align: center; }

.contact-resources { padding: clamp(1.75rem, 3vw, 2.5rem) 0 0; }
.contact-resources > h2 { display: flex; align-items: center; gap: .875rem; margin: 0 0 1rem; font-size: clamp(1.25rem, 2vw, 1.625rem); line-height: 1.5; }
.contact-resources > h2::before { content: ""; flex: 0 0 2rem; height: .125rem; background: var(--green); }
.contact-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr)); gap: clamp(.875rem, 1.6vw, 1.5rem); }
.contact-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: .875rem; background: #fff; color: var(--ink); text-decoration: none; }
.contact-card > img { display: block; width: 100%; height: clamp(6.5rem, 11vw, 9.5rem); object-fit: cover; object-position: center 60%; }
.contact-card > .contact-area-photo { object-position: 65% center; }
.contact-card-copy { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.125rem .625rem; }
.contact-card h3 { margin: 0 0 .4rem; font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.5; }
.contact-card p { margin: 0 0 .6rem; color: var(--muted); font-size: .875rem; }
.contact-card-link { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.75rem; margin-top: auto; color: var(--green-dark); font-size: .9375rem; font-weight: 700; }
.contact-card-link > span { font-size: 1.25rem; }
.contact-card:hover { border-color: var(--green); }
.contact-card:hover .contact-card-link { text-decoration: underline; text-underline-offset: .25em; }

.contact-interview { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr)); gap:clamp(1.75rem,4vw,4rem); align-items:center; margin:clamp(2.5rem,5vw,4rem) 0 2rem; padding:clamp(1rem,3vw,2.5rem); border:1px solid var(--line); border-radius:1.25rem; background:#fff; }
.contact-meeting-visual { margin:0; padding:clamp(.75rem,2vw,1.5rem); border-radius:1rem; background:var(--contact-mint); }
.contact-meeting-screen { overflow:hidden; border:1px solid var(--line); border-radius:.8rem; background:#fff; box-shadow:0 .6rem 1.5rem rgb(11 107 77 / .07); }
.contact-meeting-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.4rem; padding:.7rem .85rem; border-bottom:1px solid var(--line); font-size:.7rem; color:var(--green-dark); }
.contact-meeting-brand { font-family:Georgia,serif; font-size:1.3rem; letter-spacing:.04em; }
.contact-meeting-brand>span { font-size:.8rem; }
.contact-meeting-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; padding:.65rem; }
.contact-meeting-person { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; min-height:clamp(8rem,14vw,11rem); padding:.75rem .3rem; border-radius:.5rem; background:var(--contact-mint); color:var(--green-dark); font-size:clamp(.65rem,1.1vw,.8rem); }
.contact-meeting-person.is-family { background:#fff; border:1px solid var(--line); }
.contact-meeting-person>svg { display:block; width:clamp(3.25rem,6vw,5rem); height:4.5rem; fill:none; stroke:currentColor; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.contact-meeting-person .interview-cap { fill:var(--contact-mint); }
.contact-meeting-bottom { display:flex; align-items:center; gap:.4rem; padding:.15rem .7rem .7rem; color:var(--green-dark); }
.contact-meeting-bottom>span:has(svg) { display:grid; place-items:center; width:1.7rem; height:1.7rem; border-radius:50%; background:var(--contact-mint); flex:none; }
.contact-meeting-bottom svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.contact-meeting-bottom i { flex:none; width:.25rem; height:.25rem; margin-left:auto; border-radius:50%; background:var(--green); }
.contact-meeting-bottom>span:last-child { font-size:.6rem; }
.contact-meeting-visual figcaption { margin:1.25rem 0; text-align:center; color:var(--green-dark); line-height:1.8; font-size:.875rem; }
.contact-meeting-visual figcaption strong { font-size:clamp(1.125rem,1.6vw,1.4rem); }
.contact-meeting-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; list-style:none; margin:0; padding:0; }
.contact-meeting-flow li { border-top:2px solid var(--green); padding:.7rem 0 .15rem; color:var(--green-dark); }
.contact-meeting-flow li+li { border-top-color:var(--lm-coral,#f0644f); }
.contact-meeting-flow li>span { display:block; font-size:.75rem; }
.contact-meeting-flow b { font-size:1.5rem; margin:0 .15rem; }
.contact-meeting-flow strong { display:block; margin-top:.2rem; font-size:clamp(.75rem,1.2vw,.9rem); }
.contact-meeting-copy h2 { margin:0 0 1rem; font-size:clamp(1.5rem,2.5vw,2.5rem); line-height:1.5; letter-spacing:.02em; }
.contact-meeting-lead { margin:0 0 1.25rem; color:var(--muted); font-size:clamp(.875rem,1.3vw,1rem); }
.contact-meeting-price { padding-top:1rem; border-top:1px solid var(--line); }
.contact-meeting-price>span { color:var(--green-dark); font-weight:700; font-size:.8rem; }
.contact-meeting-price p { display:flex; align-items:baseline; flex-wrap:wrap; gap:.3rem; margin:.2rem 0 0; color:var(--green-dark); }
.contact-meeting-price strong { font-size:clamp(2.4rem,4vw,3.25rem); line-height:1.2; font-variant-numeric:tabular-nums; }
.contact-meeting-price small { margin-left:.6rem; color:var(--muted); font-size:.75rem; }
.contact-meeting-reassurance { display:flex; align-items:baseline; gap:.4rem; margin:.65rem 0 1rem; font-size:.8rem; color:var(--green-dark); }
.contact-meeting-reassurance>span { flex:none; }
.contact-meeting-cta { display:flex; justify-content:space-between; align-items:center; min-height:3.5rem; padding:.85rem 1.25rem; border-radius:.65rem; font-size:1rem; font-weight:700; text-decoration:none; }
html:root body.lumera-contact .contact-meeting-cta { background:var(--line-brand)!important; color:#fff!important; border:1px solid var(--line-brand)!important; }
.contact-meeting-cta:hover { text-decoration:underline; text-underline-offset:.25em; }
.contact-meeting-attend { margin:.6rem 0 1rem; color:var(--muted); font-size:.75rem; }
.contact-meeting-details { border-top:1px solid var(--line); font-size:.8rem; }
.contact-meeting-details summary { display:list-item; cursor:pointer; min-height:2.75rem; padding:.75rem 0; color:var(--green-dark); }
.contact-meeting-details summary:focus-visible { outline:3px solid var(--green-dark); outline-offset:3px; }
.contact-meeting-details p { margin:.3rem 0 .75rem; color:var(--muted); font-size:.8rem; }
.contact-existing { margin: 0; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .875rem; color: var(--muted); }
.contact-existing a { display: inline-block; line-height: 2.75rem; color: var(--green-dark); text-decoration: underline; text-underline-offset: .25em; }
.contact-wrap a:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 4px; }
.lumera-contact footer { background: #fff; color: var(--ink); border-top: 1px solid var(--line); }
.lumera-contact footer .tagline,
.lumera-contact footer li a { color: var(--muted); }
.lumera-contact .footer-bottom { color: var(--muted); border-color: var(--line); }
.lumera-contact footer .logo { color: var(--green-dark); }

/* Keep LINE branding separate from the site accent palette. */
body.lumera-contact{--line-brand:#06c755}
html:root body.lumera-contact .contact-line-mark{background:var(--line-brand)!important}
html:root body.lumera-contact .contact-line-mark text{fill:var(--line-brand)}
