/**
 * Berke 0.21.7 — responsive + approved-media integration for P-0007/P-0008.
 * Scoped only to these revenue pages. No stored-content/SEO/URL mutation.
 */

/* --------------------------------------------------------------------------
   P-0008 — additional visual storytelling and responsive density.
   -------------------------------------------------------------------------- */
.berke-p8 .berke-p8-process__story{
	display:grid;
	grid-template-columns:minmax(19rem,.88fr) minmax(0,1.12fr);
	gap:clamp(1.5rem,4vw,3.2rem);
	align-items:center;
	margin-block-start:1.35rem;
	padding:clamp(1rem,2.2vw,1.45rem);
	border:1px solid rgba(255,255,255,.14);
	border-radius:1.2rem;
	background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(75,184,221,.055));
	box-shadow:0 18px 46px rgba(0,0,0,.10);
}
.berke-p8 .berke-p8-process__visual{
	position:relative;
	margin:0;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.14);
	border-radius:1rem;
	background:#0a1e31;
	box-shadow:0 18px 44px rgba(0,0,0,.20);
}
.berke-p8 .berke-p8-process__visual picture,
.berke-p8 .berke-p8-process__visual img{display:block;inline-size:100%}
.berke-p8 .berke-p8-process__visual img{aspect-ratio:16/10;block-size:auto;object-fit:cover;object-position:center}
.berke-p8 .berke-p8-process__visual figcaption{
	display:grid;
	gap:.18rem;
	padding:.75rem .9rem .85rem;
	background:#fff;
	text-shadow:none;
}
.berke-p8 .berke-p8-process__visual figcaption b{color:#176b8b;font-size:.76rem}
.berke-p8 .berke-p8-process__visual figcaption span{color:#526b7b;font-size:.74rem;line-height:1.75}
.berke-p8 .berke-p8-process__story-copy h3{margin:.1rem 0 .75rem;color:#fff;font-size:clamp(1.35rem,2.25vw,2rem);line-height:1.55}
.berke-p8 .berke-p8-process__story-copy>p:not(.berke-p8-kicker){color:#d5e5ec;margin-bottom:1rem}
.berke-p8 .berke-p8-process__story-copy ul{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.berke-p8 .berke-p8-process__story-copy li{display:flex;align-items:flex-start;gap:.55rem;color:#e4f0f5;font-size:.9rem;line-height:1.8}
.berke-p8 .berke-p8-process__story-copy li svg{margin-block-start:.2rem;color:#8adbf5}

/* Slightly more deliberate section rhythm on desktop without making the page sparse. */
@media (min-width:64.01rem){
	.berke-p8 .berke-p8-section{padding-block:clamp(3.8rem,5.1vw,5.35rem)}
	.berke-p8 .berke-p8-heading{margin-block-end:1.65rem}
	.berke-p8 .berke-p8-cost .berke-core-container,
	.berke-p8 .berke-p8-process .berke-core-container,
	.berke-p8 .berke-p8-boundary .berke-core-container{inline-size:min(calc(100% - 3rem),82rem)}
}

/* Tablet: readable two-column modules; image/copy blocks stop becoming overly narrow. */
@media (max-width:64rem){
	.berke-p8 .berke-p8-hero__layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.82fr);gap:1.65rem 2rem}
	.berke-p8 .berke-p8-hero__visual{min-block-size:25rem;max-block-size:31rem}
	.berke-p8 .berke-p8-principles{grid-template-columns:repeat(3,minmax(0,1fr))}
	.berke-p8 .berke-p8-principles li{border-block-end:0;border-inline-end:1px solid var(--p8-line)}
	.berke-p8 .berke-p8-principles li:last-child{border-inline-end:0}
	.berke-p8 .berke-p8-factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.berke-p8 .berke-p8-process__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
	.berke-p8 .berke-p8-process__steps li:last-child{grid-column:1/-1}
	.berke-p8 .berke-p8-process__story{grid-template-columns:minmax(17rem,.9fr) minmax(0,1.1fr)}
	.berke-p8 .berke-p8-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:56rem){
	.berke-p8 .berke-core-container{inline-size:min(calc(100% - 2rem),72rem)!important;max-inline-size:none!important}
	.berke-p8 .berke-p8-section{padding-block:3.65rem}
	.berke-p8 .berke-p8-hero__layout{grid-template-columns:1fr;grid-template-areas:"visual" "copy" "principles";gap:1.35rem}
	.berke-p8 .berke-p8-hero__visual{min-block-size:0;max-block-size:none;aspect-ratio:16/10}
	.berke-p8 .berke-p8-hero__copy{max-inline-size:44rem}
	.berke-p8 .berke-p8-principles{grid-template-columns:1fr}
	.berke-p8 .berke-p8-principles li{border-inline-end:0;border-block-end:1px solid var(--p8-line)}
	.berke-p8 .berke-p8-principles li:last-child{border-block-end:0}
	.berke-p8 .berke-p8-split,
	.berke-p8 .berke-p8-building__layout,
	.berke-p8 .berke-p8-faq__layout,
	.berke-p8 .berke-p8-inquiry__layout{grid-template-columns:1fr;gap:1.6rem}
	.berke-p8 .berke-p8-process__story{grid-template-columns:1fr;gap:1.2rem}
	.berke-p8 .berke-p8-process__visual{max-inline-size:44rem}
	.berke-p8 .berke-p8-route-grid{grid-template-columns:1fr}
	.berke-p8 .berke-p8-route-grid a{min-block-size:auto}
	.berke-p8 .berke-p8-prep__layout{grid-template-columns:1fr;gap:1.25rem}
	.berke-p8 .berke-p8-inquiry__form{max-inline-size:44rem;inline-size:100%}
}

/* Mobile: strong hierarchy, full-width controls, compact cards and horizontal anchor nav. */
@media (max-width:48rem){
	.berke-p8 .berke-core-container{inline-size:calc(100% - 1.25rem)!important;max-inline-size:none!important}
	.berke-p8 .berke-p8-breadcrumb .berke-core-container{white-space:nowrap;overflow:hidden;font-size:.75rem}
	.berke-p8 .berke-p8-hero{padding-block:1.3rem 2.35rem}
	.berke-p8 .berke-p8-hero__visual{aspect-ratio:4/3;border-radius:1rem}
	.berke-p8 .berke-p8-hero__visual figcaption small{display:none}
	.berke-p8 .berke-p8-hero__copy h1{font-size:clamp(2rem,9.5vw,2.75rem);line-height:1.34}
	.berke-p8 .berke-p8-lead{font-size:1rem!important;line-height:1.9}
	.berke-p8 .berke-p8-actions{display:grid;grid-template-columns:1fr;gap:.55rem;margin-block:1rem 0}
	.berke-p8 .berke-p8-button{inline-size:100%;min-block-size:3.15rem}
	.berke-p8 .berke-p8-principles li{padding:.82rem .9rem}
	.berke-p8 .berke-p8-anchorbar{position:sticky;inset-block-start:var(--berke-mobile-header-offset,4.7rem);overflow:hidden;backdrop-filter:none}
	.berke-p8 .berke-p8-anchorbar .berke-core-container{inline-size:100%!important;overflow-x:auto;padding-inline:.6rem;scroll-snap-type:x proximity}
	.berke-p8 .berke-p8-anchorbar a{min-block-size:2.55rem;padding-inline:.7rem;scroll-snap-align:start}
	.berke-p8 .berke-p8-anchorbar .is-cta{margin-inline-start:0}
	.berke-p8 .berke-p8-section{padding-block:3rem}
	.berke-p8 .berke-p8-heading{margin-block-end:1.25rem}
	.berke-p8 .berke-p8-heading h2{font-size:clamp(1.65rem,7vw,2.2rem)}
	.berke-p8 .berke-p8-factor-grid{grid-template-columns:1fr;gap:.6rem}
	.berke-p8 .berke-p8-factor-grid article{min-block-size:0;padding:1rem}
	.berke-p8 .berke-p8-checklist{padding:.65rem}
	.berke-p8 .berke-p8-checklist li{padding:.72rem .55rem}
	.berke-p8 .berke-p8-process__steps{grid-template-columns:1fr;gap:.55rem}
	.berke-p8 .berke-p8-process__steps li,.berke-p8 .berke-p8-process__steps li:last-child{grid-column:auto;min-block-size:0;padding:1rem}
	.berke-p8 .berke-p8-process__story{margin-block-start:1rem;padding:.7rem;border-radius:1rem}
	.berke-p8 .berke-p8-process__visual img{aspect-ratio:16/10}
	.berke-p8 .berke-p8-process__visual figcaption{padding:.65rem .75rem}
	.berke-p8 .berke-p8-process__story-copy{padding:.3rem .25rem .45rem}
	.berke-p8 .berke-p8-building__cards{gap:.55rem}
	.berke-p8 .berke-p8-route-grid{gap:.55rem}
	.berke-p8 .berke-p8-tehran__layout{grid-template-columns:auto 1fr;align-items:start}
	.berke-p8 .berke-p8-tehran__layout .berke-p8-button{grid-column:1/-1}
	.berke-p8 .berke-p8-faq summary{min-block-size:3.25rem;padding:.8rem .85rem}
	.berke-p8 .berke-p8-prep ul{grid-template-columns:1fr;gap:.4rem}
	.berke-p8 .berke-p8-inquiry{padding-block:3.25rem}
	.berke-p8 .berke-p8-inquiry__form{padding:.8rem;border-radius:1rem}
}

/* --------------------------------------------------------------------------
   P-0007 — generated proof image + contrast and responsive hardening.
   -------------------------------------------------------------------------- */
.berke-p7 .berke-p7-proof__generated{margin:0;background:#081d31}
.berke-p7 .berke-p7-proof__generated picture,
.berke-p7 .berke-p7-proof__generated img{display:block;inline-size:100%}
.berke-p7 .berke-p7-proof__generated img{aspect-ratio:16/10;object-fit:cover;object-position:center}
.berke-p7 .berke-p7-proof__generated figcaption{
	padding:.7rem .85rem .8rem;
	color:#5a7281;
	background:#fff;
	font-size:.74rem;
	line-height:1.75;
}

/* Repeat the light-island contract at the latest layer: no global dark surface may recolor it. */
body main.berke-p7 .berke-p7-decision[data-berke-surface="dark"] .berke-p7-decision__statement[data-berke-surface="light"]{
	color:#173f55!important;
	background:linear-gradient(180deg,#f8fdff 0%,#e7f7fc 100%)!important;
}
body main.berke-p7 .berke-p7-decision[data-berke-surface="dark"] .berke-p7-decision__statement[data-berke-surface="light"] :where(small,strong,span){color:#173f55!important;text-shadow:none!important}
body main.berke-p7 .berke-p7-decision[data-berke-surface="dark"] .berke-p7-decision__statement[data-berke-surface="light"] small{color:#176b8b!important}
body main.berke-p7 .berke-p7-decision[data-berke-surface="dark"] .berke-p7-decision__statement[data-berke-surface="light"]>span{color:#2189ac!important}

@media (max-width:60rem){
	.berke-p7 .berke-p7-proof__generated img{aspect-ratio:16/9}
	.berke-p7 .berke-p7-proof__visual{max-inline-size:48rem}
}
@media (max-width:40rem){
	.berke-p7 .berke-core-container{inline-size:calc(100% - 1.25rem)!important;max-inline-size:none!important}
	.berke-p7 .berke-p7-decision__matrix{border-radius:1rem;overflow:hidden;border-inline:1px solid rgba(255,255,255,.12)}
	.berke-p7 .berke-p7-decision__statement{padding:1.2rem .9rem}
	.berke-p7 .berke-p7-decision__statement strong{font-size:1.08rem;line-height:1.75}
	.berke-p7 .berke-p7-proof__generated{border-radius:1rem}
	.berke-p7 .berke-p7-proof__generated figcaption{font-size:.7rem}
}
