:root{
  --navy:#1E2D5E;--slate:#3D4F6B;--powder:#8EB8DA;--gold:#D4B86A;--brass:#8F6B1E;--sky:#EEF4FB;--white:#FFFFFF;
  --serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:auto;}
body{font-family:var(--sans);color:var(--slate);background:var(--white);line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 4rem;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,185,122,0.2);transition:background 0.3s ease;}
.logo-link{text-decoration:none;display:inline-block;}
.logo-img{height:52px;width:auto;display:block;}
.nav-links{display:flex;gap:3rem;list-style:none;align-items:center;}
.nav-links a{color:var(--slate);text-decoration:none;font-size:0.82rem;font-weight:400;letter-spacing:0.15em;text-transform:uppercase;transition:color 0.3s;}
.nav-links a:hover{color:var(--navy);}
.nav-cta{background:var(--navy) !important;color:var(--gold) !important;padding:0.7rem 1.4rem;border-radius:2px;}
.nav-phone{color:var(--navy) !important;font-weight:600 !important;letter-spacing:0.05em !important;}
.nav-phone:hover{color:var(--gold) !important;}
.nav-mobile-phone{display:none;color:var(--navy);text-decoration:none;font-weight:600;font-size:0.85rem;letter-spacing:0.05em;}

/* ── HERO ── */
.hero{min-height:85vh;position:relative;display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;text-align:center;padding:8rem 4rem 5rem;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.88;}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(18,12,8,0.42) 0%,rgba(28,18,10,0.22) 45%,rgba(20,14,8,0.38) 100%);z-index:1;}
.hero-panel{position:relative;z-index:2;background:rgba(255,255,255,0.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:3rem 3.5rem 2.5rem;max-width:600px;width:100%;border-top:3px solid var(--gold);border-radius:0 0 4px 4px;text-align:center;animation:fadeUp 1s ease-out;box-shadow:0 20px 60px rgba(30,45,94,0.18);}
.eyebrow{display:inline-flex;align-items:center;gap:1rem;font-size:0.78rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:1.25rem;}
.eyebrow::before,.eyebrow::after{content:'';width:30px;height:1px;background:var(--navy);}
.hero-kicker{font-family:var(--sans);font-size:0.78rem;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:var(--brass);line-height:1.7;margin-bottom:1.1rem;max-width:460px;margin-left:auto;margin-right:auto;}
.hero-areas{font-family:var(--sans);font-size:0.72rem;font-weight:500;letter-spacing:0.08em;color:var(--slate);margin-bottom:0.9rem;line-height:1.5;}
.hero-statement{font-family:var(--serif);font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:400;line-height:1.1;color:var(--navy);margin-bottom:0.75rem;letter-spacing:-0.02em;}
.hero-statement em{font-style:italic;color:var(--brass);font-weight:600;}
.hero-tagline{font-size:0.9rem;color:var(--slate);margin-bottom:1.5rem;line-height:1.5;font-weight:400;}
.hero-phone{display:inline-flex;align-items:center;gap:0.6rem;color:var(--navy);text-decoration:none;font-family:var(--sans);font-size:1.65rem;font-weight:700;letter-spacing:0.04em;margin-bottom:1.25rem;transition:color 0.3s;line-height:1;}
.hero-phone:hover{color:var(--gold);}
.hero-phone svg{width:22px;height:22px;stroke:currentColor;flex-shrink:0;}
.hero-contact-btns{display:flex;gap:0.75rem;justify-content:center;margin-bottom:1rem;}
.hero-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;padding:0.85rem 1.4rem;border-radius:2px;font-family:var(--sans);font-size:0.78rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;transition:all 0.3s ease;border:1px solid rgba(30,45,94,0.25);color:var(--navy);background:transparent;flex:1;}
.hero-contact-btn svg{width:14px;height:14px;flex-shrink:0;}
.hero-contact-btn:hover{border-color:var(--gold);color:var(--gold);}
.hero-contact-btn--call{background:var(--navy);color:var(--gold);border-color:var(--navy);}
.hero-contact-btn--call:hover{background:#2a3d75;color:var(--gold);}
.hero-contact-btn--wa:hover{border-color:#25D366;color:#25D366;}
.hero-hours{font-size:0.75rem;color:var(--slate);letter-spacing:0.05em;opacity:0.8;}

/* ── WHY CHOOSE REVA ── */
.why-reva{background:var(--sky);padding:4.5rem 4rem;}
.why-reva .section-header{margin-bottom:2.5rem;}
.why-reva-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1200px;margin:0 auto;}
.why-card{background:var(--white);padding:2rem 1.75rem;border-bottom:3px solid var(--gold);transition:transform 0.3s,box-shadow 0.3s;}
.why-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px -12px rgba(30,45,94,0.12);}
.why-icon{color:var(--brass);margin-bottom:1rem;}
.why-title{font-family:var(--serif);font-size:1.3rem;color:var(--navy);font-weight:500;line-height:1.25;margin-bottom:0.65rem;}
.why-desc{font-size:0.85rem;color:var(--slate);line-height:1.7;}

/* ── MID-PAGE CTA ── */
.mid-cta{background:var(--navy);padding:3rem 4rem;text-align:center;}
.mid-cta-text{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--white);margin-bottom:1.5rem;line-height:1.4;}
.mid-cta-text strong{color:var(--gold);font-style:normal;}

/* ── SECTION BASE ── */
section{padding:4.5rem 4rem;position:relative;}
.section-header{text-align:center;max-width:700px;margin:0 auto 2.5rem;}
.section-eyebrow{display:inline-block;font-size:0.82rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem;font-weight:600;}
h2{font-family:var(--serif);font-size:clamp(2.1rem,4vw,3.2rem);color:var(--navy);font-weight:500;line-height:1.15;letter-spacing:-0.015em;margin-bottom:1.25rem;}
h2 em{font-style:italic;color:var(--brass);}
.section-intro{font-size:1rem;color:var(--slate);line-height:1.7;}

/* ── SERVICES ── */
.services{background:var(--white);padding-top:4.5rem;padding-bottom:4.5rem;}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;max-width:1100px;margin:0 auto;}
.services-grid--three{grid-template-columns:repeat(3,1fr);max-width:1200px;}
.service-card{background:var(--sky);padding:1.75rem;position:relative;transition:transform 0.4s,box-shadow 0.4s;border:1px solid rgba(201,185,122,0.12);}
.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px rgba(30,45,94,0.14);}
.service-card h3{font-family:var(--serif);font-size:1.5rem;color:var(--navy);font-weight:500;margin-bottom:0.75rem;line-height:1.2;}
.service-card p{color:var(--slate);font-size:0.88rem;line-height:1.7;}
.service-features{list-style:none;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid rgba(61,79,107,0.1);}
.service-features li{font-size:0.8rem;color:var(--slate);padding:0.3rem 0 0.3rem 1.2rem;position:relative;line-height:1.5;}
.service-features li::before{content:'';position:absolute;left:0;top:50%;width:6px;height:1px;background:var(--gold);}
.card-intro{font-family:var(--serif);font-style:italic;font-size:1.3rem;font-weight:400;color:var(--navy);line-height:1.5;margin-bottom:0.75rem;}
.service-checkline{display:flex;align-items:flex-start;gap:0.6rem;font-size:0.85rem;color:var(--slate);margin-top:0.5rem;}

/* ── SERVICE AREA ── */
.service-area{background:var(--navy);padding:3.5rem 4rem;position:relative;overflow:hidden;}
.service-area::before{content:'';position:absolute;top:-200px;left:-200px;width:500px;height:500px;border:1px solid rgba(201,185,122,0.08);border-radius:50%;}
.service-area-inner{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.service-area-intro{color:rgba(255,255,255,0.75);font-size:0.95rem;line-height:1.7;margin-bottom:2rem;}
.service-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.85rem;margin-bottom:1.75rem;}
.area-item{background:rgba(255,255,255,0.06);border:1px solid rgba(201,185,122,0.2);padding:0.75rem 1rem;font-family:var(--sans);font-size:0.75rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--white);transition:all 0.3s;}
.area-item:hover{background:rgba(201,185,122,0.12);border-color:var(--gold);color:var(--gold);}
.service-area-note{font-family:var(--serif);font-style:italic;font-size:1rem;color:rgba(255,255,255,0.8);}
.service-area-note a{color:var(--gold);text-decoration:none;}
.service-area-note a:hover{text-decoration:underline;}

/* ── ABOUT ── */
.about{background:var(--white);}
.about-content-full{max-width:860px;margin:0 auto;text-align:center;}
.about-content-full .section-eyebrow{display:block;margin-bottom:1.1rem;}
.about-content-full h2{text-align:center;}
.about-body p{margin-bottom:1.25rem;font-size:0.95rem;line-height:1.8;color:var(--slate);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(201,185,122,0.3);}
.pillar-num{font-family:var(--serif);font-size:2rem;color:var(--brass);font-weight:400;line-height:1;margin-bottom:0.35rem;}
.pillar-label{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--navy);font-weight:500;}

/* ── FOUNDER ── */
.founder-section{background:var(--sky);padding:4.5rem 4rem;}
.founder-inner--large{display:flex;gap:4rem;align-items:center;max-width:1100px;margin:0 auto;}
.founder-photo--large{width:360px;height:440px;object-fit:cover;object-position:center top;flex-shrink:0;box-shadow:0 24px 60px -12px rgba(30,45,94,0.2);border-radius:4px;}
.founder-image--large{position:relative;flex-shrink:0;}
.founder-image--large::after{content:'';position:absolute;inset:-8px -8px 8px 8px;border:1px solid rgba(201,185,122,0.35);border-radius:4px;pointer-events:none;z-index:0;}
.founder-content .section-eyebrow{display:block;margin-bottom:1rem;}
.founder-quote{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--slate);line-height:1.9;margin:0 0 1.1rem;border:none;padding:0;}
.founder-attribution{font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--brass);font-weight:500;}

/* ── FAQ ── */
.faq-section{background:var(--white);}
.faq-list{max-width:860px;margin:0 auto;}
.faq-item{background:var(--sky);border:1px solid rgba(201,185,122,0.2);margin-bottom:0.4rem;border-radius:2px;overflow:hidden;transition:border-color 0.3s;}
.faq-item.open{border-color:var(--gold);}
.faq-btn{width:100%;background:none;border:none;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--sans);font-size:0.95rem;font-weight:500;color:var(--navy);text-align:left;gap:1rem;}
.faq-btn:hover{color:var(--gold);}
.faq-icon{font-size:1.3rem;font-weight:300;color:var(--brass);flex-shrink:0;transition:transform 0.3s;line-height:1;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{display:none;padding:0 1.5rem 1rem;}
.faq-answer p{font-size:0.88rem;color:var(--slate);line-height:1.8;}
.faq-answer p a{color:var(--navy);}
.faq-item.open .faq-answer{display:block;}

/* ── HOW IT WORKS ── */
.how-it-works{background:var(--sky);}
.how-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;max-width:1000px;margin:0 auto;align-items:start;}
.how-step{text-align:center;padding:0 1.5rem;}
.how-step-num{font-family:var(--serif);font-size:2.25rem;color:var(--brass);font-weight:400;line-height:1;margin-bottom:0.85rem;}
.how-step-title{font-family:var(--serif);font-size:1.1rem;color:var(--navy);font-weight:500;margin-bottom:0.6rem;}
.how-step-desc{font-size:0.85rem;color:var(--slate);line-height:1.7;}
.how-step-divider{width:1px;background:rgba(201,185,122,0.3);align-self:stretch;margin:0 1rem;margin-top:1.5rem;}

/* ── TESTIMONIALS ── */
.testimonials-section{background:var(--navy);}
.testimonials-section .section-eyebrow{color:var(--gold);}
.testimonials-section h2 em,.quote-inner h2 em,.contact-inner h2 em{color:var(--gold);}
.testimonials-section h2{color:var(--white);}
.testimonials-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:680px;margin:0 auto;}
.testimonial-card{background:rgba(255,255,255,0.06);border:1px solid rgba(201,185,122,0.2);padding:1.75rem;position:relative;}
.testimonial-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);}
.testimonial-stars{color:var(--gold);font-size:1rem;letter-spacing:0.1em;margin-bottom:1rem;}
.testimonial-text{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:rgba(255,255,255,0.9);line-height:1.75;margin-bottom:1.25rem;}
.testimonial-author{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);font-weight:500;}

/* ── QUOTE FORM ── */
.quote-section{background:var(--navy);padding-top:2rem;position:relative;overflow:hidden;}
.quote-section::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border:1px solid rgba(201,185,122,0.08);border-radius:50%;}
.quote-section::after{content:'';position:absolute;bottom:-300px;left:-100px;width:500px;height:500px;border:1px solid rgba(142,184,218,0.08);border-radius:50%;}
.quote-inner{max-width:860px;margin:0 auto;position:relative;z-index:2;}
.quote-inner .section-eyebrow{color:var(--powder);}
.quote-inner h2{color:var(--white);text-align:center;}
.quote-inner .section-intro{color:rgba(255,255,255,0.7);text-align:center;margin-bottom:2.5rem;}
.quote-services-line{font-size:0.8rem;color:rgba(255,255,255,0.5);letter-spacing:0.08em;margin-top:0.65rem;font-family:var(--sans);}
.form-card{background:var(--white);padding:2.5rem;position:relative;}
.form-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--powder),var(--gold));}
.form-progress{height:3px;background:rgba(201,185,122,0.2);margin-bottom:1.75rem;border-radius:2px;}
.form-progress-bar{height:100%;background:var(--gold);border-radius:2px;transition:width 0.4s ease;width:33%;}
.form-steps-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;gap:0;}
.form-step-dot{width:30px;height:30px;border-radius:50%;background:rgba(61,79,107,0.15);color:var(--slate);font-size:0.72rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all 0.3s;flex-shrink:0;}
.form-step-dot.active{background:var(--navy);color:var(--gold);}
.form-step-dot.completed{background:var(--gold);color:var(--navy);}
.form-step-line{flex:1;height:1px;background:rgba(201,185,122,0.3);max-width:80px;}
.form-step{display:none;}
.form-step.active{display:block;}
.form-step-title{font-family:var(--serif);font-size:1.2rem;color:var(--navy);margin-bottom:1.25rem;font-weight:400;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.form-group{margin-bottom:0;}
.form-group.full{grid-column:span 2;}
.form-group label{display:block;font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--navy);font-weight:500;margin-bottom:0.45rem;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.8rem 1rem;border:1px solid rgba(61,79,107,0.2);background:var(--sky);font-family:var(--sans);font-size:0.88rem;color:var(--slate);border-radius:2px;transition:border-color 0.3s,background 0.3s;}
.form-group textarea{resize:vertical;min-height:90px;}
.photo-prompt{background:var(--sky);border-left:3px solid var(--gold);padding:0.85rem 1.1rem;font-size:0.85rem;color:var(--slate);line-height:1.6;}
.photo-prompt a{color:var(--navy);font-weight:600;text-decoration:underline;}
.word-counter{font-size:0.72rem;color:var(--slate);opacity:0.65;text-align:right;margin-top:0.3rem;}
.word-counter.at-limit{color:#b3261e;opacity:1;font-weight:600;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);background:var(--white);}
.field-note{display:block;font-size:0.8rem;color:var(--slate);font-style:italic;margin-top:0.35rem;opacity:0.8;}
.form-submit-area{grid-column:span 2;margin-top:0.5rem;}
.form-submit-area .btn-primary{width:100%;padding:1.15rem;background:var(--navy);color:var(--gold);font-size:0.82rem;}
.form-submit-area .btn-primary:hover{background:#2a3d75;transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,45,94,0.25);}
.form-status{grid-column:span 2;min-height:1rem;font-size:0.88rem;}
.form-status.success{color:var(--navy);font-family:var(--serif);font-style:italic;font-size:0.95rem;padding:1rem;background:var(--sky);border-left:3px solid var(--gold);}
.form-status.error{color:#B03030;background:rgba(176,48,48,0.06);padding:0.75rem 1rem;border-left:3px solid #B03030;}
.form-consent{grid-column:span 2;font-size:0.78rem;color:var(--slate);text-align:center;font-style:italic;opacity:0.8;line-height:1.55;}
.form-consent a{color:var(--navy);text-decoration:underline;text-decoration-color:rgba(201,185,122,0.5);}
.form-nav{display:flex;gap:1rem;align-items:center;margin-top:1.25rem;}
.form-nav .form-submit-area{flex:1;margin-top:0;}
.form-back-btn{padding:0.9rem 1.4rem;font-size:0.75rem;flex-shrink:0;}
.form-next-btn{width:100%;}
.form-success{text-align:center;padding:3rem 2rem;}
.form-success-icon{width:60px;height:60px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.6rem;color:var(--navy);font-weight:700;}
.form-success-title{font-family:var(--serif);font-size:1.85rem;color:var(--navy);font-weight:400;margin-bottom:0.65rem;}
.form-success-msg{font-size:0.95rem;color:var(--slate);line-height:1.7;}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}

/* ── BUTTONS ── */
.btn-primary{background:var(--gold);color:var(--navy);padding:1.1rem 2.25rem;border:none;border-radius:2px;font-family:var(--sans);font-size:0.82rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all 0.3s ease;}
.btn-primary:hover{background:#d4c485;transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,185,122,0.45);}
.btn-outline{background:transparent;color:var(--navy);padding:1rem 1.75rem;border:1px solid rgba(30,45,94,0.4);border-radius:2px;font-family:var(--sans);font-size:0.82rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;transition:all 0.3s ease;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* ── CONTACT ── */
.contact{background:var(--navy);padding:4.5rem 4rem;position:relative;overflow:hidden;}
.contact::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border:1px solid rgba(201,185,122,0.08);border-radius:50%;}
.contact-inner{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.contact-inner .section-eyebrow{color:var(--powder);}
.contact-inner h2{color:var(--white);}
.contact-inner h2 em{color:var(--gold);}
.contact-inner p{color:rgba(255,255,255,0.7);font-size:0.95rem;margin-bottom:2.5rem;}
.contact-details{display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(201,185,122,0.2);}
.contact-item{text-align:center;}
.contact-label{font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:0.45rem;font-weight:500;}
.contact-value{font-family:var(--serif);font-size:1.1rem;color:var(--white);font-weight:400;}
.contact-whatsapp{display:inline-flex;align-items:center;gap:0.5rem;color:var(--white) !important;text-decoration:none;font-family:var(--serif);font-size:1.1rem;transition:color 0.3s;}
.contact-whatsapp:hover{color:var(--gold) !important;}
.contact-whatsapp svg{width:15px;height:15px;fill:currentColor;}
.contact-phone{font-family:var(--serif);font-size:1.1rem;color:var(--white);text-decoration:none;display:block;transition:color 0.3s;}
.contact-phone:hover{color:var(--gold);}
.contact-hours div{font-size:0.85rem;line-height:2;}

/* ── FOOTER ── */
footer{background:var(--navy);color:var(--powder);padding:2.5rem 4rem;border-top:1px solid rgba(201,185,122,0.15);text-align:center;font-size:0.82rem;letter-spacing:0.1em;}
footer .logo{color:var(--white);margin-bottom:0.65rem;font-family:var(--serif);font-size:1.5rem;font-weight:500;letter-spacing:0.15em;}
footer .logo span{color:var(--gold);}
.footer-tag{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:0.9rem;letter-spacing:0.05em;margin-bottom:1.25rem;}
.footer-email{margin:0.4rem 0;}
.footer-email a{color:rgba(255,255,255,0.65);text-decoration:none;font-size:0.82rem;transition:color 0.3s;}
.footer-email a:hover{color:var(--gold);}
.footer-phone{margin:0.5rem 0 1rem;}
.footer-phone a{color:var(--gold);text-decoration:none;font-size:0.95rem;font-weight:500;letter-spacing:0.1em;transition:opacity 0.3s;}
.footer-phone a:hover{opacity:0.8;}
.footer-links{margin-top:0.75rem;}
.footer-links a{color:var(--powder);text-decoration:none;transition:color 0.3s;margin:0 0.5rem;}
.footer-links a:hover{color:var(--gold);}

/* ── VACATION RENTAL QC / STR SECTION ── */
.str-qc{background:var(--white);padding:4.5rem 4rem;border-top:3px solid var(--gold);}
.str-qc .section-header{margin-bottom:1rem;}
.str-positioning{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--navy);text-align:center;margin:0 auto 1.5rem;max-width:700px;line-height:1.5;}
.str-intro{max-width:760px;margin:0 auto;text-align:center;font-size:1rem;color:var(--slate);line-height:1.8;}
.str-statement{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.1rem);color:var(--navy);text-align:center;margin:2rem auto 2.75rem;font-weight:500;letter-spacing:-0.01em;}
.str-statement span{color:var(--brass);font-style:italic;}
.str-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto 2.75rem;}
.str-card{background:var(--navy);padding:2rem 1.75rem;border-top:3px solid var(--gold);transition:transform 0.3s,box-shadow 0.3s;}
.str-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px -14px rgba(30,45,94,0.35);}
.str-card-icon{color:var(--gold);margin-bottom:1rem;}
.str-card h3{font-family:var(--serif);font-size:1.35rem;color:var(--white);font-weight:500;line-height:1.25;margin-bottom:0.65rem;}
.str-card p{font-size:0.9rem;color:rgba(255,255,255,0.95);line-height:1.7;}
.str-research{max-width:860px;margin:0 auto 2.75rem;padding:1.5rem 1.75rem;background:var(--sky);border-left:3px solid var(--gold);}
.str-research p{font-family:var(--serif);font-size:1.08rem;color:var(--navy);line-height:1.65;}
.str-research strong{color:var(--brass);font-weight:600;}
.str-areas{max-width:900px;margin:0 auto 2.25rem;text-align:center;}
.str-areas-label{font-size:0.72rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:0.65rem;}
.str-areas-list{font-size:0.9rem;color:var(--slate);line-height:1.9;letter-spacing:0.02em;}
.str-cta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}
.str-cta .btn-primary{background:var(--navy);color:var(--gold);}
.str-cta .btn-primary:hover{background:#2a3d75;}
.str-cta-note{text-align:center;font-family:var(--serif);font-style:italic;font-size:0.92rem;color:var(--slate);margin-top:1.1rem;opacity:0.85;}
.str-cta-note a{color:var(--brass);font-weight:600;}

/* ── PERFORMANCE ── */
.founder-section,.faq-section,.how-it-works,.testimonials-section,.contact{content-visibility:auto;contain-intrinsic-size:auto 600px;}

/* ── STICKY MOBILE CTA ── */
.sticky-cta{display:none;}
@media(max-width:768px){
  .sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--navy);box-shadow:0 -4px 20px rgba(30,45,94,0.3);}
  .sticky-cta-btn{flex:1;text-align:center;padding:1rem 0.5rem;color:var(--white);text-decoration:none;font-size:0.8rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,0.15);}
  .sticky-cta-btn:last-child{border-right:none;}
  .sticky-cta-btn--primary{background:var(--gold);color:var(--navy);}
  body{padding-bottom:52px;}
}

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

/* ── RESPONSIVE TABLET (968px) ── */
@media(max-width:968px){
  nav{padding:0.75rem 1.5rem;}
  .logo-img{height:42px;}
  .nav-links{display:none;}
  .nav-mobile-phone{display:block;}
  section{padding:3rem 1.5rem;}
  .why-reva{padding:3rem 1.5rem;}
  .why-reva-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;}
  .mid-cta{padding:2.5rem 1.5rem;}
  .hero{padding:6rem 0.5rem 3rem;}
  .hero-panel{padding:2rem 1.25rem;max-width:100%;background:rgba(255,255,255,0.75);border-top-width:2px;}
  .services-grid{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .how-steps{grid-template-columns:1fr;gap:2rem;}
  .how-step-divider{display:none;}
  .founder-inner--large{flex-direction:column;align-items:center;text-align:center;gap:2rem;}
  .founder-photo--large{width:260px;height:320px;}
  .str-qc{padding:3rem 1.5rem;}
  .str-grid{grid-template-columns:1fr;gap:1.25rem;}
  .str-positioning{font-size:1.1rem;}
  .service-area{padding:3rem 1.5rem;}
  .service-area-grid{grid-template-columns:repeat(2,1fr);}
  .contact-details{gap:2rem;}
  footer{padding:2rem 1.5rem;}
}

/* ── RESPONSIVE MOBILE (600px) ── */
@media(max-width:600px){
  .hero-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,0.96);padding:1.75rem 1rem;}
  .hero{padding:5rem 0.25rem 2.5rem;}
  .str-cta{flex-direction:column;align-items:stretch;}
  .str-cta .btn-primary,.str-cta .btn-outline{width:100%;text-align:center;justify-content:center;padding:1rem 1.25rem;}
  .str-research{padding:1.25rem 1.25rem;}
  .str-research p{font-size:1rem;}
  .hero-phone{font-size:1.35rem;}
  .hero-contact-btns{flex-direction:column;gap:0.6rem;}
  .hero-contact-btn{width:100%;justify-content:center;padding:1rem 1.25rem;}
  .testimonials-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .form-group.full,.form-submit-area,.form-status,.form-consent{grid-column:span 1;}
  .why-reva-grid{grid-template-columns:1fr;}
  section{padding:2.5rem 1rem;}
  .form-card{padding:1.75rem 1.25rem;}
  .form-nav{flex-direction:column;align-items:stretch;}
  .form-back-btn{width:100%;}
  .service-area-grid{grid-template-columns:1fr 1fr;gap:0.6rem;}
  .area-item{font-size:0.68rem;padding:0.6rem 0.75rem;}
}
