.lpm-service-detail{--navy:#0f2a4a;--accent:#f4b942;--accent-hover:#e0a830;--ink:#1a2536;--caption:#6a7385;--line:#e4e8ee;--line-2:#d6dce6;--soft:#f5f7fb;background:#fff;color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,Lato,"Noto Sans",sans-serif}
.lpm-service-detail *{box-sizing:border-box}.lpm-service-detail__hero{position:relative;width:100%;height:270px;background:var(--navy);overflow:hidden}.lpm-service-detail__hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.lpm-service-detail__hero-content{position:absolute;inset:0;display:flex;align-items:center;pointer-events:none}.lpm-service-detail__hero-content>div{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}.lpm-service-detail__hero-content p{margin:0 0 18px;color:var(--accent);font-size:16px;line-height:1.2;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lpm-service-detail__hero-content h2{max-width:760px;margin:0;color:#fff;font-size:50px;line-height:1.15;font-weight:700;letter-spacing:-.01em}.lpm-service-detail__wrap{max-width:1200px;margin:0 auto;padding:0 32px}.lpm-service-detail__intro{padding:56px 0 36px}.lpm-service-detail h1{font-size:38px;line-height:1.18;font-weight:700;color:var(--navy);margin:0 0 22px;letter-spacing:-.01em}.lpm-service-detail h1:after{content:"";display:block;width:64px;height:4px;background:var(--accent);margin-top:18px;border-radius:2px}.lpm-service-detail__intro p{font-size:18px;line-height:1.65;color:var(--ink);margin:0;text-align:justify;hyphens:auto}.lpm-service-detail__cards{padding:32px 0 80px}.lpm-service-detail__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.lpm-service-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:240px 1fr;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;overflow:hidden;min-height:260px;cursor:pointer}.lpm-service-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(15,42,74,.28);border-color:var(--line-2)}.lpm-service-card:focus{outline:2px solid var(--accent);outline-offset:2px}.lpm-service-card__photo{padding:18px;border-right:1px solid var(--line);background:var(--soft);display:flex;align-items:center;justify-content:center}.lpm-service-card__photo>div{width:100%;height:100%;padding:10px;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;justify-content:center}.lpm-service-card__photo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;transition:transform .35s ease}.lpm-service-card:hover .lpm-service-card__photo img{transform:scale(1.03)}.lpm-service-card__body{padding:22px 24px;display:flex;flex-direction:column;gap:12px}.lpm-service-card h2{font-size:18px;line-height:1.32;font-weight:700;color:var(--navy);margin:0;letter-spacing:-.005em}.lpm-service-card__block{margin-top:2px}.lpm-service-card__label,.lpm-service-modal section h3{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);font-weight:600;margin:0 0 6px}.lpm-service-card__chips,.lpm-service-card__materials{display:flex;flex-wrap:wrap;gap:6px}.lpm-service-card__chips span{font-size:11.5px;line-height:1.15;padding:4px 8px;border-radius:5px;background:#f2f5fa;color:var(--navy);border:1px solid var(--line);font-weight:500;white-space:nowrap}.lpm-service-card__materials>span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;background:var(--soft);border:1px solid var(--line);border-radius:999px;font-size:12px;line-height:1.15;white-space:nowrap}.lpm-service-card__materials img{width:22px;height:22px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:50%;border:1px solid var(--line);padding:2px}.lpm-service-card__materials b{font-weight:400}.lpm-service-card__footer{margin-top:auto;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.lpm-service-card__price{display:inline-flex;align-items:baseline;font-size:13px;color:var(--navy);font-weight:700;background:var(--accent);border:1px solid var(--accent);padding:7px 14px;border-radius:999px;letter-spacing:.02em;text-transform:uppercase}.lpm-service-card__more{font-size:13px;font-weight:600;color:var(--navy);letter-spacing:.01em;opacity:.75}.lpm-service-card:hover .lpm-service-card__more{opacity:1;color:#e0a82d}.lpm-service-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}.lpm-service-modal.is-open{display:flex}.lpm-service-modal__backdrop{position:fixed;inset:0;background:rgba(15,42,74,.72);backdrop-filter:blur(2px);cursor:pointer}.lpm-service-modal__window{position:relative;background:#fff;border-radius:12px;max-width:820px;width:100%;box-shadow:0 40px 80px -30px rgba(15,42,74,.55);overflow:hidden;margin:auto;animation:lpm-service-fade .18s ease-out}@keyframes lpm-service-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lpm-service-modal__close{position:absolute;top:12px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(15,42,74,.85);color:#fff;border:0;font-size:24px;line-height:1;cursor:pointer}.lpm-service-modal__scroll{max-height:calc(100vh - 80px);overflow-y:auto}.lpm-service-modal__hero{width:100%;aspect-ratio:4/3;max-height:60vh;background:#f0f2f5;overflow:hidden;display:flex;align-items:center;justify-content:center}.lpm-service-modal__hero img{width:100%;height:100%;object-fit:contain}.lpm-service-modal__body{padding:28px 32px 32px}.lpm-service-modal__body h2{font-size:26px;line-height:1.25;font-weight:700;color:var(--navy);margin:0 0 22px;letter-spacing:-.01em}.lpm-service-modal section{margin-bottom:22px}.lpm-service-modal section ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.lpm-service-modal section li{font-size:14px;line-height:1.55;color:var(--ink);padding-left:16px;position:relative}.lpm-service-modal section:not(:last-of-type) li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--accent);border-radius:50%}.lpm-service-modal__materials{flex-direction:row!important;gap:12px!important}.lpm-service-modal__materials li{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px!important;background:var(--soft);border:1px solid var(--line);border-radius:999px}.lpm-service-modal__materials li:before{display:none}.lpm-service-modal__materials img{width:36px;height:36px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:50%;border:1px solid var(--line);padding:3px}.lpm-service-modal footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}.lpm-service-modal footer button{background:var(--accent);color:var(--navy);padding:11px 22px;border-radius:6px;font-weight:700;font-size:14px;letter-spacing:.02em;border:0;cursor:pointer}.lpm-service-modal footer button:hover{background:var(--accent-hover)}body.lpm-service-modal-lock{overflow:hidden}
@media(max-width:960px){.lpm-service-detail__grid{grid-template-columns:1fr;gap:18px}.lpm-service-card{grid-template-columns:220px 1fr}}@media(max-width:760px){.lpm-service-detail__wrap,.lpm-service-detail__hero-content>div{padding:0 22px}.lpm-service-detail__hero{height:220px}.lpm-service-detail__hero-content h2{font-size:34px}.lpm-service-detail__hero-content p{font-size:13px;margin-bottom:12px}.lpm-service-detail__intro{padding:36px 0 24px}.lpm-service-detail h1{font-size:28px}.lpm-service-detail__intro p{font-size:16px}.lpm-service-detail__cards{padding:24px 0 60px}.lpm-service-card{grid-template-columns:1fr;min-height:0}.lpm-service-card__photo{padding:14px;border-right:0;border-bottom:1px solid var(--line)}.lpm-service-card__photo>div{height:240px}.lpm-service-modal{padding:0}.lpm-service-modal__window{border-radius:0;min-height:100vh}.lpm-service-modal__scroll{max-height:none}.lpm-service-modal__body{padding:22px 22px 28px}.lpm-service-modal__body h2{font-size:20px}}@media(max-width:480px){.lpm-service-detail__wrap,.lpm-service-detail__hero-content>div{padding:0 16px}.lpm-service-detail__hero-content h2{font-size:26px}.lpm-service-detail h1{font-size:24px}.lpm-service-card h2{font-size:16.5px}.lpm-service-card__photo>div{height:210px}}
/* The source banner lettering starts at five percent of the viewport, not at the centred content grid. */
.lpm-service-detail__hero-content > div {
	max-width: none;
	margin: 0;
	padding-left: clamp(32px, 5vw, 96px);
	padding-right: 32px;
}
@media (max-width: 760px) {
	.lpm-service-detail__hero-content > div { padding: 0 22px; }
}
@media (max-width: 480px) {
	.lpm-service-detail__hero-content > div { padding: 0 16px; }
}

/* Source variants for the two non-modal directions at the end of the catalogue. */
.lpm-service-card--request,
.lpm-service-card--steps {
	grid-template-columns: 340px 1fr;
	min-height: 320px;
	cursor: default;
}
.lpm-service-card--request:hover,
.lpm-service-card--steps:hover {
	transform: none;
	box-shadow: none;
	border-color: var(--line);
}
.lpm-service-card__price.is-muted {
	background: #f2f5fa;
	border-color: var(--line);
	color: var(--caption);
}

/* The analytical-direction cards use the source's full-width method chip. */
.lpm-service-card__method {
	display: block;
}
.lpm-service-card__method span {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 8px 12px;
	border: 1px solid #d4e1ef;
	border-radius: 10px;
	background: #f0f5fa;
	color: var(--navy);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
	white-space: normal;
	overflow-wrap: break-word;
	text-align: left;
}
.lpm-service-card__step {
	margin-bottom: 4px;
	color: var(--accent-2, var(--accent));
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	line-height: normal;
	text-transform: uppercase;
}
@media (max-width: 960px) {
	.lpm-service-card--request,
	.lpm-service-card--steps { grid-template-columns: 280px 1fr; }
}
@media (max-width: 760px) {
	.lpm-service-card--request,
	.lpm-service-card--steps { grid-template-columns: 260px 1fr; }
}
