/* =========================================================================
   Portosigns — A nossa história [portosigns_sobre]
   ========================================================================= */
.pab {
	--pab-cobalt: #1d3b8b;
	--pab-cobalt-d: #142b69;
	--pab-cobalt-dd: #0e1f4d;
	--pab-cobalt-l: #3a5bb5;
	--pab-sky: #e9eff9;
	--pab-tile: #f6f8fc;
	--pab-ink: #16213f;
	--pab-mute: #5a6480;
	--pab-coral: #c84b2f;
	--pab-cork: #b7895a;
	--pab-green: #2f6b5a;
	--pab-line: rgba(29, 59, 139, .12);
	--pab-r: clamp(20px, 3vw, 32px);
	--pab-pad: clamp(20px, 5vw, 72px);
	--pab-gap: clamp(64px, 9vw, 140px);
	--pab-azulejo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%231d3b8b' stroke-width='1.4'%3E%3Ccircle cx='20' cy='20' r='6.5'/%3E%3Cpath d='M20 1q8 9.5 0 19q-8-9.5 0-19zM20 39q8-9.5 0-19q-8 9.5 0 19zM1 20q9.5-8 19 0q-9.5 8-19 0zM39 20q-9.5-8-19 0q9.5 8 19 0z'/%3E%3Cpath d='M0 0l7 7M40 0l-7 7M0 40l7-7M40 40l-7-7' stroke-linecap='round'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.4' fill='%231d3b8b'/%3E%3C/svg%3E");
	--pab-azulejo-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.4'%3E%3Ccircle cx='20' cy='20' r='6.5'/%3E%3Cpath d='M20 1q8 9.5 0 19q-8-9.5 0-19zM20 39q8-9.5 0-19q-8 9.5 0 19zM1 20q9.5-8 19 0q-9.5 8-19 0zM39 20q-9.5-8-19 0q9.5 8 19 0z'/%3E%3Cpath d='M0 0l7 7M40 0l-7 7M0 40l7-7M40 40l-7-7' stroke-linecap='round'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='2.4' fill='%23ffffff'/%3E%3C/svg%3E");

	width: 100%; max-width: 1450px; margin: 0 auto !important;
	color: var(--pab-ink);
	font-family: Jost, system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 17px; line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
.pab *, .pab *::before, .pab *::after { box-sizing: border-box; }
.pab section { position: relative; }
.pab svg { display: block; }
.pab img { max-width: 100%; height: auto; }
.pab p, .pab ol, .pab figure { margin: 0; padding: 0; }
.pab ol { list-style: none; }
.pab a { text-decoration: none; }
.pab :focus-visible { outline: 2px solid var(--pab-cobalt-l); outline-offset: 3px; border-radius: 8px; }
/* botões: o tema (Astra) dá padding/fundo a todos */
.pab button, .pab button:hover, .pab button:focus, .pab button:active {
	-webkit-appearance: none; appearance: none; margin: 0; padding: 0; border: 0; border-radius: 0; min-height: 0;
	background: none; box-shadow: none; color: inherit; font: inherit; letter-spacing: normal; text-transform: none; line-height: 1.3; cursor: pointer;
}

/* ---------- tipografia ---------- */
.pab .pab-h2, .pab .pab-h3, .pab .pab-hero__t, .pab .pab-panel__t {
	margin: 0; padding: 0; font-family: "Playfair Display", Georgia, serif !important; font-weight: 600 !important;
	color: var(--pab-ink) !important; letter-spacing: -.01em; text-wrap: balance; text-transform: none;
}
.pab .pab-h2 { font-size: clamp(32px, 4.4vw, 58px) !important; line-height: 1.08 !important; }
.pab .pab-h3 { font-size: clamp(21px, 1.8vw, 25px) !important; line-height: 1.2 !important; margin-bottom: 8px; }
.pab em { font-style: italic; font-family: "Playfair Display", Georgia, serif; font-weight: 500; color: var(--pab-cobalt); }
.pab .pab-h2--light, .pab .pab-h2--light em { color: #fff !important; }
.pab .pab-p { color: var(--pab-mute); font-size: 17px; line-height: 1.7; }
.pab .pab-p--light { color: rgba(255, 255, 255, .78); }
.pab-kicker {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px !important;
	font-size: 12.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--pab-cobalt-l);
}
.pab-kicker::before { content: ""; width: 28px; height: 1.5px; background: currentColor; }
.pab-kicker--light { color: #b9c9f0; }
.pab-center { text-align: center; margin-inline: auto !important; }

/* ---------- capa ---------- */
.pab-hero {
	overflow: hidden; isolation: isolate; border-radius: var(--pab-r);
	min-height: clamp(520px, 84vh, 820px); display: flex; align-items: flex-end;
	padding: var(--pab-pad); padding-bottom: clamp(96px, 12vw, 150px);
	background: var(--pab-cobalt-dd);
}
.pab-hero__media { position: absolute; inset: -6% 0; z-index: -2; will-change: transform; }
.pab-hero__media img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 40%; opacity: 1 !important; }
.pab-hero__shade {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(180deg, rgba(14, 31, 77, .15) 0%, rgba(14, 31, 77, .2) 35%, rgba(14, 31, 77, .88) 100%),
		radial-gradient(120% 80% at 0% 100%, rgba(29, 59, 139, .55), transparent 60%);
}
.pab-hero__in { max-width: 900px; color: #fff; }
.pab-pill {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; margin-bottom: 22px !important;
	border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .28);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	font-size: 13px; font-weight: 500; letter-spacing: .06em; color: #fff;
}
.pab .pab-hero__t {
	color: #fff !important; font-size: clamp(48px, 8.4vw, 124px) !important; line-height: .98 !important; letter-spacing: -.025em;
	text-shadow: 0 10px 40px rgba(0, 0, 0, .25);
}
.pab .pab-hero__t em { color: #fff; font-weight: 500; }
.pab-hero__t .pab-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .06em; }
.pab-hero__t .pab-w > span { display: inline-block; }
.pab-hero__sub { margin-top: 20px !important; max-width: 560px; font-size: clamp(17px, 1.6vw, 21px); color: rgba(255, 255, 255, .86); }
.pab-scroll {
	position: absolute; right: var(--pab-pad); bottom: clamp(96px, 12vw, 150px);
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #fff !important; writing-mode: vertical-rl;
}
.pab-scroll i { width: 1px; height: 56px; background: linear-gradient(#fff, transparent); position: relative; overflow: hidden; }
.pab-scroll i::after { content: ""; position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: #fff; animation: pab-drip 2s cubic-bezier(.6, 0, .3, 1) infinite; }
@keyframes pab-drip { to { top: 110%; } }

/* andorinhas a voar */
.pab-birds { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.pab-bird { position: absolute; left: 0; top: 0; width: 44px; opacity: 0; color: #fff; }
.pab-bird svg { width: 100%; height: auto; fill: currentColor; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .18)); }
.pab-bird:nth-child(3n) { color: #cfe0ff; width: 30px; }
.pab-bird:nth-child(4n) { width: 56px; }

/* ---------- números ---------- */
.pab-facts {
	position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, 1fr);
	margin: clamp(-80px, -6vw, -56px) clamp(12px, 4vw, 56px) 0; padding: 8px;
	background: #fff; border-radius: calc(var(--pab-r) - 6px);
	box-shadow: 0 30px 60px -36px rgba(20, 43, 105, .55), inset 0 0 0 1px var(--pab-line);
}
@media (min-width: 900px) { .pab-facts { grid-template-columns: repeat(4, 1fr); } }
.pab-fact { display: grid; align-content: start; gap: 6px; padding: clamp(18px, 2.4vw, 32px); position: relative; }
.pab-fact + .pab-fact::before { content: ""; position: absolute; left: 0; top: 24%; bottom: 24%; width: 1px; background: var(--pab-line); }
@media (max-width: 899px) { .pab-fact:nth-child(3)::before { display: none; } .pab-fact:nth-child(n+3) { border-top: 1px solid var(--pab-line); } }
.pab-fact__n { font: 600 clamp(38px, 4.4vw, 60px)/1 "Playfair Display", Georgia, serif; color: var(--pab-cobalt); font-variant-numeric: lining-nums tabular-nums; }
.pab-fact__l { font-size: 14.5px; line-height: 1.45; color: var(--pab-mute); max-width: 22ch; }

/* ---------- história ---------- */
.pab-story {
	display: grid; gap: clamp(40px, 6vw, 96px); align-items: center;
	padding: var(--pab-gap) var(--pab-pad) 0;
}
@media (min-width: 960px) { .pab-story { grid-template-columns: 1.05fr .95fr; } }
.pab-story .pab-h2 { margin-bottom: 28px; max-width: 14ch; }
.pab .pab-lead { font-size: clamp(19px, 1.7vw, 23px); line-height: 1.6; color: var(--pab-ink); margin-bottom: 18px !important; }
.pab-lead::first-letter {
	float: left; margin: .08em .12em 0 0; padding: .04em .14em; border-radius: 10px;
	font: 600 3.1em/.82 "Playfair Display", Georgia, serif; color: #fff; background: var(--pab-cobalt);
}
.pab-story__img { position: relative; padding: 18px; }
.pab-story__img img { position: relative; z-index: 1; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 30px 60px -30px rgba(20, 43, 105, .55); }
.pab-frame {
	position: absolute; inset: 0 0 auto auto; width: 70%; height: 80%; border-radius: 22px; z-index: 0;
	background: var(--pab-sky) var(--pab-azulejo) center / 64px 64px;
}
.pab-frame::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(200deg, transparent 30%, var(--pab-sky)); }

/* ---------- frase ---------- */
.pab-statement { padding: var(--pab-gap) var(--pab-pad) 0; text-align: center; }
.pab-statement__orn { display: block; width: 64px; margin: 0 auto 26px; color: var(--pab-cobalt); }
.pab-statement__orn svg { fill: currentColor; width: 100%; height: auto; }
.pab .pab-statement__t {
	max-width: 22ch; margin: 0 auto; font: 600 clamp(30px, 4.6vw, 64px)/1.15 "Playfair Display", Georgia, serif;
	letter-spacing: -.015em; color: var(--pab-ink); text-wrap: balance;
}
.pab-statement__t .pab-sw { transition: opacity .2s; }

/* ---------- pilares (azulejos) ---------- */
.pab-pillars { display: grid; gap: 18px; padding: var(--pab-gap) var(--pab-pad) 0; perspective: 1200px; }
@media (min-width: 760px) { .pab-pillars { grid-template-columns: repeat(3, 1fr); } }
.pab-pillar {
	position: relative; overflow: hidden; padding: clamp(28px, 3vw, 40px); border-radius: 22px; min-height: 240px;
	background: #fff; box-shadow: inset 0 0 0 1px var(--pab-line), 0 24px 44px -34px rgba(20, 43, 105, .6);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s;
}
.pab-pillar:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px rgba(29, 59, 139, .22), 0 34px 54px -32px rgba(20, 43, 105, .6); }
.pab-pillar--1 { background: var(--pab-sky); }
.pab-pillar--2 { background: linear-gradient(160deg, var(--pab-cobalt), var(--pab-cobalt-d)); color: #fff; }
.pab .pab-pillar--2 .pab-h3 { color: #fff !important; }
.pab .pab-pillar--2 .pab-p { color: rgba(255, 255, 255, .78); }
.pab-pillar__ic { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 28px; border-radius: 16px; background: var(--pab-sky); color: var(--pab-cobalt); transform: rotate(45deg); }
.pab-pillar__ic svg { width: 30px; height: 30px; transform: rotate(-45deg); }
.pab-pillar--1 .pab-pillar__ic { background: #fff; }
.pab-pillar--2 .pab-pillar__ic { background: rgba(255, 255, 255, .14); color: #fff; }
.pab-pillar__orn {
	position: absolute; right: -40px; bottom: -40px; width: 150px; height: 150px; border-radius: 30px; opacity: .1;
	background: var(--pab-azulejo) center / 75px 75px; transform: rotate(0); transition: transform 1.2s cubic-bezier(.2, .7, .2, 1), opacity .4s;
}
.pab-pillar:hover .pab-pillar__orn { transform: rotate(90deg); opacity: .2; }
.pab-pillar--2 .pab-pillar__orn { background-image: var(--pab-azulejo-w); opacity: .14; }

/* ---------- cronologia ---------- */
.pab-time { padding: var(--pab-gap) var(--pab-pad) 0; }
.pab-time .pab-h2 { margin-bottom: clamp(40px, 5vw, 72px); }
.pab-time__wrap { position: relative; max-width: 1080px; margin: 0 auto; }
.pab-time__line { position: absolute; top: 0; bottom: 0; left: 23px; width: 2px; background: var(--pab-line); border-radius: 2px; overflow: hidden; }
.pab-time__line i { position: absolute; inset: 0; background: linear-gradient(var(--pab-cobalt-l), var(--pab-cobalt)); transform-origin: top; transform: scaleY(1); }
.pab-time__list { display: grid; gap: clamp(28px, 4vw, 56px); }
.pab-time__item { position: relative; padding-left: 64px; }
.pab-time__dot {
	position: absolute; left: 11px; top: 26px; width: 26px; height: 26px; border-radius: 7px; transform: rotate(45deg);
	background: #fff; box-shadow: inset 0 0 0 2px var(--pab-cobalt); transition: background .4s, box-shadow .4s;
}
.pab-time__dot::after { content: ""; position: absolute; inset: 7px; border-radius: 3px; background: var(--pab-cobalt); transform: scale(0); transition: transform .4s cubic-bezier(.2, .7, .2, 1.4); }
.pab-time__item.is-on .pab-time__dot::after { transform: scale(1); }
.pab-time__card {
	padding: clamp(24px, 2.6vw, 34px); border-radius: 20px; background: #fff;
	box-shadow: inset 0 0 0 1px var(--pab-line), 0 20px 40px -32px rgba(20, 43, 105, .55);
}
.pab-time__y { display: block; margin-bottom: 6px; font: italic 600 clamp(40px, 4.6vw, 64px)/1 "Playfair Display", Georgia, serif; color: var(--pab-cobalt); }
@media (min-width: 900px) {
	.pab-time__line { left: 50%; margin-left: -1px; }
	.pab-time__item { width: 50%; padding: 0 56px 0 0; }
	.pab-time__item.is-r { margin-left: 50%; padding: 0 0 0 56px; }
	.pab-time__dot { left: auto; right: -13px; }
	.pab-time__item.is-r .pab-time__dot { right: auto; left: -13px; }
	.pab-time__item:not(.is-r) .pab-time__card { text-align: right; }
}

/* ---------- produtos (painéis horizontais) ---------- */
.pab-prod { padding-top: var(--pab-gap); }
.pab-prod__pin { overflow: hidden; }
.pab-prod__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 0 var(--pab-pad); margin-bottom: clamp(28px, 3vw, 44px); }
.pab-prod__count { font: 500 15px/1 Jost, sans-serif; letter-spacing: .1em; color: var(--pab-mute); white-space: nowrap; }
.pab-prod__count b { font: 600 32px/1 "Playfair Display", Georgia, serif; color: var(--pab-cobalt); letter-spacing: 0; }
.pab-prod__track { display: grid; gap: 18px; padding: 0 var(--pab-pad); }
.pab-panel {
	position: relative; overflow: hidden; display: grid; gap: 28px; align-items: center;
	padding: clamp(26px, 3.4vw, 56px); border-radius: var(--pab-r); background: var(--pab-tile);
	box-shadow: inset 0 0 0 1px var(--pab-line);
}
.pab-panel:nth-child(2) { background: var(--pab-sky); }
.pab-panel--green { background: #eef4ef !important; }
.pab-panel__n { display: block; margin-bottom: 18px; font: 600 15px/1 Jost, sans-serif; letter-spacing: .2em; color: var(--pab-cobalt-l); }
.pab .pab-panel__t { font-size: clamp(28px, 3vw, 44px) !important; line-height: 1.1 !important; margin-bottom: 16px; max-width: 16ch; }
.pab-panel--green .pab-panel__n { color: var(--pab-green); }
.pab-panel__art { position: relative; min-height: 260px; display: grid; place-items: center; }
.pab-panel__ic { display: grid; place-items: center; width: 160px; height: 160px; border-radius: 40px; background: #fff; color: var(--pab-cobalt); transform: rotate(45deg); }
.pab-panel__ic svg { width: 72px; height: 72px; transform: rotate(-45deg); }
.pab-mosaic { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; width: 100%; aspect-ratio: 5 / 4; }
.pab-mosaic--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.pab-mosaic--2 { grid-template-rows: 1fr; }
.pab-mosaic__i {
	position: relative; overflow: hidden; display: block; border-radius: 18px; background: #fff;
	box-shadow: 0 18px 40px -30px rgba(20, 43, 105, .6);
}
.pab-mosaic--3 .pab-mosaic__i:first-child { grid-row: 1 / 3; }
.pab-mosaic__i img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: contain; padding: 10%; mix-blend-mode: multiply; transition: transform .8s cubic-bezier(.2, .7, .2, 1); opacity: 1 !important; }
.pab-mosaic__i:hover img { transform: scale(1.06); }
.pab-panel:nth-child(2) .pab-mosaic__i { background: #f8faff; }
.pab-link {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding-bottom: 4px;
	font-weight: 500; color: var(--pab-cobalt) !important; border-bottom: 1.5px solid currentColor;
}
.pab-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.pab-link:hover svg { transform: translateX(4px); }
.pab-prod__bar { display: none; }
/* sobreiro */
.pab-tree { width: min(100%, 420px); height: auto; overflow: visible; }
.pab-tree__ground { fill: none; stroke: var(--pab-green); stroke-width: 2; stroke-linecap: round; opacity: .35; }
.pab-tree__trunk { fill: none; stroke: var(--pab-cork); stroke-width: 12; stroke-linecap: round; stroke-linejoin: round; }
.pab-tree__bark { fill: none; stroke: #8c6239; stroke-width: 2; stroke-linecap: round; opacity: .6; }
.pab-tree__crown circle { fill: var(--pab-green); opacity: .9; }
.pab-tree__crown circle:nth-child(2n) { fill: #3d8069; }
.pab-tree__crown circle:nth-child(3n) { fill: #24584a; }
.pab-tree__leaves circle { fill: #9fd1a8; }

@media (min-width: 1024px) {
	.pab-panel { grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 4vw, 72px); }
	/* modo horizontal (ativado pelo JS) */
	.pab-prod.is-h .pab-prod__track { display: flex; flex-wrap: nowrap; gap: 24px; width: max-content; will-change: transform; }
	.pab-prod.is-h .pab-panel { width: min(1080px, calc(100vw - 2 * var(--pab-pad) - 120px)); min-height: min(560px, calc(100vh - 260px)); flex: none; }
	.pab-prod.is-h .pab-prod__bar { display: block; position: relative; height: 3px; margin: 32px var(--pab-pad) 0; border-radius: 3px; background: var(--pab-line); overflow: hidden; }
	.pab-prod.is-h .pab-prod__bar i { position: absolute; inset: 0; background: var(--pab-cobalt); transform-origin: left; transform: scaleX(0); }
}

/* ---------- vídeo ---------- */
.pab-video {
	margin-top: var(--pab-gap); overflow: hidden; isolation: isolate;
	display: grid; gap: clamp(32px, 4vw, 64px); align-items: center;
	padding: clamp(48px, 7vw, 110px) var(--pab-pad); border-radius: var(--pab-r);
	background: radial-gradient(120% 120% at 100% 0%, var(--pab-cobalt-l) 0%, var(--pab-cobalt) 35%, var(--pab-cobalt-dd) 100%);
	color: #fff;
}
.pab-video::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pab-azulejo-w) 0 0 / 70px 70px; opacity: .06; }
@media (min-width: 960px) { .pab-video { grid-template-columns: .8fr 1.2fr; } }
.pab-video .pab-h2 { margin-bottom: 18px; }
.pab-video__frame { position: relative; padding: 12px; border-radius: 26px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); }
.pab button.pab-yt {
	position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 18px; background: #000;
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7);
}
.pab-yt img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; opacity: .82 !important; transition: transform .8s cubic-bezier(.2, .7, .2, 1), opacity .4s; }
.pab button.pab-yt:hover img { transform: scale(1.04); opacity: .95 !important; }
.pab-yt__play {
	position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; margin: -44px 0 0 -44px; border-radius: 50%;
	display: grid; place-items: center; background: #fff; color: var(--pab-cobalt);
	box-shadow: 0 0 0 0 rgba(255, 255, 255, .5); animation: pab-pulse 2.4s infinite;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1.4);
}
.pab button.pab-yt:hover .pab-yt__play { transform: scale(1.1); }
.pab-yt__play svg { width: 34px; height: 34px; fill: currentColor; margin-left: 4px; }
@keyframes pab-pulse { 70% { box-shadow: 0 0 0 22px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
.pab-yt__note { position: absolute; left: 14px; bottom: 12px; font-size: 12px; color: rgba(255, 255, 255, .8); text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
.pab-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- lojas ---------- */
.pab-stores { padding: var(--pab-gap) var(--pab-pad) 0; }
.pab-stores__head { margin-bottom: clamp(32px, 4vw, 56px); }
.pab-stores__head .pab-h2 { max-width: 18ch; }
.pab-stores__grid { display: grid; gap: 18px; perspective: 1200px; }
@media (min-width: 760px) { .pab-stores__grid { grid-template-columns: repeat(3, 1fr); } }
.pab-store {
	position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start;
	padding: clamp(28px, 3vw, 40px); border-radius: 22px; background: #fff; min-height: 260px;
	box-shadow: inset 0 0 0 1px var(--pab-line), 0 24px 44px -34px rgba(20, 43, 105, .6);
}
.pab-store__n {
	position: absolute; right: 18px; top: -14px; font: italic 600 150px/1 "Playfair Display", Georgia, serif;
	color: var(--pab-sky); z-index: 0; pointer-events: none;
}
.pab-store > *:not(.pab-store__n) { position: relative; z-index: 1; }
.pab-store__a { font-size: 17px; line-height: 1.6; color: var(--pab-mute); margin-bottom: auto !important; }
.pab-store .pab-link { margin-top: 24px; }
.pab-store--contact { background: var(--pab-sky); }
.pab-store__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; margin-bottom: 18px; background: #fff; color: var(--pab-coral); }
.pab-store__ic svg { width: 24px; height: 24px; }
.pab-store__c { display: block; margin-top: 6px; font-size: 18px; font-weight: 500; color: var(--pab-cobalt) !important; word-break: break-word; }
.pab-store__c:hover { text-decoration: underline; text-underline-offset: 4px; }

.pab-reviews { padding-top: var(--pab-gap); }
.pab-reviews .prv { border-radius: var(--pab-r); }

/* ---------- convite ---------- */
.pab-cta {
	margin-top: var(--pab-gap); overflow: hidden; isolation: isolate; text-align: center;
	padding: clamp(64px, 9vw, 140px) var(--pab-pad); border-radius: var(--pab-r);
	background: linear-gradient(160deg, var(--pab-cobalt) 0%, var(--pab-cobalt-dd) 100%); color: #fff;
}
.pab-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pab-azulejo-w) 0 0 / 70px 70px; opacity: .07; }
.pab-cta .pab-h2 { margin: 0 auto 16px; max-width: 16ch; }
.pab-cta .pab-p { max-width: 540px; margin: 0 auto !important; }
.pab-cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }
.pab-btn {
	display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px;
	font-size: 16px; font-weight: 500; transition: transform .25s, background .25s, box-shadow .25s;
}
.pab-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.pab-btn:hover svg { transform: translateX(4px); }
.pab-btn--light { background: #fff; color: var(--pab-cobalt) !important; box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5); }
.pab-btn--light:hover { transform: translateY(-2px); }
.pab-btn--ghost { color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
.pab-btn--ghost:hover { background: rgba(255, 255, 255, .1); }
.pab-birds--cta .pab-bird { color: rgba(255, 255, 255, .5); }

/* ---------- telemóvel ---------- */
@media (max-width: 599px) {
	.pab { font-size: 16px; }
	.pab-hero { min-height: 82svh; align-items: flex-end; }
	.pab-scroll { display: none; }
	.pab-facts { margin-left: 10px; margin-right: 10px; }
	.pab-fact { padding: 18px 16px; }
	.pab-fact__l { font-size: 13.5px; }
	.pab-story__img { padding: 12px; }
	.pab .pab-p { font-size: 16px; }
	.pab-pillar { min-height: 0; }
	.pab-panel__art { min-height: 0; }
	.pab-yt__play { width: 68px; height: 68px; margin: -34px 0 0 -34px; }
	.pab-btn { width: 100%; justify-content: center; }
	.pab-store__n { font-size: 120px; }
}

@media (prefers-reduced-motion: reduce) {
	.pab-scroll i::after, .pab-yt__play { animation: none; }
	.pab-pillar, .pab-pillar__orn, .pab-mosaic__i img { transition: none; }
}
@media (max-width: 1023px) { .pab-prod__count { display: none; } }
