/* P07 redesign: native brand CSS, sharp corners, blue accent, light theme.
   DESIGN_VARIANCE: 5; MOTION_INTENSITY: 2; VISUAL_DENSITY: 4.
   Preserve the existing hero and shared form; compose contact details and factory directions. */
html:has(.jli-contact-page) { scroll-behavior:smooth; }
.jli-contact-page .jlct-hero { padding:4.5rem 0; background:#f5f8fc; border-bottom:1px solid #dce5ef; }
.jli-contact-page .jlct-breadcrumb { display:flex; align-items:center; gap:.65rem; margin-bottom:2rem; color:#68798c; font-size:.85rem; }
.jli-contact-page .jlct-breadcrumb a { color:#68798c; }
.jli-contact-page .jlct-breadcrumb a:hover { color:var(--jl-blue); }
.jli-contact-page .jlct-hero p { max-width:46rem; margin:1.5rem 0 2rem; color:#627286; font-size:1.08rem; line-height:1.8; }
.jli-contact-page .jlct-hero .jli-actions { margin:0; gap:1.75rem; }
.jli-contact-page .jlct-sample { color:var(--jl-blue)!important; font-size:.95rem; font-weight:600; text-decoration:underline; text-underline-offset:5px; }

.jli-contact-page .jlct-inquiry { background:#fff; scroll-margin-top:6rem; }
.jli-contact-page .jlct-grid { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); gap:3rem; align-items:center; }
.jli-contact-page .jlct-contact-column,.jli-contact-page .jlct-location,.jli-contact-page .jlct-form { min-width:0; }
.jli-contact-page .jlct-section-head { max-width:29rem; }
.jli-contact-page .jlct-section-head .jli-title { max-width:none; margin-bottom:1.5rem!important; line-height:1.14; }
.jli-contact-page .jlct-section-head p { margin:0; color:#627286; font-size:1rem; line-height:1.85; }
.jli-contact-page .jlct-contact-list { margin:2.25rem 0 0; padding:0; border-top:1px solid #dce5ef; }
.jli-contact-page .jlct-contact-item { display:grid; grid-template-columns:2.75rem minmax(0,1fr); gap:1rem; align-items:center; padding:1.1rem 0; border-bottom:1px solid #dce5ef; }
.jli-contact-page .jlct-contact-icon { display:grid; place-items:center; width:2.75rem; height:2.75rem; color:var(--jl-blue); background:#edf5ff; }
.jli-contact-page .jlct-contact-icon svg { width:22px; height:22px; }
.jli-contact-page .jlct-contact-link { position:relative; display:grid; gap:.3rem; padding:.15rem 2rem .15rem 0; text-decoration:none; color:#263d55; }
.jli-contact-page .jlct-contact-label { color:#627286; font-size:.72rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.jli-contact-page .jlct-contact-value { font-size:clamp(.95rem,1.2vw,1.12rem); font-weight:500; line-height:1.6; overflow-wrap:anywhere; }
.jli-contact-page .jlct-contact-arrow { position:absolute; top:50%; right:.2rem; transform:translateY(-50%); color:var(--jl-blue); font-size:1.4rem; transition:transform .18s ease; }
.jli-contact-page .jlct-contact-link:hover { color:#0064d7; }
.jli-contact-page .jlct-contact-link:hover .jlct-contact-arrow { transform:translate(.2rem,-50%); }
.jli-contact-page .jlct-form { border:1px solid #dce5ef; background:#fff; }
.jli-contact-page .jlct-form .jl-infility-card { padding:2.5rem; }
.jli-contact-page .jlct-visit { background:#f5f8fc; border-top:1px solid #dce5ef; }
.jli-contact-page .jlct-visit-head { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.jli-contact-page .jlct-visit-copy .jli-title { margin-bottom:1.25rem!important; }
.jli-contact-page .jlct-visit-copy p { margin:0; color:#627286; font-size:1rem; line-height:1.7; }
.jli-contact-page .jlct-directions { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; gap:1.2rem; padding:.9rem 1.25rem; border:1px solid #b8d7ff; background:#fff; color:#0064d7; font-size:.9rem; font-weight:600; line-height:1.5; white-space:nowrap; text-decoration:none; transition:background .18s ease,border-color .18s ease; }
.jli-contact-page .jlct-directions span { font-size:1.2rem; }
.jli-contact-page .jlct-directions:hover { background:#eaf3ff; border-color:var(--jl-blue); }
.jli-contact-page .jlct-directions:active { transform:translateY(1px); }
.jli-contact-page .jlct-address { display:flex; align-items:flex-start; gap:.65rem; margin:2rem 0 1.5rem; color:#40566e; }
.jli-contact-page .jlct-address svg { width:21px; height:21px; margin-top:.15rem; color:var(--jl-blue); flex-shrink:0; }
.jli-contact-page .jlct-address address { flex:1; min-width:0; max-width:none; margin:0; font-style:normal; font-size:.95rem; line-height:1.8; }
.jli-contact-page .jlct-map-section { min-width:0; }
.jli-contact-page .jlct-map { position:relative; height:clamp(360px,34vw,460px); overflow:hidden; background:#eaf0f7; border:1px solid #d6e2ef; }
.jli-contact-page .jlct-map iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; background:#eef3f9; }
.jli-contact-page .jlct-map-status { margin:.8rem 0 0; color:#627286; font-size:.78rem; line-height:1.7; }
.jli-contact-page a:focus-visible,.jli-contact-page button:focus-visible { outline:2px solid var(--jl-blue); outline-offset:5px; }
@media(min-width:1024px) {
 .jli-contact-page .jlct-section-head .jli-title { font-size:clamp(1.75rem,2.8vw,2.75rem); white-space:nowrap; }
}
@media(max-width:1023px) {
 .jli-contact-page .jlct-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:1.5rem; }
 .jli-contact-page .jlct-form .jl-infility-card { padding:2rem; }
 .jli-contact-page .jlct-contact-item { grid-template-columns:2.25rem minmax(0,1fr); gap:.75rem; }
 .jli-contact-page .jlct-contact-icon { width:2.25rem; height:2.25rem; }
 .jli-contact-page .jlct-contact-link { padding-right:1.3rem; }
 .jli-contact-page .jlct-contact-arrow { right:0; }
}
@media(max-width:767px) {
 .jli-contact-page .jlct-hero { padding:2.5rem 0 3rem; }
 .jli-contact-page .jlct-breadcrumb { margin-bottom:1.5rem; }
 .jli-contact-page .jlct-hero p { font-size:1rem; }
 .jli-contact-page .jlct-hero .jli-actions { gap:1.5rem; }
 .jli-contact-page .jlct-grid { grid-template-columns:1fr; gap:2rem; }
 .jli-contact-page .jlct-contact-column { display:contents; }
 .jli-contact-page .jlct-section-head { max-width:none; order:0; }
 .jli-contact-page .jlct-section-head .jli-title { max-width:none; }
 .jli-contact-page .jlct-form { order:1; }
 .jli-contact-page .jlct-location { order:2; }
 .jli-contact-page .jlct-contact-list { margin:0; }
 .jli-contact-page .jlct-contact-item { grid-template-columns:2.75rem minmax(0,1fr); gap:1rem; padding:1.15rem 0; }
 .jli-contact-page .jlct-contact-icon { width:2.75rem; height:2.75rem; }
 .jli-contact-page .jlct-contact-value { font-size:1rem; }
 .jli-contact-page .jlct-form .jl-infility-card { padding:2rem 1.25rem 1.5rem; }
 .jli-contact-page .jlct-visit-head { align-items:flex-start; flex-direction:column; gap:1.5rem; }
 .jli-contact-page .jlct-address { margin:1.5rem 0; }
 .jli-contact-page .jlct-map { height:clamp(300px,82vw,400px); }
}
@media(prefers-reduced-motion:reduce) {
 html:has(.jli-contact-page) { scroll-behavior:auto; }
 .jli-contact-page .jlct-contact-arrow,.jli-contact-page .jlct-directions { transition:none; }
}
