* {
	box-sizing:border-box
}
html {
	color-scheme:light;
	min-height:100%;
	background:var(--page-bg,var(--bg,#f2f5f8))
}
body {
	margin:0;
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--ink,#142c44);
	line-height:1.6;
	-webkit-text-size-adjust:100%
}
a {
	color:inherit
}
button,a {
	-webkit-tap-highlight-color:transparent
}
a:focus-visible,[tabindex]:focus-visible {
	outline:3px solid currentColor;
	outline-offset:5px
}
.skip {
	position:absolute;
	left:16px;
	top:-120px;
	padding:12px;
	background:#fff;
	color:#142c44;
	z-index:2
}
.skip:focus {
	top:12px
}
.bio {
	max-width:512px;
	margin:auto;
	padding:48px 22px 28px;
	padding-bottom:max(28px,env(safe-area-inset-bottom));
	min-height:100svh
}
.profile {
	text-align:center;
	margin-bottom:30px
}
.avatar {
	display:block;
	width:var(--logo-size,112px);
	height:var(--logo-size,112px);
	object-fit:contain;
	border-radius:var(--logo-radius,28px);
	margin:0 auto 22px;
	background:#fff;
	box-shadow:0 8px 28px #0000000c
}
.monogram {
	display:grid;
	place-items:center;
	font-size:52px;
	font-weight:800;
	background:var(--button);
	color:var(--button-ink)
}
.eyebrow {
	font-size:10px;
	font-weight:750;
	letter-spacing:.18em;
	margin:0 0 12px
}
h1 {
	font-size:clamp(20px,5.2vw,24px);
	line-height:1.22;
	letter-spacing:-.035em;
	margin:0 auto 14px;
	max-width:440px;
	overflow-wrap:anywhere
}
.description {
	font-size:15px;
	max-width:350px;
	margin:0 auto;
	white-space:pre-line;
	overflow-wrap:anywhere
}
.links {
	display:grid;
	gap:13px
}
.bio-link {
	display:flex;
	align-items:center;
	gap:13px;
	padding:17px 19px;
	min-height:60px;
	border-radius:var(--button-radius,14px);
	background:var(--btn-bg,var(--button));
	color:var(--button-ink);
	text-decoration:none;
	font-weight:650;
	font-size:15px;
	box-shadow:var(--btn-shadow,0 4px 10px #00000009)
}
.bio-link svg {
	flex-shrink:0
}
.bio-link>span:first-of-type {
	flex:1;
	overflow-wrap:anywhere
}
.arrow {
	font-size:20px;
	font-weight:400;
	flex-shrink:0
}
.bio-link:focus-visible {
	outline:3px solid #fff;
	box-shadow:0 0 0 6px #000
}
.socials {
	display:flex;
	justify-content:center;
	gap:4px;
	flex-wrap:wrap;
	margin:26px 0 0
}
.socials a {
	width:44px;
	height:44px;
	display:grid;
	place-items:center;
	border:0;
	border-radius:8px;
	text-decoration:none
}
footer {
	text-align:center;
	margin-top:42px;
	font-size:11px
}
footer a {
	display:block;
	font-size:13px;
	font-weight:800;
	letter-spacing:.095em;
	text-decoration:none;
	margin-bottom:5px
}
footer span {
	display:block
}
.preview {
	padding:14px;
	border:2px dashed currentColor;
	margin-bottom:24px;
	font-size:13px
}
.empty {
	text-align:center;
	font-size:14px;
	border:1px dashed currentColor;
	padding:20px;
	border-radius:14px
}
@media(hover:hover) {
	.bio-link:hover {
		transform:translateY(-2px)
	}
	.socials a:hover {
		outline:1px solid currentColor;
		outline-offset:2px
	}

}
@media(prefers-reduced-motion:no-preference) {
	.bio-link {
		transition:transform .16s ease
	}

}
@media(max-width:350px) {
	.bio {
		padding:30px 16px
	}
	.bio-link {
		padding:15px 14px
	}

}
@media(forced-colors:active) {
	.bio-link,.avatar {
		border:1px solid CanvasText
	}

}
.socials svg {
	width:28px;
	height:28px
}
/* Apresentação 1.3.1: uma regra por estilo; variáveis globais são a fonte dos efeitos. */
.bio { position:relative; z-index:1; }
.bio-link { border:var(--btn-border-width,0) solid var(--btn-border-color,transparent); }
.button-copy { display:flex; flex-direction:column; min-width:0; }
.button-title { display:block; }
.button-subtitle { display:block; font-size:12px; font-weight:450; line-height:1.5; color:var(--btn-subtitle,currentColor); margin-top:3px; }
.design-13 .button-copy { border-radius:10px; }
.design-13:not(.button-glass) .bio-link:not(.is-featured) .button-copy { background:var(--btn-label-bg,transparent); }
.design-13 .button-copy:has(.button-subtitle) { padding:2px 0; }
.is-featured { background:var(--featured-bg); color:var(--featured-ink); border-color:var(--featured-bg); text-shadow:none; }
.is-featured .button-copy { background:transparent; }
.is-featured .button-subtitle { color:var(--featured-subtitle); }
.avatar { outline:var(--avatar-ring,0 solid transparent); outline-offset:4px; }
.monogram { color:var(--avatar-ink,var(--button-ink)); }
.arrow svg { display:block; }
.button-glass .bio-link:not(.is-featured) {
 background-image:none;
 -webkit-backdrop-filter:blur(12px);
 backdrop-filter:blur(12px);
 text-shadow:0 1px 3px rgba(0,0,0,.35);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
 .button-glass .bio-link { -webkit-backdrop-filter:none; backdrop-filter:none; }
}
.has-glows::before { filter:blur(20px); content:""; position:fixed; inset:0; pointer-events:none; z-index:0; background:radial-gradient(ellipse at 15% 16%,var(--glow-1),transparent 62%),radial-gradient(ellipse at 90% 70%,var(--glow-2),transparent 64%); }
/* Automático preserva o apoio da versão anterior somente quando necessário. */
.text-support-auto.text-plate :is(.profile,.socials,footer,.preview,.empty) { background:rgba(6,18,60,.78); border-radius:20px; padding:20px; }
.design-legacy.text-support-auto.text-plate :is(.profile,.socials,footer,.preview,.empty) { background:#fff; }
.text-support-auto.text-plate .socials { padding:10px; }
.text-support-auto.text-plate footer { padding:14px; }
/* Estes modos nunca usam o fundo escuro, mesmo com a classe text-plate. */
.text-support-glass :is(.profile,.socials,footer,.preview,.empty) { background:rgba(255,255,255,.12); border-radius:20px; padding:20px; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); text-shadow:0 1px 3px rgba(0,0,0,.35); }
.text-support-glass .socials { padding:10px; }
.text-support-glass footer { padding:14px; }
.text-support-off :is(.profile,.socials,footer,.preview,.empty) { background:transparent; box-shadow:none; text-shadow:0 1px 3px rgba(0,0,0,.4); }
@media(forced-colors:active) {
 .bio-link,.is-featured { border:1px solid ButtonText; background:ButtonFace; color:ButtonText; text-shadow:none; }
 .button-subtitle { color:ButtonText; }
 .button-copy { background:transparent!important; }
 .has-glows::before { display:none; }
}

/* O anel fica no contêiner; o recorte nunca altera o arquivo do attachment. */
.logo-frame { aspect-ratio:1 / 1; overflow:hidden; }
.logo-frame picture { display:block; width:100%; height:100%; }
.logo-frame img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; border-radius:0; margin:0; }
.logo-frame.logo-circle { border-radius:50%; }
.logo-frame.logo-rounded img,.logo-frame.logo-circle.logo-cover img { object-fit:cover; }
.logo-frame.logo-circle.logo-contain img { object-fit:contain; padding:12%; background:#fff; }
