/* =============================================================================
 *  HANAMI GANDUR CREATIVE — MAIN STYLESHEET
 *  Cores são injetadas dinamicamente via :root pelo functions.php
 * =========================================================================== */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
	--muted: #7a7268;
	--line: rgba(180,160,140,0.2);
}

html { scroll-behavior: smooth; }

body {
	background: var(--ink);
	color: var(--paper);
	font-family: 'Jost', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.75;
	overflow-x: hidden;
	cursor: default;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

/* ── NOISE OVERLAY ── */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	opacity: 0.025;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
	pointer-events: none;
	z-index: 0;
}

/* ── CURSOR ── */
.cursor {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--sakura);
	position: fixed; top: 0; left: 0;
	pointer-events: none;
	z-index: 9999;
	transition: transform 0.15s ease, opacity 0.3s;
	transform: translate(-50%, -50%);
}
.cursor-ring {
	width: 28px; height: 28px;
	border-radius: 50%;
	border: 1px solid rgba(201,163,181,0.4);
	position: fixed; top: 0; left: 0;
	pointer-events: none;
	z-index: 9998;
	transition: transform 0.35s cubic-bezier(.17,.67,.38,.99), opacity 0.3s, border-color 0.3s;
	transform: translate(-50%, -50%);
}

/* ── NAV ── */
.hanami-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	padding: 2rem 4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(to bottom, rgba(13,12,11,0.95) 0%, transparent 100%);
}

.nav-logo {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.1rem;
	font-weight: 300;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--paper);
	text-decoration: none;
	opacity: 0.9;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.nav-logo span { color: var(--sakura); }
.nav-logo .custom-logo { max-height: 50px; width: auto; }
.nav-logo .custom-logo-link { display: flex; align-items: center; }

.nav-links {
	display: flex;
	gap: 3rem;
	list-style: none;
}
.nav-links a {
	font-size: 0.75rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--paper);
	text-decoration: none;
	opacity: 0.6;
	transition: opacity 0.3s, color 0.3s;
}
.nav-links a:hover { opacity: 1; color: var(--sakura-light); }

/* ── HERO ── */
#home {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 4rem 5rem;
	position: relative;
	overflow: hidden;
}

.hero-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 75% 40%, rgba(138,96,112,0.08) 0%, transparent 60%),
		radial-gradient(ellipse 40% 50% at 20% 70%, rgba(184,149,90,0.04) 0%, transparent 50%),
		var(--ink);
}

.hero-petals { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.petal {
	position: absolute;
	width: 6px; height: 8px;
	border-radius: 50% 0 50% 0;
	background: rgba(201,163,181,0.12);
	animation: fall linear infinite;
}
.petal:nth-child(1) { left: 10%; width: 5px; height: 7px; animation-duration: 18s; animation-delay: -3s;  opacity: 0.4;  }
.petal:nth-child(2) { left: 20%; width: 4px; height: 6px; animation-duration: 22s; animation-delay: -8s;  opacity: 0.25; }
.petal:nth-child(3) { left: 35%; width: 6px; height: 8px; animation-duration: 16s; animation-delay: -1s;  opacity: 0.35; }
.petal:nth-child(4) { left: 55%; width: 3px; height: 5px; animation-duration: 25s; animation-delay: -12s; opacity: 0.2;  }
.petal:nth-child(5) { left: 70%; width: 5px; height: 7px; animation-duration: 20s; animation-delay: -6s;  opacity: 0.3;  }
.petal:nth-child(6) { left: 80%; width: 4px; height: 6px; animation-duration: 14s; animation-delay: -4s;  opacity: 0.4;  }
.petal:nth-child(7) { left: 92%; width: 7px; height: 9px; animation-duration: 19s; animation-delay: -9s;  opacity: 0.2;  }

@keyframes fall {
	0%   { transform: translateY(-10vh) translateX(0) rotate(0deg); opacity: 0; }
	10%  { opacity: 0.5; }
	90%  { opacity: 0.2; }
	100% { transform: translateY(110vh) translateX(60px) rotate(360deg); opacity: 0; }
}

.hero-tag {
	font-size: 0.7rem;
	letter-spacing: 0.4em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.8;
	margin-bottom: 1.5rem;
	position: relative;
	z-index: 1;
	animation: fadeUp 1.2s ease both;
}

.hero-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(3.5rem, 8vw, 7rem);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.01em;
	position: relative;
	z-index: 1;
	animation: fadeUp 1.2s ease 0.15s both;
}
.hero-title em { font-style: italic; color: var(--sakura-light); }

.hero-subtitle {
	max-width: 520px;
	font-size: 0.95rem;
	font-weight: 300;
	color: rgba(244,240,234,0.55);
	line-height: 1.8;
	margin-top: 2rem;
	position: relative;
	z-index: 1;
	animation: fadeUp 1.2s ease 0.3s both;
}

.hero-scroll {
	position: absolute;
	bottom: 2.5rem;
	right: 4rem;
	writing-mode: vertical-rl;
	font-size: 0.65rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--muted);
	display: flex;
	align-items: center;
	gap: 1rem;
	animation: fadeUp 1.2s ease 0.6s both;
}
.hero-scroll::after {
	content: '';
	display: block;
	width: 1px; height: 60px;
	background: linear-gradient(to bottom, var(--muted), transparent);
}

.hero-line {
	position: absolute;
	top: 30%;
	right: 0;
	width: 1px;
	height: 40%;
	background: linear-gradient(to bottom, transparent, rgba(201,163,181,0.15), transparent);
}

/* ── SECTION SHARED ── */
section { padding: 8rem 4rem; position: relative; }

.section-tag {
	font-size: 0.65rem;
	letter-spacing: 0.45em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.7;
	margin-bottom: 1rem;
}

.section-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	font-weight: 300;
	line-height: 1.15;
	margin-bottom: 3rem;
}
.section-title em { font-style: italic; color: var(--sakura-light); }

.divider {
	width: 40px;
	height: 1px;
	background: var(--sakura-dark);
	margin-bottom: 3rem;
	opacity: 0.6;
}

/* ── SOBRE ── */
#sobre {
	background: var(--ink-soft);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
	align-items: center;
}

.sobre-visual { position: relative; height: 500px; }
.sobre-frame {
	position: absolute;
	inset: 0;
	border: 1px solid var(--line);
	border-radius: 2px;
}
.sobre-frame::before {
	content: '';
	position: absolute;
	top: 1.5rem; left: 1.5rem; right: 1.5rem; bottom: 1.5rem;
	border: 1px solid rgba(201,163,181,0.1);
	border-radius: 1px;
}
.sobre-inner {
	position: absolute;
	inset: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
}
.sobre-logo-img {
	max-width: 220px;
	max-height: 220px;
	width: auto;
	height: auto;
	filter: invert(1) hue-rotate(180deg);
	opacity: 0.85;
}
.logo-circle {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	border: 1px solid rgba(201,163,181,0.25);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.logo-circle::after {
	content: '';
	position: absolute;
	inset: 6px;
	border-radius: 50%;
	border: 1px solid rgba(201,163,181,0.12);
}
.logo-name {
	font-family: 'Jost', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	color: var(--paper);
	text-transform: uppercase;
}
.logo-sub {
	font-size: 0.55rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.8;
	margin-top: 2px;
}
.sakura-icons { display: flex; gap: 8px; margin-top: 6px; }
.sakura-icon { font-size: 1rem; color: var(--sakura); opacity: 0.5; }

.sobre-stat { position: absolute; font-family: 'Cormorant Garamond', serif; }
.sobre-stat-num {
	font-size: 3rem;
	font-weight: 300;
	color: var(--paper);
	line-height: 1;
	opacity: 0.15;
}
.sobre-stat-label {
	font-size: 0.65rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--muted);
}
.sobre-stat:nth-of-type(1) { bottom: 3rem; left: 2rem; }
.sobre-stat:nth-of-type(2) { top: 3rem; right: 2rem; text-align: right; }

.sobre-text p {
	color: rgba(244,240,234,0.6);
	font-size: 0.95rem;
	line-height: 1.9;
	margin-bottom: 1.5rem;
}
.sobre-text p strong { color: var(--paper); font-weight: 400; }
.sobre-text p.section-tag { color: var(--sakura); margin-bottom: 1rem; }

.sobre-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; }
.pill {
	font-size: 0.65rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	padding: 0.4rem 1rem;
	border: 1px solid var(--line);
	color: var(--muted);
	border-radius: 100px;
	transition: border-color 0.3s, color 0.3s;
}
.pill:hover { border-color: var(--sakura-dark); color: var(--sakura-light); }

/* ── SERVICES ── */
#servicos { background: var(--ink); }

.services-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 4rem;
}
.services-header-desc {
	font-size: 0.8rem;
	color: var(--muted);
	max-width: 240px;
	text-align: right;
	line-height: 1.7;
}

.services-grid {
	display: grid;
	gap: 2px;
}
.services-grid-cols-1 { grid-template-columns: 1fr; }
.services-grid-cols-2 { grid-template-columns: 1fr 1fr; }

.service-category {
	background: var(--ink-soft);
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: background 0.4s;
}
.service-category:hover { background: #201d1b; }

.service-category-inner { padding: 3rem; position: relative; z-index: 1; }

.service-category-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 5rem;
	font-weight: 300;
	color: rgba(255,255,255,0.04);
	position: absolute;
	top: 1rem; right: 2rem;
	line-height: 1;
	pointer-events: none;
	transition: color 0.4s, transform 0.4s;
}
.service-category:hover .service-category-num {
	color: rgba(201,163,181,0.07);
	transform: scale(1.1) translateY(-5px);
}

.service-category-icon {
	width: 40px; height: 40px;
	border: 1px solid var(--line);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
	font-size: 1.1rem;
	color: var(--sakura);
	transition: border-color 0.3s, background 0.3s;
}
.service-category:hover .service-category-icon {
	border-color: var(--sakura-dark);
	background: rgba(201,163,181,0.06);
}

.service-category-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 2rem;
	font-weight: 300;
	margin-bottom: 0.4rem;
	color: var(--paper);
}
.service-category-sub {
	font-size: 0.7rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.6;
	margin-bottom: 2.5rem;
}

.service-items { list-style: none; display: flex; flex-direction: column; gap: 0; }
.service-item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.9rem 0;
	border-top: 1px solid var(--line);
	font-size: 0.85rem;
	color: rgba(244,240,234,0.55);
	transition: color 0.3s, padding-left 0.3s;
}
.service-item:hover { color: var(--paper); padding-left: 0.5rem; }
.service-item::before {
	content: '';
	width: 20px; height: 1px;
	background: var(--sakura-dark);
	opacity: 0.5;
	flex-shrink: 0;
	transition: width 0.3s, opacity 0.3s;
}
.service-item:hover::before { width: 30px; opacity: 1; }

.service-cta {
	margin-top: 2.5rem;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.7rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.6;
	transition: opacity 0.3s, gap 0.3s;
	cursor: pointer;
}
.service-category:hover .service-cta { opacity: 1; gap: 1rem; }
.service-cta-line { width: 30px; height: 1px; background: var(--sakura); transition: width 0.3s; }
.service-category:hover .service-cta-line { width: 45px; }

/* ── PHILOSOPHY STRIP ── */
.philosophy-strip {
	background: var(--sakura-dark);
	padding: 3rem 4rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	overflow: hidden;
	position: relative;
}
.philosophy-strip::before {
	content: '花見';
	position: absolute;
	font-family: 'Cormorant Garamond', serif;
	font-size: 8rem;
	color: rgba(255,255,255,0.04);
	right: 2rem;
	line-height: 1;
	pointer-events: none;
}
.philosophy-quote {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5rem;
	font-weight: 300;
	font-style: italic;
	color: var(--paper-warm);
	max-width: 600px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.philosophy-attrib {
	font-size: 0.65rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(244,240,234,0.5);
	flex-shrink: 0;
	position: relative;
	z-index: 1;
}

/* ── CONTATO ── */
#contato {
	background: var(--ink-soft);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
	align-items: start;
}

.contato-info-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 0.8rem;
	font-weight: 300;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 0.5rem;
}
.contato-info-value {
	font-size: 1rem;
	color: var(--paper);
	margin-bottom: 2rem;
}
.contato-info-value a { color: var(--sakura-light); text-decoration: none; transition: color 0.3s; }
.contato-info-value a:hover { color: var(--paper); }

.contato-social { display: flex; gap: 1rem; margin-top: 3rem; }
.social-link {
	width: 38px; height: 38px;
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	color: var(--muted);
	text-decoration: none;
	transition: border-color 0.3s, color 0.3s, background 0.3s;
}
.social-link:hover {
	border-color: var(--sakura-dark);
	color: var(--sakura-light);
	background: rgba(201,163,181,0.05);
}

/* ── FORM ── */
.hanami-form { display: block; }
.form-group { margin-bottom: 2rem; }
.form-label {
	display: block;
	font-size: 0.65rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 0.75rem;
}
.form-input,
.form-textarea,
.form-select {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--line);
	color: var(--paper);
	font-family: 'Jost', sans-serif;
	font-size: 0.95rem;
	font-weight: 300;
	padding: 0.75rem 0;
	outline: none;
	transition: border-color 0.3s;
	appearance: none;
	border-radius: 0;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus { border-color: var(--sakura-dark); }
.form-input::placeholder,
.form-textarea::placeholder { color: rgba(244,240,234,0.2); }
.form-textarea { resize: vertical; min-height: 120px; }
.form-select {
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7268' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0 center;
	padding-right: 1.5rem;
}
.form-select option,
.form-select optgroup { background: #1a1917; color: var(--paper); }

.btn-submit {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 2.5rem;
	background: transparent;
	border: 1px solid rgba(201,163,181,0.35);
	color: var(--paper);
	font-family: 'Jost', sans-serif;
	font-size: 0.7rem;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s, border-color 0.3s, gap 0.3s;
}
.btn-submit:hover {
	background: rgba(201,163,181,0.08);
	border-color: var(--sakura);
	gap: 1.5rem;
}
.btn-submit:disabled { opacity: 0.5; cursor: not-allowed; }

.btn-arrow {
	width: 20px; height: 1px;
	background: var(--sakura);
	position: relative;
	transition: width 0.3s;
}
.btn-arrow::after {
	content: '';
	position: absolute;
	right: 0; top: -3px;
	width: 6px; height: 6px;
	border-top: 1px solid var(--sakura);
	border-right: 1px solid var(--sakura);
	transform: rotate(45deg);
}
.btn-submit:hover .btn-arrow { width: 30px; }

.form-error {
	margin-top: 1rem;
	font-size: 0.8rem;
	color: #d68a8a;
	min-height: 1.2em;
}

.form-success { display: none; text-align: center; padding: 3rem 0; }
.form-success.show { display: block; animation: fadeUp 0.8s ease both; }
.form-success-icon {
	font-family: 'Cormorant Garamond', serif;
	font-size: 3rem;
	color: var(--sakura);
	margin-bottom: 1rem;
}
.form-success-text {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.5rem;
	font-weight: 300;
	font-style: italic;
	color: var(--paper);
}
.form-success-sub { font-size: 0.8rem; color: var(--muted); margin-top: 0.5rem; }

/* ── FOOTER ── */
.hanami-footer {
	padding: 3rem 4rem;
	border-top: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--ink);
}
.footer-brand {
	font-family: 'Cormorant Garamond', serif;
	font-size: 0.85rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--paper);
	opacity: 0.4;
}
.footer-credits {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	color: var(--muted);
	opacity: 0.5;
}
.footer-sakura {
	font-size: 0.9rem;
	color: var(--sakura);
	opacity: 0.3;
	letter-spacing: 0.5em;
}

/* ── ANIMATIONS ── */
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ── WORDPRESS COMPATIBILITY ── */
.alignleft   { float: left;  margin: 0 1.5em 1em 0; }
.alignright  { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin: 0 auto 1em; }
.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px; width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

/* ── ADMIN BAR ── */
.admin-bar .hanami-nav { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .hanami-nav { top: 46px; }
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
	.hanami-nav { padding: 1.5rem 2rem; }
	.nav-links { display: none; }
	section { padding: 5rem 2rem; }
	#home { padding: 0 2rem 4rem; }
	#sobre { grid-template-columns: 1fr; gap: 3rem; }
	.sobre-visual { height: 300px; }
	.services-grid-cols-2 { grid-template-columns: 1fr; }
	#contato { grid-template-columns: 1fr; gap: 3rem; }
	.hanami-footer { flex-direction: column; gap: 1rem; text-align: center; padding: 2rem; }
	.hero-scroll { display: none; }
	.philosophy-strip { flex-direction: column; padding: 2.5rem 2rem; }
	.services-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
	.services-header-desc { text-align: left; max-width: 100%; }
	.cursor, .cursor-ring { display: none; }
}

@media (max-width: 480px) {
	.hero-title { font-size: 2.5rem !important; }
	.section-title { font-size: 1.8rem; }
	.service-category-inner { padding: 2rem; }
	.philosophy-quote { font-size: 1.15rem; }
}

/* ─────────────────────────────────────────────────────────────────────────
 *  SPLASH (Tela de abertura)
 * ───────────────────────────────────────────────────────────────────────── */
.hanami-splash {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--ink);
	overflow: hidden;
	padding: 4rem;
}

.hanami-splash::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 50% at 50% 50%, rgba(138, 96, 112, 0.10) 0%, transparent 65%),
		radial-gradient(ellipse 30% 40% at 80% 30%, rgba(184, 149, 90, 0.04) 0%, transparent 50%);
	pointer-events: none;
}

.hanami-splash::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 60px;
	background: linear-gradient(to bottom, transparent, var(--sakura-dark));
	opacity: 0.4;
	transform: translateX(-50%);
}

.splash-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	z-index: 1;
	animation: splashIn 1.6s cubic-bezier(.2,.6,.2,1) both;
}

@keyframes splashIn {
	0%   { opacity: 0; transform: translateY(20px) scale(0.96); filter: blur(8px); }
	100% { opacity: 1; transform: translateY(0)    scale(1);    filter: blur(0); }
}

.splash-logo {
	max-width: min(420px, 60vw);
	max-height: 60vh;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	/* Inverte logos pretas para aparecerem em claro sobre o fundo escuro */
	filter: invert(1) hue-rotate(180deg) brightness(1.05);
	opacity: 0.92;
}

.splash-logo--text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	filter: none;
	opacity: 1;
}

.splash-logo-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: clamp(3rem, 7vw, 5.5rem);
	font-weight: 300;
	letter-spacing: 0.18em;
	color: var(--paper);
	text-transform: uppercase;
	line-height: 1;
}

.splash-logo-sub {
	font-size: 0.75rem;
	letter-spacing: 0.45em;
	text-transform: uppercase;
	color: var(--sakura);
	opacity: 0.85;
}

.splash-flowers {
	display: flex;
	gap: 1rem;
	margin-top: 0.4rem;
	font-size: 0.9rem;
	color: var(--sakura);
	opacity: 0.55;
	letter-spacing: 0.5em;
}

.splash-tagline {
	font-family: 'Cormorant Garamond', serif;
	font-style: italic;
	font-size: 1.1rem;
	font-weight: 300;
	color: rgba(244, 240, 234, 0.55);
	letter-spacing: 0.05em;
	text-align: center;
	max-width: 480px;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.splash-scroll-cue {
	position: absolute;
	bottom: 3rem;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(201, 163, 181, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color 0.3s, transform 0.3s;
	text-decoration: none;
	z-index: 2;
	animation: splashCueFade 1s ease 1.4s both, splashCueBounce 2.4s ease-in-out 2.4s infinite;
}

.splash-scroll-cue:hover {
	border-color: var(--sakura);
	transform: translateX(-50%) translateY(4px);
}

.splash-scroll-cue-line {
	width: 1px;
	height: 12px;
	background: var(--sakura);
	position: relative;
}
.splash-scroll-cue-line::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 5px;
	height: 5px;
	border-right: 1px solid var(--sakura);
	border-bottom: 1px solid var(--sakura);
}

@keyframes splashCueFade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes splashCueBounce {
	0%, 100% { transform: translateX(-50%) translateY(0); }
	50%      { transform: translateX(-50%) translateY(6px); }
}

/* Esconde "scroll" do hero quando o splash está ativo (visual cleaner) */
.hanami-splash + #home .hero-scroll {
	display: none;
}

/* ─────────────────────────────────────────────────────────────────────────
 *  SOBRE — modo foto (sem moldura)
 * ───────────────────────────────────────────────────────────────────────── */
.sobre-visual--photo {
	position: relative;
	height: auto;
	min-height: 500px;
	display: flex;
	align-items: stretch;
}

.sobre-photo {
	width: 100%;
	height: 100%;
	min-height: 500px;
	max-height: 640px;
	object-fit: cover;
	object-position: center;
	display: block;
	/* Tratamento cinematográfico sutil — apenas se a foto for muito clara */
	filter: contrast(1.02) saturate(0.92);
	/* Borda fina opcional, quase invisível, pra "encaixar" no tema */
	border: 1px solid rgba(255, 255, 255, 0.03);
	/* Sombra muito sutil pra dar profundidade sem moldura visível */
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
}

/* Stats flutuantes sobre a foto (quando habilitados) */
.sobre-stat--floating {
	z-index: 2;
}

.sobre-stat--floating .sobre-stat-num {
	opacity: 0.95;
	color: var(--paper);
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
}

.sobre-stat--floating .sobre-stat-label {
	color: var(--paper-warm);
	opacity: 0.85;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
}

.sobre-stat--bottom-left {
	position: absolute;
	bottom: 1.5rem;
	left: 1.5rem;
	padding: 0.8rem 1rem;
	background: linear-gradient(135deg, rgba(13, 12, 11, 0.65), rgba(13, 12, 11, 0.3));
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-left: 1px solid rgba(201, 163, 181, 0.4);
}

.sobre-stat--top-right {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	text-align: right;
	padding: 0.8rem 1rem;
	background: linear-gradient(225deg, rgba(13, 12, 11, 0.65), rgba(13, 12, 11, 0.3));
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-right: 1px solid rgba(201, 163, 181, 0.4);
}

@media (max-width: 900px) {
	.sobre-visual--photo { min-height: 360px; }
	.sobre-photo { min-height: 360px; max-height: 480px; }
	.hanami-splash { padding: 2rem; }
	.splash-scroll-cue { bottom: 2rem; }
}
