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

:root {
--sage: #8FAF8C;
--sage-light: #B8D4B5;
--sage-dark: #5C7A59;
--cream: #F7F3EE;
--warm: #EDE8E1;
--terracotta: #C27B5A;
--terra-light: #D9967A;
--charcoal: #2C2C2C;
--soft: #6A6A6A;
--white: #FFFFFF;
}

html { scroll-behavior: smooth; }

body {
font-family: 'DM Sans', sans-serif;
background: var(--cream);
color: var(--charcoal);
min-height: 100vh;
overflow-x: hidden;
}

/* BACKGROUND ORGANIC SHAPES */
body::before {
content: '';
position: fixed;
top: -20%;
right: -15%;
width: 600px;
height: 600px;
background: radial-gradient(ellipse, rgba(143,175,140,0.18) 0%, transparent 70%);
border-radius: 60% 40% 70% 30% / 50% 60% 40% 50%;
pointer-events: none;
z-index: 0;
animation: float1 12s ease-in-out infinite;
}

body::after {
content: '';
position: fixed;
bottom: -10%;
left: -10%;
width: 500px;
height: 500px;
background: radial-gradient(ellipse, rgba(194,123,90,0.10) 0%, transparent 70%);
border-radius: 40% 60% 30% 70% / 60% 40% 50% 50%;
pointer-events: none;
z-index: 0;
animation: float2 15s ease-in-out infinite;
}

@keyframes float1 {
0%,100% { transform: translate(0,0) rotate(0deg); }
33% { transform: translate(-20px, 30px) rotate(5deg); }
66% { transform: translate(20px, -15px) rotate(-3deg); }
}
@keyframes float2 {
0%,100% { transform: translate(0,0) rotate(0deg); }
50% { transform: translate(25px, -20px) rotate(-6deg); }
}

/* WRAPPER */
.page {
position: relative;
z-index: 1;
max-width: 520px;
margin: 0 auto;
padding: 48px 24px 80px;
display: flex;
flex-direction: column;
align-items: center;
gap: 0;
}

/* TOP BADGE */
.badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(143,175,140,0.15);
border: 1px solid rgba(143,175,140,0.4);
border-radius: 100px;
padding: 6px 16px;
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--sage-dark);
margin-bottom: 32px;
opacity: 0;
animation: fadeUp 0.8s 0.1s forwards ease-out;
}
.badge::before {
content: '';
width: 6px; height: 6px;
border-radius: 50%;
background: var(--sage);
animation: pulse 2s infinite;
}
@keyframes pulse {
0%,100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.4; transform: scale(0.7); }
}

/* AVATAR SECTION */
.avatar-wrap {
position: relative;
margin-bottom: 28px;
opacity: 0;
animation: fadeUp 0.9s 0.2s forwards ease-out;
}

.avatar-ring {
width: 130px;
height: 130px;
border-radius: 50%;
background: linear-gradient(135deg, var(--sage-light) 0%, var(--terracotta) 100%);
padding: 3px;
position: relative;
}

.avatar-ring::after {
content: '';
position: absolute;
inset: -8px;
border-radius: 50%;
border: 1px dashed rgba(143,175,140,0.5);
animation: spin 20s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.avatar-inner {
width: 100%;
height: 100%;
border-radius: 50%;
background: var(--warm);
overflow: hidden;
position: relative;
display: flex;
align-items: flex-end;
justify-content: center;
}

/* Placeholder illustration for photo */
.avatar-placeholder {
width: 85%;
height: 95%;
background: linear-gradient(170deg, #D9967A 0%, #C27B5A 40%, #A06040 100%);
border-radius: 50% 50% 0 0;
position: relative;
overflow: hidden;
}
.avatar-placeholder::before {
content: '';
position: absolute;
top: 18%;
left: 50%;
transform: translateX(-50%);
width: 38px; height: 38px;
background: rgba(255,255,255,0.85);
border-radius: 50%;
}
.avatar-placeholder::after {
content: '';
position: absolute;
top: 52%;
left: 50%;
transform: translateX(-50%);
width: 60px; height: 45px;
background: rgba(255,255,255,0.6);
border-radius: 50% 50% 0 0;
}

.avatar-emoji {
position: absolute;
bottom: 4px;
right: -4px;
background: var(--white);
border-radius: 50%;
width: 34px; height: 34px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* NAME & INFO */
.profile-name {
font-family: 'Cormorant Garamond', serif;
font-size: 36px;
font-weight: 600;
letter-spacing: -0.02em;
text-align: center;
line-height: 1.1;
color: var(--charcoal);
margin-bottom: 8px;
opacity: 0;
animation: fadeUp 0.9s 0.3s forwards ease-out;
}

.profile-title {
font-family: 'Cormorant Garamond', serif;
font-size: 15px;
font-style: italic;
font-weight: 300;
color: var(--terracotta);
text-align: center;
letter-spacing: 0.04em;
margin-bottom: 20px;
opacity: 0;
animation: fadeUp 0.9s 0.4s forwards ease-out;
}

.profile-bio {
font-size: 13.5px;
font-weight: 300;
line-height: 1.75;
color: var(--soft);
text-align: center;
max-width: 400px;
margin-bottom: 28px;
opacity: 0;
animation: fadeUp 0.9s 0.5s forwards ease-out;
}

/* CERTS PILLS */
.certs {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
margin-bottom: 32px;
opacity: 0;
animation: fadeUp 0.9s 0.55s forwards ease-out;
}

.cert-pill {
background: rgba(255,255,255,0.7);
border: 1px solid rgba(143,175,140,0.35);
border-radius: 100px;
padding: 5px 14px;
font-size: 11px;
font-weight: 500;
letter-spacing: 0.06em;
color: var(--sage-dark);
text-transform: uppercase;
backdrop-filter: blur(6px);
}

/* SOCIAL ICONS */
.socials {
display: flex;
gap: 12px;
margin-bottom: 44px;
opacity: 0;
animation: fadeUp 0.9s 0.6s forwards ease-out;
}

.social-btn {
width: 44px; height: 44px;
border-radius: 50%;
background: var(--white);
border: 1px solid rgba(0,0,0,0.08);
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
color: var(--soft);
font-size: 18px;
transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.social-btn:hover {
transform: translateY(-4px) scale(1.1);
box-shadow: 0 8px 24px rgba(0,0,0,0.12);
color: var(--terracotta);
border-color: var(--terracotta);
}

/* DIVIDER */
.section-divider {
display: flex;
align-items: center;
gap: 16px;
width: 100%;
margin-bottom: 28px;
opacity: 0;
animation: fadeUp 0.9s 0.65s forwards ease-out;
}
.section-divider::before, .section-divider::after {
content: '';
flex: 1;
height: 1px;
background: linear-gradient(to right, transparent, rgba(143,175,140,0.4), transparent);
}
.section-divider span {
font-family: 'Cormorant Garamond', serif;
font-size: 12px;
font-style: italic;
color: var(--sage);
letter-spacing: 0.1em;
white-space: nowrap;
}

/* PROJECT CARDS */
.cards-grid {
display: flex;
flex-direction: column;
gap: 14px;
width: 100%;
}

.card {
background: var(--white);
border-radius: 20px;
padding: 22px 24px;
display: flex;
align-items: center;
gap: 18px;
text-decoration: none;
color: inherit;
border: 1px solid rgba(0,0,0,0.05);
box-shadow: 0 2px 12px rgba(0,0,0,0.05);
transition: all 0.35s cubic-bezier(0.34,1.2,0.64,1);
cursor: pointer;
position: relative;
overflow: hidden;
opacity: 0;
}

.card:nth-child(1) { animation: fadeUp 0.9s 0.7s forwards ease-out; }
.card:nth-child(2) { animation: fadeUp 0.9s 0.78s forwards ease-out; }
.card:nth-child(3) { animation: fadeUp 0.9s 0.86s forwards ease-out; }
.card:nth-child(4) { animation: fadeUp 0.9s 0.94s forwards ease-out; }
.card:nth-child(5) { animation: fadeUp 0.9s 1.02s forwards ease-out; }

.card::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(135deg, rgba(143,175,140,0.07), transparent);
opacity: 0;
transition: opacity 0.3s;
}

.card:hover::before { opacity: 1; }

.card:hover {
transform: translateY(-3px) scale(1.01);
box-shadow: 0 12px 36px rgba(0,0,0,0.1);
border-color: rgba(143,175,140,0.3);
}

.card-icon {
width: 52px; height: 52px;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
flex-shrink: 0;
}

.card-icon.sage { background: rgba(143,175,140,0.15); }
.card-icon.terra { background: rgba(194,123,90,0.12); }
.card-icon.blue { background: rgba(100,149,200,0.12); }
.card-icon.pink { background: rgba(210,130,160,0.12); }
.card-icon.gold { background: rgba(200,170,80,0.12); }

.card-text { flex: 1; }

.card-label {
font-size: 10px;
font-weight: 500;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--sage-dark);
margin-bottom: 3px;
}

.card-title {
font-family: 'Cormorant Garamond', serif;
font-size: 19px;
font-weight: 600;
color: var(--charcoal);
line-height: 1.2;
margin-bottom: 4px;
}

.card-desc {
font-size: 12px;
font-weight: 300;
color: var(--soft);
line-height: 1.5;
}

.card-arrow {
width: 32px; height: 32px;
border-radius: 50%;
background: var(--cream);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-size: 14px;
color: var(--soft);
transition: all 0.3s;
}

.card:hover .card-arrow {
background: var(--sage);
color: white;
transform: translateX(3px);
}

/* WHATSAPP CTA */
.cta-wrap {
width: 100%;
margin-top: 40px;
opacity: 0;
animation: fadeUp 0.9s 1.1s forwards ease-out;
}

.cta-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
width: 100%;
padding: 17px 28px;
background: linear-gradient(135deg, var(--sage) 0%, var(--sage-dark) 100%);
color: white;
border-radius: 100px;
text-decoration: none;
font-size: 14px;
font-weight: 500;
letter-spacing: 0.04em;
transition: all 0.3s;
box-shadow: 0 8px 28px rgba(92,122,89,0.35);
position: relative;
overflow: hidden;
}

.cta-btn::before {
content: '';
position: absolute;
top: 0; left: -100%;
width: 100%; height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s;
}

.cta-btn:hover::before { left: 100%; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(92,122,89,0.45); }

/* FOOTER */
.footer {
margin-top: 48px;
text-align: center;
opacity: 0;
animation: fadeUp 0.9s 1.2s forwards ease-out;
}
.footer-text {
font-size: 11px;
color: rgba(106,106,106,0.5);
letter-spacing: 0.05em;
}
.footer-crm {
font-size: 11px;
color: var(--sage);
margin-top: 4px;
font-style: italic;
}

@keyframes fadeUp {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}

/* RESPONSIVE */
@media (max-width: 480px) {
.page { padding: 36px 18px 60px; }
.profile-name { font-size: 30px; }
.card { padding: 18px 18px; gap: 14px; }
.card-title { font-size: 17px; }
}