/**
 * Pharma landing page styles.
 *
 * Extracted from the standalone bundled export (pharma.eftax.co.jp) and scoped
 * under `.pharma-page` so the generic class names (.section, .button, .eyebrow …)
 * do not collide with the theme's bundle.css. Header / footer / drawer rules from
 * the source build are intentionally omitted — the WP header/footer are reused.
 *
 * Hero background image resolves relative to this file: /css/ -> /content-images/pharma/.
 */

:root {
	--pharma-ink: #2f283c;
	--pharma-muted: #4e4e55;
	--pharma-teal: #278f97;
	--pharma-teal-dark: #1f7379;
	--pharma-teal-pale: #dceff0;
	--pharma-paper: #fff;
	--pharma-sand: #f7f3ef;
	--pharma-line: #cdd6dd;
	--pharma-page-width: 1140px;
}

.pharma-page {
	color: var(--pharma-ink);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.8;
}

.pharma-page * { box-sizing: border-box; }
.pharma-page h1,
.pharma-page h2,
.pharma-page h3,
.pharma-page p { margin: 0; }
.pharma-page h1,
.pharma-page h2,
.pharma-page h3 { letter-spacing: -.045em; }
.pharma-page a { color: inherit; text-decoration: none; }

/* Layout ------------------------------------------------------------------- */
.pharma-page .page-width {
	width: min(var(--pharma-page-width), calc(100% - 128px));
	margin: 0 auto;
}
.pharma-page .section { padding: 132px 0; }
.pharma-page .section h2 {
	font-size: clamp(30px, 3.55vw, 46px);
	font-weight: 500;
	line-height: 1.32;
}
.pharma-page .section-lead { color: var(--pharma-muted); line-height: 2; }
.pharma-page .section-intro { margin-bottom: 62px; }
.pharma-page .split-layout {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: end;
	gap: 80px;
}

/* Shared bits -------------------------------------------------------------- */
.pharma-page .eyebrow {
	color: var(--pharma-teal);
	letter-spacing: .15em;
	text-transform: uppercase;
	margin-bottom: 18px;
	font: 600 12px/1.3 "Wix Madefor Display", sans-serif;
}
.pharma-page .eyebrow-light { color: #dceff0; }
.pharma-page .button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: 0;
	min-height: 56px;
	padding: 0 25px;
	font-size: 14px;
	font-weight: 600;
	transition: transform .2s, background-color .2s;
}
.pharma-page .button:hover { transform: translateY(-2px); }
.pharma-page .button-primary { color: #fff; background: var(--pharma-teal); }
.pharma-page .button-primary:hover { background: var(--pharma-teal-dark); }
.pharma-page .button-light { color: var(--pharma-ink); background: #fff; }
.pharma-page .button-light:hover { background: var(--pharma-teal-pale); }
.pharma-page .arrow {
	margin-left: 10px;
	font-size: 1.15em;
	transition: transform .2s;
	display: inline-block;
}
.pharma-page a:hover .arrow { transform: translate(4px); }

/* Hero --------------------------------------------------------------------- */
.pharma-page .hero {
	display: flex;
	align-items: center;
	color: #fff;
	min-height: 760px;
	padding: 190px 0 112px;
	background: linear-gradient(90deg, #0c101c2e, #0c101c0a 65%, #0c101c1f),
		url(../content-images/pharma/pharma-hero.png) 50% / cover;
}
.pharma-page .hero h1 {
	text-shadow: 0 2px 12px #00000040;
	max-width: 900px;
	margin-bottom: 28px;
	font-size: clamp(38px, 4.3vw, 60px);
	font-weight: 500;
	line-height: 1.24;
}
.pharma-page .hero h1 span {
	display: block;
	margin-top: 18px;
	font-size: clamp(28px, 2.8vw, 40px);
	font-weight: 500;
	line-height: 1.45;
}
.pharma-page .hero-copy {
	text-shadow: 0 1px 8px #00000047;
	max-width: 720px;
	margin-bottom: 38px;
	line-height: 2;
}

/* Problem section ---------------------------------------------------------- */
.pharma-page .architecture-figure {
	margin: 0;
	padding: clamp(16px, 3vw, 34px);
	background: #f6f1f5;
	border: 1px solid #e6dde7;
}
.pharma-page .architecture-figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--pharma-line);
}
.pharma-page .issue-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	padding-top: 50px;
}
.pharma-page .issue-grid article {
	border-top: 1px solid var(--pharma-ink);
	padding: 18px 2px;
}
.pharma-page .issue-number { color: var(--pharma-teal); font: 600 12px/1 "Wix Madefor Display", sans-serif; }
.pharma-page .issue-grid h3 { margin: 22px 0 16px; font-size: 22px; font-weight: 600; line-height: 1.55; }
.pharma-page .issue-grid p { color: var(--pharma-muted); font-size: 14px; line-height: 1.85; }

/* Role / solution section -------------------------------------------------- */
.pharma-page .role { color: #fff; background: #498d96; }
.pharma-page .role-panel {
	display: grid;
	grid-template-columns: 1.03fr .97fr;
	align-items: center;
	gap: 70px;
}
.pharma-page .role-copy h2 { font-size: clamp(30px, 3.4vw, 44px); }
.pharma-page .role-copy > p:not(.eyebrow) {
	color: #eefbfc;
	max-width: 550px;
	margin-top: 26px;
	font-size: 15px;
	line-height: 2;
}
.pharma-page .delivery-map {
	text-align: center;
	background: #ffffff0f;
	border: 1px solid #ffffff40;
	padding: 42px 25px;
}
.pharma-page .map-node {
	letter-spacing: .08em;
	border: 1px solid #ffffff70;
	max-width: 350px;
	margin: auto;
	padding: 15px 12px;
	font: 600 12px/1.45 "Wix Madefor Display", sans-serif;
}
.pharma-page .map-node span {
	display: block;
	color: #e3f5f6;
	letter-spacing: 0;
	margin-top: 5px;
	font: 10px/1.6 "Noto Sans JP", sans-serif;
}
.pharma-page .eftax-node { background: #ffffff1f; border-color: #e7ffff; padding: 22px 15px; }
.pharma-page .eftax-node b { display: block; letter-spacing: -.06em; font-size: 24px; }
.pharma-page .map-line { background: #d8f2f3; width: 1px; height: 46px; margin: auto; }
.pharma-page .map-line-bottom { height: 38px; }
.pharma-page .capability-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	margin-top: 82px;
	padding-top: 38px;
	border-top: 1px solid #ffffff59;
}
.pharma-page .capability-list article { display: flex; flex-direction: column; gap: 22px; }
.pharma-page .line-icon { color: azure; stroke-width: 1.25px; width: 62px; height: 62px; }
.pharma-page .capability-list h3 { margin-bottom: 12px; font-size: 21px; line-height: 1.35; }
.pharma-page .capability-list p { color: #eefbfc; font-size: 13px; line-height: 1.85; }

/* Use cases section -------------------------------------------------------- */
.pharma-page .use-cases { background: var(--pharma-sand); }
.pharma-page .case-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	border: 1px solid var(--pharma-line);
	background: var(--pharma-line);
}
.pharma-page .case-grid article {
	display: flex;
	flex-direction: column;
	background: #fff;
	padding: 38px 38px 34px;
}
.pharma-page .case-grid article:hover { background: var(--pharma-teal-pale); }
.pharma-page .case-tags { display: flex; flex-wrap: wrap; gap: 7px; min-height: 25px; }
.pharma-page .case-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
	color: var(--pharma-teal-dark);
	border: 1px solid #1f73796b;
	border-radius: 999px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 600;
}
.pharma-page .case-number { color: var(--pharma-teal); letter-spacing: .12em; margin: 30px 0 10px; font: 600 12px/1 "Wix Madefor Display", sans-serif; }
.pharma-page .case-grid h3 {
	min-height: 4.35em;
	margin-bottom: 18px;
	font-size: clamp(22px, 2.15vw, 29px);
	font-weight: 600;
	line-height: 1.45;
}
.pharma-page .case-summary { min-height: 7.6em; color: var(--pharma-muted); margin-bottom: 28px; font-size: 14px; line-height: 1.9; }
.pharma-page .case-details {
	display: grid;
	gap: 12px;
	min-height: 142px;
	margin-top: auto;
	padding-top: 21px;
	border-top: 1px solid var(--pharma-line);
}
.pharma-page .case-details div { display: grid; grid-template-columns: 78px 1fr; gap: 13px; }
.pharma-page .case-details dt { color: var(--pharma-teal-dark); font-size: 11px; font-weight: 600; }
.pharma-page .case-details dd { color: var(--pharma-muted); margin: 0; font-size: 12px; line-height: 1.75; }

/* Contact section ---------------------------------------------------------- */
.pharma-page .contact-section {
	color: #fff;
	text-align: center;
	background: linear-gradient(126deg, #2f283c, #233d46 52%, #278f97);
	padding: 130px 0;
}
.pharma-page .contact-section h2 {
	max-width: 900px;
	margin: 0 auto 23px;
	font-size: clamp(32px, 3.8vw, 52px);
	font-weight: 500;
	line-height: 1.35;
}
.pharma-page .contact-section > div > p:not(.eyebrow) {
	max-width: 650px;
	color: var(--pharma-teal-pale);
	margin: 0 auto 35px;
	font-size: 15px;
}

/* Responsive --------------------------------------------------------------- */
@media (max-width: 800px) {
	.pharma-page .page-width { width: calc(100% - 44px); }
	.pharma-page .section { padding: 88px 0; }
	.pharma-page .hero {
		background-position: 62%;
		align-items: flex-end;
		min-height: 680px;
		padding: 152px 0 82px;
	}
	.pharma-page .hero h1 { font-size: clamp(34px, 9.2vw, 42px); }
	.pharma-page .split-layout,
	.pharma-page .role-panel { grid-template-columns: 1fr; gap: 24px; }
	.pharma-page .section-intro { margin-bottom: 40px; }
	.pharma-page .section h2 { font-size: clamp(29px, 8vw, 38px); }
	.pharma-page .issue-grid,
	.pharma-page .capability-list { grid-template-columns: 1fr; gap: 30px; }
	.pharma-page .issue-grid { padding-top: 35px; }
	.pharma-page .capability-list { margin-top: 56px; padding-top: 30px; }
	.pharma-page .capability-list article { flex-direction: row; align-items: flex-start; gap: 20px; }
	.pharma-page .line-icon { flex: 0 0 48px; width: 48px; height: 48px; }
	.pharma-page .case-grid { grid-template-columns: 1fr; }
	.pharma-page .case-grid article { padding: 30px 24px; }
	.pharma-page .case-grid h3,
	.pharma-page .case-summary,
	.pharma-page .case-details { min-height: 0; }
	.pharma-page .case-details { margin-top: 0; }
	.pharma-page .contact-section { padding: 90px 0; }
}

@media (prefers-reduced-motion: reduce) {
	.pharma-page *,
	.pharma-page *::before,
	.pharma-page *::after { transition: none !important; }
}
