:root{--ink:#24221f;--muted:#756f68;--paper:#f8f6f2;--cream:#eee8de;--rose:#bd8377;--deep:#34312e;--line:#ddd7cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1140px,calc(100% - 48px));margin:auto}.site-header{background:var(--paper);border-bottom:1px solid #24221f14;position:relative;z-index:2}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.05}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.brand-mark{width:35px;height:35px;border:1px solid var(--rose);color:var(--rose);border-radius:50%;display:grid;place-items:center;font-size:17px}nav{display:flex;gap:29px;margin-left:auto;color:var(--muted);font-size:12px}nav a:hover,.back-link:hover{color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.03em;transition:transform .2s,background .2s;border:0;cursor:pointer;padding:16px 22px}.button:hover{transform:translateY(-2px)}.outline{border:1px solid var(--ink);padding:13px 17px}.primary{background:var(--rose);color:#fff}.primary:hover{background:#a87066}.dark{background:var(--deep);color:#fff}.light{background:#f7eee8;color:var(--deep)}.hero{min-height:690px;overflow:hidden;position:relative}.hero-glow{position:absolute;width:600px;height:600px;right:5%;top:22px;border-radius:50%;background:radial-gradient(circle,#ddc5bba8 0%,#f1e6df66 48%,transparent 70%)}.hero-grid{min-height:690px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:50px;position:relative}.hero-copy{padding:70px 0 90px;max-width:600px}.eyebrow{color:var(--rose);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:23px;display:flex;align-items:center;gap:10px}.eyebrow span{width:25px;height:1px;display:inline-block;background:var(--rose)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.05em}h1{font-size:clamp(47px,6vw,76px);line-height:.99;max-width:650px}em{color:var(--rose);font-style:italic}.hero-copy>p{color:var(--muted);font-size:16px;line-height:1.7;max-width:500px;margin-top:28px}.hero-actions{display:flex;gap:26px;align-items:center;margin-top:33px}.text-link,.card-link{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:700}.trust-row{display:flex;align-items:center;gap:12px;margin-top:50px}.avatars{display:flex}.avatars span{width:27px;height:27px;border:2px solid var(--paper);border-radius:50%;background:#b9a09a;color:#fff;display:grid;place-items:center;font-size:8px;margin-left:-6px}.avatars span:first-child{margin-left:0;background:#806961}.avatars span:nth-child(2){background:#c4aaa0}.avatars span:nth-child(3){background:#96877c}.avatars span:last-child{background:var(--rose)}.stars{color:var(--rose);letter-spacing:1px;font-size:11px}.stars b{color:var(--ink);letter-spacing:0;margin-left:5px}.trust-row small{color:var(--muted);font-size:10px}.hero-art{height:560px;position:relative}.orb{position:absolute;border-radius:50%;border:1px solid #bd837766}.orb-one{width:460px;height:460px;right:35px;top:45px;background:radial-gradient(circle at 34% 30%,#ffffffcc,#d6b5a973 55%,#bd837733);box-shadow:20px 25px 70px #93655821}.orb-two{width:180px;height:180px;left:18px;bottom:25px;background:#e6d5cc}.moon-card{position:absolute;top:130px;right:120px;width:185px;height:225px;border:1px solid #ffffff80;background:#ffffff2e;backdrop-filter:blur(7px);padding:25px;color:#fff}.moon{font-family:Georgia,serif;font-size:94px;line-height:1;color:#f6e6dc;transform:rotate(-22deg)}.moon-card span{position:absolute;bottom:24px;font-size:11px;line-height:1.5}.moon-card b{font-size:14px;font-family:Georgia,serif}.quote-card{position:absolute;bottom:47px;left:0;width:230px;padding:20px 24px;background:#fffdf9;box-shadow:0 12px 30px #503c3217}.quote-card span{font:34px Georgia,serif;color:var(--rose);line-height:.5}.quote-card p{color:var(--muted);font:italic 13px/1.5 Georgia,serif}.service-intro,.testimonials{padding:115px 0 130px;background:#fffdf9}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2,.method h2,.center-heading h2,.detail-grid h2{font-size:clamp(39px,5vw,57px);line-height:1.02}.section-heading>p{width:310px;color:var(--muted);font-size:14px;line-height:1.65}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{border:1px solid var(--line);padding:27px 24px 26px;min-height:300px;position:relative;transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:var(--rose)}.service-num{position:absolute;top:21px;right:22px;font-size:10px;color:#a59c94}.service-icon{color:var(--rose);font:30px Georgia,serif;margin:32px 0 27px}.service-card h3{font:22px Georgia,serif;margin-bottom:14px}.service-card p{color:var(--muted);font-size:12px;line-height:1.6;min-height:59px}.card-link{margin-top:22px}.method{padding:110px 0;background:var(--cream)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:130px;align-items:center}.method-visual{height:400px;background:radial-gradient(circle at 50% 45%,#c99b8e 0%,#b47b70 23%,#795b56 65%,#514944 100%);position:relative;overflow:hidden}.method-visual:after{content:'';position:absolute;inset:25px;border:1px solid #ffffff3b;border-radius:50%}.seal{position:absolute;width:150px;height:150px;border:1px solid #ffffff80;border-radius:50%;top:125px;left:calc(50% - 75px);color:#f7e9df;display:grid;place-items:center;font:48px Georgia,serif;z-index:1}.method-note{position:absolute;z-index:2;background:#fffffff0;padding:11px 14px;font-size:10px;color:var(--muted);box-shadow:0 8px 20px #32231e21}.method-note span{color:var(--rose);margin:0 5px}.note-one{top:62px;left:24px}.note-two{bottom:57px;right:28px}.method-copy>p{margin:23px 0 28px;color:var(--muted);font-size:15px;line-height:1.75;max-width:450px}.check-list{display:flex;flex-direction:column;gap:14px;margin:28px 0 33px;color:var(--muted);font-size:12px}.testimonials{padding-top:120px}.center-heading{text-align:center}.center-heading .eyebrow{justify-content:center}.center-heading p{color:var(--muted);font-size:13px;margin-top:20px}.chats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.chat-card{background:#e9ded4;border-radius:5px;overflow:hidden;box-shadow:0 10px 25px #5a463712}.chat-top{display:grid;grid-template-columns:1fr auto;gap:3px;padding:14px;background:#766761;color:#fff;font-size:11px}.chat-top span{opacity:.7;font-size:9px}.chat-top i{grid-column:2;grid-row:1/3}.chat-body{min-height:185px;padding:18px 13px;background:#e9ded4;background-image:radial-gradient(#6e574714 1px,transparent 1px);background-size:14px 14px}.chat-date{display:block;width:fit-content;margin:0 auto 14px;padding:4px 8px;border-radius:4px;background:#ddcfc3;color:#87766d;font-size:8px}.bubble{max-width:79%;padding:9px 10px 5px;margin-bottom:8px;border-radius:3px 8px 8px 8px;color:#554c47;font-size:11px;line-height:1.4}.bubble small{color:#9c8980;font-size:8px;float:right;margin:7px 0 0 12px}.incoming{background:#fffaf3}.outgoing{background:#e2f0dd;margin-left:auto;border-radius:8px 3px 8px 8px}.center-cta{text-align:center;margin-top:50px}.final-cta{background:var(--deep);color:#fff;padding:75px 0}.final-inner{display:flex;align-items:center;gap:28px}.final-mark{color:var(--rose);font:27px Georgia,serif}.final-inner .eyebrow{margin:0 0 14px}.final-inner h2{font-size:43px;line-height:1.03}.final-inner .button{margin-left:auto}footer{padding:27px 0;background:#262321;color:#a59c96;font-size:10px}.footer-inner{display:flex;align-items:center;gap:35px}.footer-inner .brand{color:#fff;margin-right:auto}.service-hero{background:var(--cream);padding:110px 0}.service-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:100px}.service-hero h1{font-size:clamp(47px,6vw,72px);max-width:650px}.service-hero p{color:var(--muted);line-height:1.7;max-width:530px;margin:28px 0 32px;font-size:15px}.service-symbol{width:340px;height:340px;justify-self:center;border-radius:50%;background:radial-gradient(circle at 38% 30%,#eedfd7,#bd8377 70%);color:#fff4ee;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:20px 22px 50px #82534829}.service-symbol>div{width:105px;height:105px;border:1px solid #ffffff8c;border-radius:50%;display:grid;place-items:center;margin-bottom:18px;font:55px Georgia,serif}.service-symbol span{font:13px/1.4 Georgia,serif}.service-symbol b{font-size:16px}.service-detail{padding:110px 0;background:#fffdf9}.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:110px;align-items:center}.detail-grid>div>p{margin:23px 0 28px;color:var(--muted);font-size:15px;line-height:1.75;max-width:520px}.consult-card{border:1px solid var(--line);padding:34px;background:var(--paper)}.consult-card h3{font:26px Georgia,serif;line-height:1.12}.consult-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:16px 0 24px}.consult-card small{display:block;margin-top:17px;color:var(--muted);font-size:9px}.service-bottom{padding:55px 0 100px;background:#fffdf9;text-align:center}.quote-link{font:italic 27px Georgia,serif;color:var(--rose)}.reveal{animation:rise .8s ease both}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:800px){.container{width:min(100% - 32px,600px)}.nav-wrap{min-height:70px}.nav-wrap nav{display:none}.outline{margin-left:auto;padding:10px 12px;font-size:10px}.hero-grid,.service-hero-grid,.method-grid,.detail-grid{grid-template-columns:1fr;gap:45px}.hero{min-height:auto}.hero-grid{min-height:auto}.hero-copy{padding:75px 0 20px}.hero-art{height:420px;transform:scale(.85);transform-origin:top center;margin-bottom:-45px}.section-heading{display:block}.section-heading>p{margin-top:25px;width:auto}.service-intro,.testimonials,.method,.service-detail{padding:75px 0}.service-grid,.chats-grid{grid-template-columns:1fr 1fr}.service-card{min-height:280px;padding:20px 16px}.service-card h3{font-size:19px}.method-visual{height:330px}.final-inner{display:grid;grid-template-columns:auto 1fr}.final-inner .button{margin:5px 0 0;grid-column:2;width:fit-content}.footer-inner{flex-wrap:wrap;gap:16px}.service-hero{padding:75px 0}.service-symbol{width:280px;height:280px}}@media(max-width:480px){.hero-copy h1{font-size:50px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.service-grid,.chats-grid{grid-template-columns:1fr}.section-heading h2,.method h2,.center-heading h2,.detail-grid h2{font-size:43px}.hero-art{transform:scale(.7);margin-left:-45px;margin-right:-45px}.footer-inner>span{width:100%}.footer-inner .brand{width:100%}.final-inner h2{font-size:35px}}


/* --- ENHANCED DYNAMIC COMPONENTS, SOCIALS, FLOATING WA & FORMS --- */

/* Social Links */
.social-links {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(117, 111, 104, 0.3);
    color: var(--muted);
    transition: all 0.2s ease;
    text-decoration: none;
}
.social-btn:hover {
    color: var(--rose);
    border-color: var(--rose);
    transform: translateY(-2px);
    background: rgba(189, 131, 119, 0.08);
}
.social-btn svg {
    width: 15px;
    height: 15px;
    fill: currentColor;
}
.footer-social-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
}

/* Floating WhatsApp Button */
.whatsapp-float-wrap {
    position: fixed;
    z-index: 9999;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.whatsapp-float-wrap.pos-right {
    right: 24px;
    flex-direction: row;
}
.whatsapp-float-wrap.pos-left {
    left: 24px;
    flex-direction: row-reverse;
}
.whatsapp-float-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
    text-decoration: none;
    position: relative;
    transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.25s ease;
}
.whatsapp-float-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 12px 28px rgba(37, 211, 102, 0.5);
}
.whatsapp-float-btn svg {
    width: 32px;
    height: 32px;
    fill: #ffffff;
}
.whatsapp-tooltip {
    background: #ffffff;
    color: #24221f;
    padding: 9px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: transform 0.2s, opacity 0.2s;
    animation: fadeInSlide 0.5s ease both;
}
.whatsapp-tooltip:hover {
    transform: translateY(-2px);
}
.wa-status-dot {
    width: 8px;
    height: 8px;
    background: #25d366;
    border-radius: 50%;
    display: inline-block;
    animation: waDotBlink 2s infinite;
}
@keyframes waDotBlink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
@keyframes fadeInSlide {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* WhatsApp Animations */
.anim-pulse {
    animation: waPulseAnim 2.2s infinite;
}
@keyframes waPulseAnim {
    0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
    70% { box-shadow: 0 0 0 18px rgba(37, 211, 102, 0); }
    100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
.anim-bounce {
    animation: waBounceAnim 2s infinite ease-in-out;
}
@keyframes waBounceAnim {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-9px); }
}
.anim-glow {
    animation: waGlowAnim 2.5s infinite alternate ease-in-out;
}
@keyframes waGlowAnim {
    0% { filter: drop-shadow(0 0 4px #25d366); }
    100% { filter: drop-shadow(0 0 16px #25d366); }
}
.anim-float {
    animation: waFloatAnim 3s infinite ease-in-out;
}
@keyframes waFloatAnim {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-7px) rotate(4deg); }
}

/* Chat Card Styling (matching reference) */
.testimonials-slider {
    width: 100%;
    margin-top: 50px;
    padding-bottom: 50px !important;
}
.testimonials-slider .swiper-slide {
    height: auto;
    display: flex;
}
.chat-card {
    background: #e9ded4;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(90, 70, 55, 0.12);
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 380px;
}
.chat-top {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #6a5c56;
    color: #ffffff;
}
.chat-avatar-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
}
.chat-avatar-initial {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--rose);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 15px;
    font-weight: 700;
    flex-shrink: 0;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
}
.chat-info {
    flex: 1;
    min-width: 0;
}
.chat-info b {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.chat-info span {
    display: block;
    font-size: 10px;
    opacity: 0.85;
    color: #f2ece7;
    margin-top: 2px;
}
.chat-status-icon {
    margin-left: auto;
    font-style: normal;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
}
.chat-body {
    flex: 1;
    padding: 18px 14px;
    background: #e9ded4;
    background-image: radial-gradient(#6e574714 1px, transparent 1px);
    background-size: 14px 14px;
    display: flex;
    flex-direction: column;
}
.chat-date {
    align-self: center;
    background: #ddcfc3;
    color: #87766d;
    font-size: 8.5px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 16px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.chat-messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}
.bubble {
    max-width: 82%;
    padding: 10px 12px 6px;
    border-radius: 4px 12px 12px 12px;
    color: #453c37;
    font-size: 11.5px;
    line-height: 1.45;
    word-break: break-word;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06);
    position: relative;
}
.bubble small {
    color: #9c8980;
    font-size: 8.5px;
    float: right;
    margin: 8px 0 0 12px;
    font-weight: 500;
}
.bubble.incoming {
    background: #fffdf9;
    align-self: flex-start;
}
.bubble.outgoing {
    background: #e2f0dd;
    align-self: flex-end;
    border-radius: 12px 4px 12px 12px;
}
.bubble small .checkmarks {
    color: #4fc3f7;
    margin-left: 3px;
    font-weight: bold;
}

/* Swiper custom arrows & pagination */
.swiper-button-next, .swiper-button-prev {
    color: var(--rose) !important;
    transform: scale(0.7);
}
.swiper-pagination-bullet-active {
    background: var(--rose) !important;
    width: 22px !important;
    border-radius: 6px !important;
}

/* Contact CTA Lead Section */
.cta-lead-section {
    background: #f4eee7;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 85px 0;
}
.cta-lead-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.cta-lead-info h2 {
    font-size: clamp(34px, 4.5vw, 50px);
    line-height: 1.05;
    margin-top: 10px;
}
.cta-lead-info p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
    margin-top: 20px;
}
.cta-lead-features {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cta-lead-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--ink);
    font-weight: 500;
}
.cta-lead-feature-item span {
    color: var(--rose);
    font-size: 16px;
}
.cta-form-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 36px 32px;
    box-shadow: 0 15px 40px rgba(80, 60, 50, 0.08);
}
.cta-form-card h3 {
    font-family: Georgia, serif;
    font-size: 22px;
    font-weight: 400;
    color: var(--ink);
    margin-bottom: 6px;
}
.cta-form-card p.form-sub {
    font-size: 12px;
    color: var(--muted);
    margin-bottom: 22px;
}
.form-field {
    margin-bottom: 16px;
}
.form-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--muted);
    margin-bottom: 6px;
}
.form-field input, .form-field select, .form-field textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: var(--paper);
    color: var(--ink);
    font-size: 13.5px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
    border-color: var(--rose);
    box-shadow: 0 0 0 3px rgba(189, 131, 119, 0.15);
    background: #ffffff;
}
.form-submit-btn {
    width: 100%;
    padding: 15px;
    background: var(--rose);
    color: #ffffff;
    border: none;
    border-radius: 4px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
}
.form-submit-btn:hover {
    background: #a87066;
    transform: translateY(-2px);
}
.form-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}
.form-alert {
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 13px;
    margin-bottom: 18px;
    display: none;
}
.form-alert.success {
    display: block;
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}
.form-alert.error {
    display: block;
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

@media (max-width: 800px) {
    .cta-lead-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .footer-social-wrap {
        margin-left: 0;
    }
    .whatsapp-float-wrap {
        bottom: 18px;
    }
    .whatsapp-float-wrap.pos-right {
        right: 18px;
    }
    .whatsapp-float-wrap.pos-left {
        left: 18px;
    }
    .whatsapp-tooltip {
        display: none; /* Hide text on small mobile screens to keep it unobtrusive */
    }
}
