/* ==========================================================================
   CREA – Creative Digital Studio
   All styles are scoped to .crea-site so the plugin works on any theme.
   ========================================================================== */

.crea-site {
	--crea-ink: #1f1b2e;
	--crea-ink-2: #4a4560;
	--crea-muted: #77728a;
	--crea-line: rgba(31, 27, 46, .09);
	--crea-paper: #fbf9fc;
	--crea-card: rgba(255, 255, 255, .62);
	--crea-purple: #7b4fe6;
	--crea-purple-2: #6a3fd6;
	--crea-cyan: #1cc8f7;
	--crea-blue: #3a8dff;
	--crea-pink: #f062c0;
	--crea-peach: #ffb98a;
	--crea-grad: linear-gradient(100deg, #7fe0d6 0%, #1cc8f7 16%, #3a8dff 34%, #8b5cf6 52%, #e266cf 70%, #ff8a9a 86%, #ffc27a 100%);
	--crea-grad-soft: linear-gradient(135deg, #e9f8ff 0%, #efe8ff 45%, #ffe9f4 75%, #fff1e4 100%);
	--crea-serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;
	--crea-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--crea-radius: 28px;
	--crea-radius-sm: 16px;
	--crea-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 20px 50px -24px rgba(83, 52, 160, .28);
	--crea-container: 1200px;
	--crea-gutter: clamp(16px, 4vw, 40px);

	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--crea-paper);
	color: var(--crea-ink);
	font-family: var(--crea-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

.crea-site *,
.crea-site *::before,
.crea-site *::after { box-sizing: border-box; }

.crea-site :where(h1, h2, h3, p, ul, ol, figure, blockquote) { margin: 0; padding: 0; }
.crea-site :where(ul, ol) { list-style: none; }
.crea-site a { color: inherit; text-decoration: none; box-shadow: none; }
.crea-site img { max-width: 100%; height: auto; display: block; border: 0; }
.crea-site :where(h1, h2, h3) { font-family: var(--crea-sans); color: var(--crea-ink); letter-spacing: -.025em; text-transform: none; }
.crea-site :focus-visible { outline: 2px solid var(--crea-purple); outline-offset: 3px; border-radius: 8px; }

.crea-site--piece { overflow: visible; background: transparent; }

/* Full-bleed inside a theme content column */
.crea-fullbleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
body:has(.crea-fullbleed) { overflow-x: clip; }
.crea-canvas { margin: 0; background: #fbf9fc; }
.crea-canvas .crea-fullbleed { margin-left: 0; margin-right: 0; }

.crea-container { width: 100%; max-width: calc(var(--crea-container) + var(--crea-gutter) * 2); margin: 0 auto; padding: 0 var(--crea-gutter); }

.crea-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.crea-skip { position: absolute; left: 16px; top: -60px; z-index: 50; background: var(--crea-ink); color: #fff !important; padding: 10px 16px; border-radius: 10px; transition: top .2s; }
.crea-skip:focus { top: 12px; }

/* Ambient background blobs ---------------------------------------------- */
.crea-bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.crea-bg span { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55; }
.crea-bg span:nth-child(1) { width: 520px; height: 520px; top: -160px; right: -120px; background: #e6d9ff; }
.crea-bg span:nth-child(2) { width: 460px; height: 460px; top: 380px; left: -200px; background: #d6f2ff; }
.crea-bg span:nth-child(3) { width: 420px; height: 420px; bottom: -160px; right: 10%; background: #ffe0ee; }

/* Type ------------------------------------------------------------------ */
.crea-eyebrow {
	display: inline-flex; align-items: center; gap: .6em;
	font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--crea-ink-2); margin-bottom: 20px;
}
.crea-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--crea-grad); }

.crea-display {
	font-size: clamp(42px, 6.4vw, 84px); line-height: 1.02; font-weight: 400;
	letter-spacing: -.04em; margin-bottom: 24px;
}
.crea-display--md { font-size: clamp(38px, 5vw, 64px); }
.crea-h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; font-weight: 400; letter-spacing: -.035em; }

.crea-site em {
	font-family: var(--crea-serif); font-style: italic; font-weight: 400; letter-spacing: -.01em;
	background: linear-gradient(95deg, #3a8dff 0%, #8b5cf6 40%, #e266cf 75%, #ff9a8a 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
	padding-right: .02em; margin-right: -.04em;
}

.crea-lead { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.6; color: var(--crea-ink-2); max-width: 34em; }

/* Buttons --------------------------------------------------------------- */
.crea-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 0 24px; border-radius: 999px; border: 1px solid transparent;
	font: 500 15px/1 var(--crea-sans); letter-spacing: -.005em; cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
	white-space: nowrap;
}
.crea-btn .crea-ico { width: 18px; height: 18px; transition: transform .2s ease; }
.crea-btn:hover .crea-ico { transform: translateX(3px); }
.crea-btn--primary { background: var(--crea-purple); color: #fff !important; box-shadow: 0 10px 24px -10px rgba(123, 79, 230, .7); }
.crea-btn--primary:hover { background: var(--crea-purple-2); transform: translateY(-1px); }
.crea-btn--ghost { background: rgba(255, 255, 255, .7); color: var(--crea-ink) !important; border-color: var(--crea-line); }
.crea-btn--ghost:hover { border-color: rgba(123, 79, 230, .4); color: var(--crea-purple) !important; }
.crea-btn--light { background: #fff; color: var(--crea-ink) !important; }
.crea-btn--light:hover { transform: translateY(-1px); box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .35); }
.crea-btn--sm { min-height: 40px; padding: 0 20px; font-size: 14px; }
.crea-btn--block { width: 100%; }
.crea-btn[disabled] { opacity: .7; cursor: progress; }

.crea-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.crea-actions--center { justify-content: center; margin-top: 48px; }

.crea-ico { width: 20px; height: 20px; flex: none; }

.crea-pill {
	display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
	padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 500;
}
.crea-pill .crea-ico { width: 15px; height: 15px; }
.crea-pill--link { background: rgba(255, 255, 255, .8); color: var(--crea-purple); border: 1px solid rgba(123, 79, 230, .25); }
.crea-pill--soon { background: rgba(255, 255, 255, .75); color: #2f7fb8; border: 1px solid rgba(58, 141, 255, .2); }

/* Header ---------------------------------------------------------------- */
.crea-header { position: relative; z-index: 20; }
.crea-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 88px; }
.crea-logo { display: inline-flex; flex: none; }
.crea-logo .crea-logo__img { width: 116px; }
.crea-nav { display: flex; align-items: center; gap: 32px; }
.crea-nav__list { display: flex; gap: 28px; }
.crea-nav__list a { font-size: 14px; font-weight: 500; color: var(--crea-ink-2); padding: 6px 0; position: relative; transition: color .2s; }
.crea-nav__list a:hover { color: var(--crea-ink); }
.crea-nav__list a.is-active { color: var(--crea-ink); }
.crea-nav__list a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px; background: var(--crea-grad); }
.crea-nav__list--sub-mobile { display: none; }
.crea-nav__end { display: flex; align-items: center; gap: 18px; }

.crea-lang { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--crea-muted); }
.crea-lang a { padding: 4px 4px; color: var(--crea-muted); transition: color .2s; }
.crea-lang a:hover { color: var(--crea-ink); }
.crea-lang a.is-active { color: var(--crea-purple); }
.crea-lang span { opacity: .4; }

.crea-burger { display: none; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--crea-line); background: rgba(255, 255, 255, .75); color: var(--crea-ink); align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.crea-burger .crea-ico--close { display: none; }
.crea-header.is-open .crea-burger .crea-ico--menu { display: none; }
.crea-header.is-open .crea-burger .crea-ico--close { display: block; }

.crea-subnav { border-top: 1px solid var(--crea-line); border-bottom: 1px solid var(--crea-line); background: rgba(255, 255, 255, .45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.crea-subnav__in { display: flex; align-items: center; gap: 28px; min-height: 52px; }
.crea-subnav__label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--crea-muted); padding-right: 28px; border-right: 1px solid var(--crea-line); }
.crea-subnav ul { display: flex; gap: 6px; }
.crea-subnav a { display: block; padding: 7px 14px; border-radius: 999px; font-size: 14px; color: var(--crea-ink-2); transition: background-color .2s, color .2s; }
.crea-subnav a:hover { background: rgba(255, 255, 255, .8); color: var(--crea-ink); }
.crea-subnav a.is-active { background: #fff; color: var(--crea-purple); box-shadow: 0 4px 14px -8px rgba(83, 52, 160, .4); }

/* Hero ------------------------------------------------------------------ */
.crea-hero { position: relative; padding: clamp(40px, 7vw, 88px) 0 clamp(56px, 8vw, 104px); }
.crea-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.crea-hero__head > * { max-width: 860px; }
.crea-hero--compact { padding-bottom: clamp(24px, 4vw, 48px); }
.crea-hero__art { position: relative; min-height: 460px; }

/* Arch scene (main home) */
.crea-arch-scene { display: flex; align-items: flex-end; justify-content: center; }
.crea-arch { position: absolute; bottom: 0; border-radius: 999px 999px 32px 32px; }
.crea-arch--back { width: 78%; height: 100%; right: 0; background: linear-gradient(180deg, #f1e9ff 0%, #fde8f2 70%, #fff3e8 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9); }
.crea-arch--front { width: 54%; height: 82%; left: 6%; background: linear-gradient(170deg, #d8ccff 0%, #f3c4ea 55%, #ffd9c2 100%); overflow: hidden; box-shadow: 0 30px 60px -30px rgba(139, 92, 246, .55); }
.crea-arch__light { position: absolute; inset: 14% 18% 0; border-radius: 999px 999px 0 0; background: linear-gradient(180deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .15)); }
.crea-orb { position: absolute; border-radius: 50%; }
.crea-orb--a { width: 120px; height: 120px; left: -2%; top: 8%; background: radial-gradient(circle at 32% 30%, #fff 0%, #bfe9ff 30%, #8b5cf6 100%); opacity: .9; box-shadow: 0 24px 50px -20px rgba(58, 141, 255, .6); animation: crea-float 9s ease-in-out infinite; }
.crea-orb--b { width: 64px; height: 64px; right: 10%; bottom: 14%; background: radial-gradient(circle at 30% 30%, #fff 0%, #ffd2b8 45%, #f062c0 100%); animation: crea-float 7s ease-in-out infinite reverse; }
.crea-orb--c { width: 340px; height: 340px; right: 4%; top: 6%; background: radial-gradient(circle, #d4f1ff 0%, rgba(212, 241, 255, 0) 70%); }
.crea-orb--d { width: 90px; height: 90px; right: 6%; bottom: 14%; background: radial-gradient(circle at 30% 30%, #fff 0%, #ffd8ef 40%, #e266cf 100%); animation: crea-float 8s ease-in-out infinite; }
.crea-arch__quote { position: absolute; right: 9%; top: 18%; font-family: var(--crea-serif); font-size: clamp(26px, 2.6vw, 36px); line-height: 1.08; color: var(--crea-ink); text-align: left; }

@keyframes crea-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

/* Doors (two cards on main home) */
.crea-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: clamp(8px, 2vw, 24px); }
.crea-door {
	position: relative; display: flex; flex-direction: column; gap: 12px; overflow: hidden;
	min-height: 280px; padding: 32px; border-radius: var(--crea-radius);
	border: 1px solid rgba(255, 255, 255, .9); box-shadow: var(--crea-shadow);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
}
.crea-door:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 30px 60px -24px rgba(83, 52, 160, .38); }
.crea-door--studio { background: linear-gradient(135deg, #fdf4ff 0%, #f3e8ff 45%, #ffe8f2 100%); }
.crea-door--data { background: linear-gradient(135deg, #f2fbff 0%, #e2f4ff 55%, #eaf0ff 100%); }
.crea-door__num { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 500; color: var(--crea-muted); }
.crea-door__num .crea-ico { width: 16px; height: 16px; transition: transform .3s; }
.crea-door:hover .crea-door__num .crea-ico { transform: translateX(4px); }
.crea-door__title { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.08; font-weight: 400; max-width: 9em; margin-top: 28px; }
.crea-door__desc { font-size: 15px; color: var(--crea-ink-2); max-width: 22em; }
.crea-door .crea-pill { margin-top: 8px; position: relative; z-index: 1; }
.crea-door svg.crea-art-petal,
.crea-door svg.crea-art-data { position: absolute; right: -10px; top: 16px; width: 44%; max-width: 210px; height: auto; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.crea-door:hover svg { transform: rotate(-6deg) scale(1.04); }

/* Data scene */
.crea-data-scene { display: flex; align-items: center; justify-content: center; }
.crea-data-scene .crea-art-data { position: relative; width: 70%; max-width: 340px; filter: drop-shadow(0 30px 40px rgba(58, 141, 255, .3)); animation: crea-float 8s ease-in-out infinite; }

/* Studio scene */
.crea-studio-scene { min-height: 480px; }
.crea-glass { position: absolute; border-radius: var(--crea-radius); }
.crea-glass--back { inset: 0 0 8% 14%; background: var(--crea-grad-soft); border: 1px solid #fff; box-shadow: var(--crea-shadow); }
.crea-glass--screen {
	left: 0; bottom: 0; width: 60%; height: 56%; padding: 22px; display: flex; flex-direction: column; gap: 12px;
	background: rgba(255, 255, 255, .7); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	border: 1px solid #fff; box-shadow: 0 30px 60px -28px rgba(83, 52, 160, .45);
}
.crea-glass--screen span { display: block; border-radius: 12px; }
.crea-glass--screen span:nth-child(1) { height: 46%; background: linear-gradient(120deg, #9fe3ff 0%, #b7a2ff 55%, #ffb8dd 100%); }
.crea-glass--screen span:nth-child(2) { height: 10px; width: 70%; background: #ece6f7; }
.crea-glass--screen span:nth-child(3) { height: 10px; width: 45%; background: #f2eef9; }
.crea-studio-scene__quote { position: absolute; right: 7%; top: 10%; font-family: var(--crea-serif); font-size: clamp(30px, 3.2vw, 46px); line-height: 1.02; }

/* Sections -------------------------------------------------------------- */
.crea-section { padding: clamp(56px, 8vw, 104px) 0; }
.crea-section--tight { padding-top: 0; }
.crea-section__head { display: flex; flex-direction: column; margin-bottom: clamp(32px, 4vw, 48px); max-width: 760px; }

/* Studio tiles */
.crea-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.crea-tile {
	position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px; min-height: 280px;
	border-radius: 22px; background: var(--crea-card); border: 1px solid rgba(255, 255, 255, .9);
	box-shadow: var(--crea-shadow); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	transition: transform .3s, box-shadow .3s;
}
.crea-tile:hover { transform: translateY(-4px); }
.crea-tile__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: var(--crea-grad); background-size: 400% 100%; margin-bottom: 18px; }
.crea-tiles .crea-tile:nth-child(1) .crea-tile__icon { background-position: 10% 0; }
.crea-tiles .crea-tile:nth-child(2) .crea-tile__icon { background-position: 40% 0; }
.crea-tiles .crea-tile:nth-child(3) .crea-tile__icon { background-position: 70% 0; }
.crea-tiles .crea-tile:nth-child(4) .crea-tile__icon { background-position: 100% 0; }
.crea-tile__icon .crea-ico { width: 24px; height: 24px; }
.crea-tile__num { font-size: 12px; font-weight: 600; color: var(--crea-muted); letter-spacing: .1em; }
.crea-tile__title { font-size: 20px; line-height: 1.2; font-weight: 500; letter-spacing: -.02em; }
.crea-tile__desc { font-size: 14px; color: var(--crea-ink-2); line-height: 1.55; }
.crea-tile__go { margin-top: auto; padding-top: 12px; color: var(--crea-purple); }
.crea-tile__go .crea-ico { transition: transform .25s; }
.crea-tile:hover .crea-tile__go .crea-ico { transform: translateX(4px); }

/* Services list */
.crea-services { display: flex; flex-direction: column; gap: 16px; counter-reset: none; }
.crea-service {
	display: grid; grid-template-columns: 132px minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: center;
	padding: 24px; border-radius: var(--crea-radius); background: var(--crea-card);
	border: 1px solid rgba(255, 255, 255, .9); box-shadow: var(--crea-shadow);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	scroll-margin-top: 24px;
}
.crea-service__visual { position: relative; aspect-ratio: 1; border-radius: 22px; display: grid; place-items: center; overflow: hidden; color: #fff; }
.crea-service__blob { position: absolute; inset: 0; }
.crea-service--social .crea-service__blob { background: linear-gradient(140deg, #7fe0d6, #1cc8f7 55%, #3a8dff); }
.crea-service--ads .crea-service__blob { background: linear-gradient(140deg, #5aa2ff, #8b5cf6 60%, #b46cf0); }
.crea-service--assist .crea-service__blob { background: linear-gradient(140deg, #b072f3, #e266cf 55%, #ff8aa8); }
.crea-service--web .crea-service__blob { background: linear-gradient(140deg, #ff8a9a, #ffa98a 55%, #ffc97a); }
.crea-service__visual::after { content: ""; position: absolute; width: 70%; height: 70%; right: -18%; top: -18%; border-radius: 50%; background: rgba(255, 255, 255, .28); }
.crea-service__visual .crea-ico { position: relative; z-index: 1; width: 44px; height: 44px; stroke-width: 1.4; }
.crea-service__num { display: block; font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--crea-muted); margin-bottom: 6px; }
.crea-service__title { font-size: clamp(22px, 2.2vw, 28px); line-height: 1.15; font-weight: 500; letter-spacing: -.025em; margin-bottom: 10px; }
.crea-service__desc { color: var(--crea-ink-2); font-size: 15px; }
.crea-service__inc { align-self: stretch; padding: 20px 22px; border-radius: 20px; background: rgba(255, 255, 255, .7); border: 1px solid var(--crea-line); }
.crea-service__inc-label { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--crea-muted); margin-bottom: 12px; }
.crea-service__inc ul { display: flex; flex-direction: column; gap: 8px; }
.crea-service__inc li { position: relative; padding-left: 22px; font-size: 14px; color: var(--crea-ink); line-height: 1.45; }
.crea-service__inc li::before { content: ""; position: absolute; left: 0; top: .42em; width: 10px; height: 10px; border-radius: 50%; background: var(--crea-grad); background-size: 300% 100%; }
.crea-service--ads .crea-service__inc li::before { background-position: 40% 0; }
.crea-service--assist .crea-service__inc li::before { background-position: 70% 0; }
.crea-service--web .crea-service__inc li::before { background-position: 100% 0; }

/* CTA band */
.crea-section--cta { padding-top: 0; }
.crea-cta {
	position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 32px;
	padding: clamp(32px, 5vw, 56px); border-radius: 32px; color: #fff;
	background: linear-gradient(110deg, #2fb4f2 0%, #6d6af6 35%, #a35bf2 60%, #ec6bbf 85%, #ff9e8a 100%);
	box-shadow: 0 30px 70px -30px rgba(123, 79, 230, .7);
}
.crea-cta::before { content: ""; position: absolute; width: 380px; height: 380px; right: 12%; top: -60%; border-radius: 50%; background: rgba(255, 255, 255, .14); }
.crea-cta > * { position: relative; }
.crea-cta .crea-h2 { color: #fff; margin-bottom: 10px; }
.crea-cta em { background: none; -webkit-background-clip: initial; background-clip: initial; color: #fff; }
.crea-cta p { color: rgba(255, 255, 255, .9); max-width: 32em; font-size: 17px; }

/* About */
.crea-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.crea-about__head .crea-display { margin-bottom: 0; }
.crea-about__text { display: flex; flex-direction: column; gap: 18px; padding-bottom: 10px; }
.crea-about__text p:not(.crea-lead) { color: var(--crea-ink-2); }
.crea-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.crea-member {
	display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 20px; row-gap: 20px;
	padding: clamp(24px, 3vw, 36px); border-radius: var(--crea-radius);
	background: var(--crea-card); border: 1px solid rgba(255, 255, 255, .9); box-shadow: var(--crea-shadow);
	backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.crea-member__avatar { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; padding: 3px; background: var(--crea-grad); }
.crea-member--antonella .crea-member__avatar { background: linear-gradient(140deg, #e266cf, #ff9a8a 60%, #ffc27a); }
.crea-member--daniela .crea-member__avatar { background: linear-gradient(140deg, #1cc8f7, #3a8dff 50%, #8b5cf6); }
.crea-member__avatar span,
.crea-member__avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.crea-member__avatar span { display: grid; place-items: center; background: #fff; font-family: var(--crea-serif); font-size: 40px; color: var(--crea-ink); }
.crea-member__name { font-size: 26px; font-weight: 400; letter-spacing: -.03em; line-height: 1.1; }
.crea-member__role { font-size: 13px; color: var(--crea-muted); margin-top: 4px; }
.crea-member__bio { grid-column: 1 / -1; color: var(--crea-ink-2); font-size: 15px; }

/* Contact */
.crea-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.crea-contact__info { padding-top: 8px; }
.crea-wa {
	display: flex; align-items: center; gap: 16px; margin-top: 32px; padding: 18px 20px; max-width: 440px;
	border-radius: 22px; background: linear-gradient(135deg, #f4ecff, #ffeaf5); border: 1px solid #fff; box-shadow: var(--crea-shadow);
	transition: transform .25s;
}
.crea-wa:hover { transform: translateY(-2px); }
.crea-wa__icon { width: 48px; height: 48px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--crea-purple); color: #fff; }
.crea-wa strong { display: block; font-weight: 600; }
.crea-wa small { display: block; font-size: 13px; color: var(--crea-muted); }
.crea-wa > .crea-ico { margin-left: auto; color: var(--crea-purple); }
.crea-mailline { display: flex; gap: 12px; align-items: flex-start; margin-top: 28px; color: var(--crea-ink-2); font-size: 15px; }
.crea-mailline .crea-ico { color: var(--crea-purple); margin-top: 2px; }
.crea-mailline a { color: var(--crea-purple); font-weight: 500; word-break: break-all; border-bottom: 1px solid rgba(123, 79, 230, .3); }
.crea-mailline a:hover { border-bottom-color: var(--crea-purple); }

.crea-contact__form {
	padding: clamp(24px, 3.4vw, 40px); border-radius: var(--crea-radius);
	background: rgba(255, 255, 255, .78); border: 1px solid #fff; box-shadow: var(--crea-shadow);
	backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.crea-site--piece .crea-form { max-width: 560px; }
.crea-form { display: flex; flex-direction: column; gap: 18px; }
.crea-field { display: flex; flex-direction: column; gap: 8px; }
.crea-field label { font-size: 14px; font-weight: 500; color: var(--crea-ink); }
.crea-field label small { font-weight: 400; color: var(--crea-muted); }
.crea-site .crea-field input,
.crea-site .crea-field textarea {
	width: 100%; margin: 0; padding: 14px 16px; border-radius: 14px;
	border: 1px solid rgba(31, 27, 46, .14); background: #fff; color: var(--crea-ink);
	font: 400 15px/1.5 var(--crea-sans); box-shadow: none; transition: border-color .2s, box-shadow .2s;
}
.crea-site .crea-field textarea { resize: vertical; min-height: 140px; }
.crea-site .crea-field input:focus,
.crea-site .crea-field textarea:focus { outline: none; border-color: var(--crea-purple); box-shadow: 0 0 0 4px rgba(123, 79, 230, .14); }
.crea-form__note { font-size: 13px; color: var(--crea-muted); text-align: center; margin-top: -6px; }
.crea-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.crea-alert { padding: 14px 16px; border-radius: 14px; font-size: 14px; line-height: 1.5; }
.crea-alert--ok { background: #e9f9f1; color: #186b45; border: 1px solid #bfe9d4; }
.crea-alert--err { background: #fff0f3; color: #a3264a; border: 1px solid #ffd0db; }

/* Footer ---------------------------------------------------------------- */
.crea-footer { border-top: 1px solid var(--crea-line); background: rgba(255, 255, 255, .55); padding-top: clamp(48px, 6vw, 72px); }
.crea-footer__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; }
.crea-logo--footer .crea-logo__img { width: 128px; }
.crea-footer__desc { margin-top: 18px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--crea-ink-2); }
.crea-footer__short { margin-top: 8px; color: var(--crea-muted); font-size: 15px; max-width: 26em; }
.crea-footer__title { font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--crea-muted); margin-bottom: 16px; }
.crea-footer__col ul { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.crea-footer__col a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--crea-ink-2); transition: color .2s; word-break: break-all; }
.crea-footer__col a:hover { color: var(--crea-purple); }
.crea-footer__col .crea-ico { width: 18px; height: 18px; color: var(--crea-purple); }
.crea-footer__bottom { margin-top: 48px; padding-bottom: 32px; font-size: 13px; color: var(--crea-muted); }
.crea-footer__bottom p { padding-top: 24px; border-top: 1px solid var(--crea-line); }

/* Reveal animation (only when JS is active and motion is allowed) -------- */
.crea-js .crea-site .crea-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.crea-js .crea-site .crea-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.crea-site *, .crea-site *::before, .crea-site *::after { animation: none !important; transition: none !important; }
}

/* Responsive ------------------------------------------------------------ */
@media (max-width: 1080px) {
	.crea-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.crea-service { grid-template-columns: 104px minmax(0, 1fr); }
	.crea-service__inc { grid-column: 1 / -1; }
	.crea-nav__list { gap: 20px; }
}

@media (max-width: 920px) {
	.crea-burger { display: inline-flex; }
	.crea-header__bar { min-height: 72px; }
	.crea-nav {
		position: absolute; left: var(--crea-gutter); right: var(--crea-gutter); top: 68px;
		flex-direction: column; align-items: stretch; gap: 16px; padding: 20px;
		background: rgba(255, 255, 255, .96); border: 1px solid var(--crea-line); border-radius: 22px;
		box-shadow: 0 30px 60px -20px rgba(31, 27, 46, .25);
		opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s, transform .2s, visibility .2s;
	}
	.crea-header.is-open .crea-nav { opacity: 1; visibility: visible; transform: none; }
	.crea-nav__list { flex-direction: column; gap: 0; }
	.crea-nav__list a { display: block; padding: 12px 4px; font-size: 16px; border-bottom: 1px solid var(--crea-line); }
	.crea-nav__list a.is-active::after { display: none; }
	.crea-nav__list a.is-active { color: var(--crea-purple); }
	.crea-nav__list--sub-mobile { display: flex; padding-left: 16px; border-left: 2px solid rgba(123, 79, 230, .25); }
	.crea-nav__list--sub-mobile a { font-size: 15px; padding: 8px 4px; border-bottom: 0; }
	.crea-nav__end { justify-content: space-between; padding-top: 4px; }
	.crea-subnav { display: none; }

	.crea-hero__grid,
	.crea-about,
	.crea-contact { grid-template-columns: minmax(0, 1fr); }
	.crea-hero__art { min-height: 320px; order: 2; }
	.crea-studio-scene { min-height: 340px; }
	.crea-hero--main .crea-hero__art { min-height: 300px; max-width: 520px; width: 100%; margin: 0 auto; }
	.crea-doors { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
	.crea-team { grid-template-columns: minmax(0, 1fr); }
	.crea-cta { flex-direction: column; align-items: flex-start; }
	.crea-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.crea-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
	.crea-tiles { grid-template-columns: minmax(0, 1fr); }
	.crea-tile { min-height: 0; }
	.crea-service { grid-template-columns: minmax(0, 1fr); padding: 20px; }
	.crea-service__visual { width: 76px; }
	.crea-service__visual .crea-ico { width: 34px; height: 34px; }
	.crea-door { min-height: 250px; padding: 26px; }
	.crea-door svg.crea-art-petal, .crea-door svg.crea-art-data { width: 38%; }
	.crea-actions .crea-btn { flex: 1 1 100%; }
	.crea-footer__grid { grid-template-columns: minmax(0, 1fr); }
	.crea-member { grid-template-columns: minmax(0, 1fr); }
	.crea-logo .crea-logo__img { width: 100px; }
}
