/* ============================================
   VALENTINE LETTINGS — Premium Stylesheet
   ============================================ */
:root {
    --color-ink: #1a1612;
    --color-ink-light: #3d3630;
    --color-ink-muted: #6b6056;
    --color-cream: #faf8f5;
    --color-cream-dark: #f0ece6;
    --color-warm: #c9a96e;
    --color-warm-dark: #b8943e;
    --color-warm-light: #e8d5a8;
    --color-accent: #2c4a3e;
    --color-accent-light: #3d6b5a;
    --color-white: #ffffff;
    --color-border: #e4ddd4;
    --color-border-light: #ece8e2;
    --color-success: #3d7a5a;
    --color-error: #c44b4b;
    --font-display: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2.5rem;
    --space-xl: 4rem;
    --space-2xl: 6rem;
    --space-3xl: 8rem;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --shadow-sm: 0 1px 3px rgba(26,22,18,0.06);
    --shadow-md: 0 4px 20px rgba(26,22,18,0.08);
    --shadow-lg: 0 8px 40px rgba(26,22,18,0.1);
    --shadow-xl: 0 16px 60px rgba(26,22,18,0.12);
    --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
    --transition-slow: 0.6s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-cream);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-warm-dark);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--color-accent)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--color-ink)}
h1{font-size:clamp(2.2rem,5vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}

/* Cookie Banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-ink);color:var(--color-cream);padding:var(--space-md);z-index:9999;transition:var(--transition-slow)}
.cookie-banner.hidden{transform:translateY(100%);pointer-events:none}
.cookie-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}
.cookie-inner p{font-size:0.875rem;opacity:0.9;flex:1;min-width:240px}
.cookie-inner a{color:var(--color-warm-light);text-decoration:underline}
.cookie-actions{display:flex;gap:var(--space-xs)}
.btn-cookie-accept,.btn-cookie-reject{padding:0.5rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.8125rem;font-weight:600;cursor:pointer;transition:var(--transition)}
.btn-cookie-accept{background:var(--color-warm);color:var(--color-ink)}
.btn-cookie-reject{background:transparent;color:var(--color-cream);border:1px solid rgba(255,255,255,0.3)}
.btn-cookie-accept:hover{background:var(--color-warm-dark)}
.btn-cookie-reject:hover{border-color:rgba(255,255,255,0.6)}

/* Navigation */
.main-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-sm) 0;transition:var(--transition);background:transparent}
.main-nav.scrolled{background:rgba(250,248,245,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-sm);padding:0.6rem 0}
.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--space-md);display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none}
.logo-mark{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--color-warm);color:var(--color-white);font-family:var(--font-display);font-size:1.5rem;font-weight:700;border-radius:var(--radius-sm)}
.logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-ink);line-height:1.1}
.logo-sub{display:block;font-size:0.75rem;font-weight:400;font-family:var(--font-body);color:var(--color-ink-muted);letter-spacing:0.15em;text-transform:uppercase}
.main-nav:not(.scrolled) .logo-text,.main-nav:not(.scrolled) .logo-mark{color:var(--color-white)}
.main-nav:not(.scrolled) .logo-sub{color:rgba(255,255,255,0.7)}
.main-nav:not(.scrolled) .logo-mark{background:rgba(255,255,255,0.15);backdrop-filter:blur(10px)}
.nav-links{display:flex;align-items:center;list-style:none;gap:0.25rem}
.nav-links a{padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;color:var(--color-ink-muted);border-radius:var(--radius-sm);transition:var(--transition)}
.main-nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,0.85)}
.main-nav:not(.scrolled) .nav-links a:hover,.main-nav:not(.scrolled) .nav-links a.active{color:var(--color-white);background:rgba(255,255,255,0.1)}
.nav-links a:hover,.nav-links a.active{color:var(--color-ink);background:var(--color-cream-dark)}
.nav-cta{background:var(--color-warm)!important;color:var(--color-white)!important;font-weight:600!important;border-radius:var(--radius-md)!important}
.nav-cta:hover{background:var(--color-warm-dark)!important}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--color-ink);transition:var(--transition);border-radius:2px}
.main-nav:not(.scrolled) .nav-toggle span{background:var(--color-white)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.875rem 2rem;font-family:var(--font-body);font-size:0.9375rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:var(--transition);text-decoration:none;gap:0.5rem;letter-spacing:0.01em}
.btn-primary{background:var(--color-warm);color:var(--color-white);box-shadow:0 2px 12px rgba(201,169,110,0.3)}
.btn-primary:hover{background:var(--color-warm-dark);color:var(--color-white);box-shadow:0 4px 20px rgba(201,169,110,0.4);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--color-ink);border:1.5px solid var(--color-border)}
.btn-outline:hover{border-color:var(--color-warm);color:var(--color-warm-dark);background:rgba(201,169,110,0.05)}
.btn-sm{padding:0.5rem 1.25rem;font-size:0.8125rem}
.btn-full{width:100%}
.hero .btn-outline{color:var(--color-white);border-color:rgba(255,255,255,0.4)}
.hero .btn-outline:hover{border-color:var(--color-white);background:rgba(255,255,255,0.1);color:var(--color-white)}

/* Section Helpers */
.section-header{text-align:center;max-width:680px;margin:0 auto var(--space-xl)}
.section-header p{color:var(--color-ink-muted);margin-top:var(--space-xs);font-size:1.0625rem}
.section-header-light h2{color:var(--color-white)}
.section-header-light p{color:rgba(255,255,255,0.75)}
.section-label{display:inline-block;font-family:var(--font-body);font-size:0.75rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--color-warm-dark);margin-bottom:var(--space-xs)}
.section-label-light{color:var(--color-warm-light)}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c3e2d 0%,#1a2e1c 40%,#1a1612 100%);overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,22,18,0.3) 0%,rgba(26,22,18,0.5) 50%,rgba(26,22,18,0.7) 100%);z-index:1}
.hero-particles{position:absolute;inset:0;z-index:1;overflow:hidden}
.hero-particles .particle{position:absolute;width:2px;height:2px;background:rgba(201,169,110,0.4);border-radius:50%;animation:particleFloat 8s infinite ease-in-out}
@keyframes particleFloat{0%,100%{transform:translateY(0) scale(1);opacity:0}10%{opacity:1}90%{opacity:1}50%{transform:translateY(-120px) scale(1.5)}}
.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;padding:var(--space-xl) var(--space-md)}
.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1.25rem;background:rgba(255,255,255,0.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.12);border-radius:50px;color:var(--color-warm-light);font-size:0.8125rem;font-weight:500;margin-bottom:var(--space-lg);animation:fadeInUp 0.8s ease both}
.badge-dot{width:8px;height:8px;background:var(--color-warm);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.hero h1{color:var(--color-white);font-weight:500;margin-bottom:var(--space-sm);animation:fadeInUp 0.8s 0.15s ease both}
.hero-subtitle{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:400;font-style:italic;color:var(--color-warm-light);margin-bottom:var(--space-md);animation:fadeInUp 0.8s 0.3s ease both}
.hero-desc{color:rgba(255,255,255,0.8);font-size:1.0625rem;max-width:600px;margin:0 auto var(--space-lg);animation:fadeInUp 0.8s 0.45s ease both}
.hero-cta-group{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-md);animation:fadeInUp 0.8s 0.6s ease both}
.hero-micro{font-size:0.8125rem;color:rgba(255,255,255,0.5);animation:fadeInUp 0.8s 0.75s ease both}
.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.4);font-size:0.6875rem;letter-spacing:0.15em;text-transform:uppercase}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,0.4),transparent);animation:scrollBounce 2s infinite}
@keyframes scrollBounce{0%,100%{transform:scaleY(1);transform-origin:top}50%{transform:scaleY(0.5);transform-origin:top}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* PROPERTY SEARCH */
.property-search{padding:var(--space-3xl) 0;background:var(--color-white)}
.search-filters{margin-bottom:var(--space-xl)}
.filter-bar{display:flex;gap:var(--space-sm);padding:var(--space-md);background:var(--color-cream);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);align-items:flex-end;flex-wrap:wrap}
.filter-group{flex:1;min-width:140px}
.filter-group label{display:block;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-ink-muted);margin-bottom:0.35rem}
.filter-group select{width:100%;padding:0.65rem 0.875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-body);font-size:0.875rem;color:var(--color-ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b6056' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;padding-right:2rem}
.btn-search{min-width:120px;padding:0.65rem 1.5rem}
.filter-tags{display:flex;gap:0.5rem;margin-top:var(--space-sm);flex-wrap:wrap}
.tag{padding:0.4rem 1rem;border:1px solid var(--color-border);border-radius:50px;background:var(--color-white);font-family:var(--font-body);font-size:0.8125rem;color:var(--color-ink-muted);cursor:pointer;transition:var(--transition)}
.tag:hover,.tag.active{border-color:var(--color-warm);color:var(--color-warm-dark);background:rgba(201,169,110,0.05)}

/* Property Grid */
.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-md)}
.property-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-light);transition:var(--transition)}
.property-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.property-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--color-cream-dark)}
.property-placeholder-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.property-placeholder-img svg{width:100%;height:100%}
.property-badge{position:absolute;top:var(--space-sm);left:var(--space-sm);padding:0.3rem 0.75rem;background:var(--color-accent);color:var(--color-white);font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border-radius:var(--radius-sm)}
.property-tag{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:0.3rem 0.75rem;background:var(--color-warm);color:var(--color-white);font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border-radius:var(--radius-sm)}
.property-info{padding:var(--space-md)}
.property-info h3{font-size:1.15rem;margin-bottom:0.25rem}
.property-location{color:var(--color-ink-muted);font-size:0.875rem;margin-bottom:var(--space-sm)}
.property-features{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md)}
.property-features span{font-size:0.75rem;color:var(--color-ink-muted);padding:0.25rem 0.6rem;background:var(--color-cream);border-radius:var(--radius-sm)}
.property-footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-sm);border-top:1px solid var(--color-border-light)}
.property-price{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-ink)}
.property-price small{font-size:0.75rem;font-weight:400;color:var(--color-ink-muted);font-family:var(--font-body)}
.property-cta{text-align:center;margin-top:var(--space-xl)}

/* ABOUT */
.about{padding:var(--space-3xl) 0;background:var(--color-cream)}
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-xl);align-items:center}
.about-visual{position:relative}
.about-img-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-placeholder-img{aspect-ratio:4/5;background:var(--color-cream-dark)}
.about-placeholder-img svg{width:100%;height:100%}
.about-stat-card{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--color-warm);color:var(--color-white);padding:var(--space-md);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg)}
.stat-number{display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1}
.stat-label{font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;opacity:0.9}
.about-content .section-label{margin-bottom:var(--space-xs)}
.about-content h2{margin-bottom:var(--space-md)}
.about-lead{font-size:1.125rem;color:var(--color-ink-light);margin-bottom:var(--space-sm)}
.about-content p{color:var(--color-ink-muted);margin-bottom:var(--space-sm)}
.about-content strong{color:var(--color-ink)}
.about-highlights{margin-top:var(--space-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}
.highlight{display:flex;align-items:center;gap:0.6rem;font-size:0.9375rem;font-weight:500;color:var(--color-ink-light)}
.highlight-icon{color:var(--color-success);flex-shrink:0}

/* PROCESS */
.process{padding:var(--space-3xl) 0;background:var(--color-accent);position:relative;overflow:hidden}
.process::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,0.08) 0%,transparent 70%)}
.process-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md);position:relative}
.process-timeline::before{content:'';position:absolute;top:40px;left:10%;right:10%;height:1px;background:rgba(255,255,255,0.15)}
.process-step{text-align:center;position:relative}
.process-step::before{content:attr(data-step);display:block;font-family:var(--font-display);font-size:0.75rem;font-weight:600;color:var(--color-warm);letter-spacing:0.1em;margin-bottom:var(--space-xs)}
.step-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-md);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:50%;color:var(--color-warm-light);transition:var(--transition)}
.process-step:hover .step-icon{background:rgba(201,169,110,0.15);border-color:var(--color-warm);transform:scale(1.05)}
.process-step h3{color:var(--color-white);font-size:1.1rem;margin-bottom:0.5rem}
.process-step p{color:rgba(255,255,255,0.65);font-size:0.875rem;line-height:1.6}

/* USPs */
.usps{padding:var(--space-3xl) 0;background:var(--color-white)}
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}
.usp-card{padding:var(--space-lg);background:var(--color-cream);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);transition:var(--transition)}
.usp-card:hover{border-color:var(--color-warm);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.usp-icon{color:var(--color-warm-dark);margin-bottom:var(--space-md)}
.usp-card h3{margin-bottom:0.5rem;font-size:1.2rem}
.usp-card p{color:var(--color-ink-muted);font-size:0.9375rem}

/* FEATURED */
.featured{padding:var(--space-3xl) 0;background:var(--color-cream)}
.featured-carousel{position:relative}
.carousel-track{display:flex;gap:var(--space-md);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--space-sm)}
.carousel-track::-webkit-scrollbar{display:none}
.featured-card{min-width:380px;scroll-snap-align:start;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-light);transition:var(--transition);flex-shrink:0}
.featured-card:hover{box-shadow:var(--shadow-lg)}
.featured-img{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--color-cream-dark)}
.featured-img .property-placeholder-img.large svg{width:100%;height:100%}
.featured-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-sm);background:linear-gradient(transparent,rgba(0,0,0,0.6))}
.featured-status{font-size:0.75rem;font-weight:600;color:var(--color-white);text-transform:uppercase;letter-spacing:0.08em}
.featured-info{padding:var(--space-md)}
.featured-info h3{font-size:1.2rem;margin-bottom:0.25rem}
.featured-timeline{font-size:0.8125rem;color:var(--color-success);font-weight:500;margin-bottom:0.25rem}
.featured-price{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--color-ink)}
.carousel-nav{display:flex;justify-content:center;gap:0.75rem;margin-top:var(--space-md)}
.carousel-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-white);cursor:pointer;transition:var(--transition);color:var(--color-ink-muted)}
.carousel-btn:hover{border-color:var(--color-warm);color:var(--color-warm-dark)}

/* TESTIMONIALS */
.testimonials{padding:var(--space-3xl) 0;background:var(--color-ink)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}
.testimonial-card{padding:var(--space-lg);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);transition:var(--transition)}
.testimonial-card:hover{background:rgba(255,255,255,0.07);border-color:rgba(201,169,110,0.2)}
.testimonial-stars{color:var(--color-warm);font-size:1rem;letter-spacing:2px;margin-bottom:var(--space-sm)}
.testimonial-card blockquote{color:rgba(255,255,255,0.8);font-size:0.9375rem;font-style:italic;line-height:1.7;margin-bottom:var(--space-md)}
.testimonial-author{display:flex;align-items:center;gap:0.75rem}
.author-avatar{width:42px;height:42px;border-radius:50%;background:rgba(201,169,110,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.author-avatar span{font-family:var(--font-display);font-weight:600;color:var(--color-warm-light);font-size:0.875rem}
.testimonial-author strong{display:block;color:var(--color-white);font-size:0.9375rem}
.testimonial-author span{font-size:0.8125rem;color:rgba(255,255,255,0.5)}

/* CONTACT */
.contact{padding:var(--space-3xl) 0;background:var(--color-cream)}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-xl);align-items:start}
.contact-content .section-label{margin-bottom:var(--space-xs)}
.contact-content h2{margin-bottom:var(--space-md)}
.contact-content>p{color:var(--color-ink-muted);margin-bottom:var(--space-lg);font-size:1.0625rem}
.contact-details{display:flex;flex-direction:column;gap:var(--space-sm)}
.contact-item{display:flex;align-items:center;gap:0.75rem;color:var(--color-ink-light);font-size:0.9375rem}
.contact-item svg{color:var(--color-warm-dark);flex-shrink:0}
.contact-form-wrapper{background:var(--color-white);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}
.form-group{margin-bottom:var(--space-md)}
.form-group label{display:block;font-size:0.8125rem;font-weight:600;color:var(--color-ink-light);margin-bottom:0.35rem}
.form-group input,.form-group textarea{width:100%;padding:0.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:0.9375rem;color:var(--color-ink);background:var(--color-cream);transition:var(--transition)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-warm);box-shadow:0 0 0 3px rgba(201,169,110,0.1);background:var(--color-white)}
.form-group textarea{resize:vertical;min-height:100px}
.form-consent{font-size:0.8125rem;color:var(--color-ink-muted)}
.form-consent label{display:flex;align-items:flex-start;gap:0.5rem;font-weight:400;cursor:pointer}
.form-consent input[type="checkbox"]{width:auto;margin-top:3px;accent-color:var(--color-warm)}

/* FAQ */
.faq{padding:var(--space-3xl) 0;background:var(--color-white)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--color-border-light)}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--color-ink);gap:var(--space-sm);transition:var(--transition)}
.faq-question:hover{color:var(--color-warm-dark)}
.faq-question svg{flex-shrink:0;transition:var(--transition);color:var(--color-ink-muted)}
.faq-item.open .faq-question svg{transform:rotate(180deg);color:var(--color-warm-dark)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease,padding 0.4s ease}
.faq-item.open .faq-answer{max-height:400px;padding-bottom:var(--space-md)}
.faq-answer p{color:var(--color-ink-muted);font-size:0.9375rem;line-height:1.7}
.faq-answer a{color:var(--color-warm-dark);text-decoration:underline}

/* FOOTER */
.site-footer{background:var(--color-ink);color:rgba(255,255,255,0.7);padding:var(--space-xl) 0 var(--space-md)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,0.08)}
.footer-logo{display:flex;align-items:center;gap:0.6rem;margin-bottom:var(--space-sm)}
.footer-logo .logo-mark{background:rgba(201,169,110,0.2);color:var(--color-warm-light)}
.footer-logo .logo-text{color:var(--color-white)}
.footer-logo .logo-sub{color:rgba(255,255,255,0.5)}
.footer-brand p{font-size:0.875rem;line-height:1.6;color:rgba(255,255,255,0.55);margin-bottom:var(--space-md)}
.footer-social{display:flex;gap:0.75rem}
.social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);transition:var(--transition)}
.social-link:hover{background:rgba(201,169,110,0.2);color:var(--color-warm-light)}
.footer-links-col h4{color:var(--color-white);font-family:var(--font-body);font-size:0.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--space-sm)}
.footer-links-col ul{list-style:none}
.footer-links-col li{margin-bottom:0.5rem}
.footer-links-col a{color:rgba(255,255,255,0.55);font-size:0.875rem;transition:var(--transition)}
.footer-links-col a:hover{color:var(--color-warm-light)}
.footer-badges{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid rgba(255,255,255,0.08);flex-wrap:wrap}
.trust-badge{display:flex;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.5);font-size:0.75rem;font-weight:500}
.trust-badge svg{color:var(--color-warm);opacity:0.7}
.footer-bottom{text-align:center;padding-top:var(--space-md)}
.footer-bottom p{font-size:0.75rem;color:rgba(255,255,255,0.35);margin-bottom:0.25rem}

/* FEES & COMPLIANCE PAGE */
.page-hero{background:var(--color-accent);padding:calc(var(--space-3xl) + 60px) 0 var(--space-xl);text-align:center}
.page-hero h1{color:var(--color-white);margin-bottom:var(--space-xs)}
.page-hero p{color:rgba(255,255,255,0.75);font-size:1.0625rem;max-width:600px;margin:0 auto}
.page-hero .section-label{color:var(--color-warm-light)}
.compliance-nav{position:sticky;top:60px;z-index:100;background:var(--color-white);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}
.compliance-nav-inner{display:flex;gap:0.25rem;padding:0.5rem 0;overflow-x:auto;scrollbar-width:none}
.compliance-nav-inner::-webkit-scrollbar{display:none}
.compliance-nav-inner a{padding:0.5rem 1rem;font-size:0.8125rem;font-weight:500;color:var(--color-ink-muted);border-radius:var(--radius-sm);white-space:nowrap;transition:var(--transition)}
.compliance-nav-inner a:hover{color:var(--color-ink);background:var(--color-cream)}
.compliance-section{padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border-light)}
.compliance-section h2{margin-bottom:var(--space-xs)}
.compliance-section>.container>p{color:var(--color-ink-muted);margin-bottom:var(--space-lg);max-width:700px}

/* Trust Grid */
.trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}
.trust-card{padding:var(--space-lg);background:var(--color-cream);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}
.trust-icon{color:var(--color-accent);margin-bottom:var(--space-sm)}
.trust-card h3{margin-bottom:0.5rem;font-size:1.1rem}
.trust-card p{color:var(--color-ink-muted);font-size:0.9375rem;margin-bottom:var(--space-xs)}
.trust-ref{font-size:0.8125rem;color:var(--color-ink-muted);font-style:italic}

/* Fees */
.fees-section{background:var(--color-cream)}
.fees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}
.fee-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);position:relative;transition:var(--transition)}
.fee-card:hover{box-shadow:var(--shadow-md)}
.fee-card-featured{border-color:var(--color-warm);box-shadow:var(--shadow-md)}
.fee-popular{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--color-warm);color:var(--color-white);font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:0.3rem 1rem;border-radius:0 0 var(--radius-sm) var(--radius-sm)}
.fee-header{margin-bottom:var(--space-md)}
.fee-header h3{font-size:1.3rem;margin-bottom:0.15rem}
.fee-subtitle{color:var(--color-ink-muted);font-size:0.875rem}
.fee-price{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light)}
.fee-amount{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-ink)}
.fee-basis{display:block;font-size:0.8125rem;color:var(--color-ink-muted)}
.fee-includes{list-style:none;margin-bottom:var(--space-lg)}
.fee-includes li{display:flex;align-items:flex-start;gap:0.6rem;padding:0.5rem 0;font-size:0.875rem;color:var(--color-ink-light);border-bottom:1px solid var(--color-border-light)}
.fee-includes li:last-child{border-bottom:none}
.fee-includes svg{color:var(--color-success);flex-shrink:0;margin-top:2px}

/* Additional Fees */
.additional-fees{background:var(--color-white);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border)}
.additional-fees h3{margin-bottom:var(--space-md)}
.additional-fees-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.add-fee-item{display:flex;justify-content:space-between;align-items:center;padding:0.75rem var(--space-sm);border-bottom:1px solid var(--color-border-light)}
.add-fee-name{font-size:0.9375rem;color:var(--color-ink-light)}
.add-fee-price{font-weight:600;font-size:0.9375rem;color:var(--color-ink)}
.fees-disclaimer{margin-top:var(--space-md);font-size:0.8125rem;color:var(--color-ink-muted);font-style:italic}

/* Policy Content */
.policy-content{max-width:800px}
.policy-block{margin-bottom:var(--space-lg)}
.policy-block h3{margin-bottom:0.5rem;font-size:1.15rem}
.policy-block p{color:var(--color-ink-muted);font-size:0.9375rem}

/* Complaints */
.complaints-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}
.complaint-step{background:var(--color-cream);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border-light)}
.complaint-step-num{font-family:var(--font-body);font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-warm-dark);margin-bottom:0.5rem}
.complaint-step h3{margin-bottom:0.5rem;font-size:1.15rem}
.complaint-step p{color:var(--color-ink-muted);font-size:0.9375rem}
.company-section{border-bottom:none}
.company-info-card{background:var(--color-cream);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);max-width:400px}
.company-info-card p{color:var(--color-ink-muted);font-size:0.9375rem;margin-bottom:0.15rem}
.company-info-card strong{color:var(--color-ink)}
.compliance-cta{padding:var(--space-xl) 0;text-align:center;background:var(--color-accent)}
.compliance-cta h2{color:var(--color-white);margin-bottom:var(--space-xs)}
.compliance-cta p{color:rgba(255,255,255,0.7);margin-bottom:var(--space-md)}

/* Scroll Reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1024px){
    .process-timeline{grid-template-columns:repeat(3,1fr)}
    .process-timeline::before{display:none}
    .usp-grid{grid-template-columns:repeat(2,1fr)}
    .testimonial-grid{grid-template-columns:repeat(2,1fr)}
    .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
    .fees-grid{grid-template-columns:1fr;max-width:500px}
}
@media(max-width:768px){
    .nav-toggle{display:flex}
    .nav-links{position:fixed;top:0;right:-100%;width:80%;max-width:360px;height:100vh;background:var(--color-cream);flex-direction:column;padding:var(--space-3xl) var(--space-lg);gap:0.5rem;box-shadow:var(--shadow-xl);transition:right var(--transition);z-index:999}
    .nav-links.open{right:0}
    .nav-links a{color:var(--color-ink)!important;font-size:1rem;padding:0.75rem}
    .hero-content{padding:var(--space-xl) var(--space-sm)}
    .about-grid{grid-template-columns:1fr;gap:var(--space-lg)}
    .about-visual{max-width:400px;margin:0 auto}
    .about-highlights{grid-template-columns:1fr}
    .process-timeline{grid-template-columns:1fr;gap:var(--space-lg);max-width:500px;margin:0 auto}
    .usp-grid{grid-template-columns:1fr}
    .property-grid{grid-template-columns:1fr}
    .featured-card{min-width:300px}
    .testimonial-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-lg)}
    .trust-grid{grid-template-columns:1fr}
    .complaints-steps{grid-template-columns:1fr}
    .additional-fees-grid{grid-template-columns:1fr}
    .filter-bar{flex-direction:column}
    .filter-group{min-width:100%}
    .footer-badges{gap:var(--space-sm)}
}
@media(max-width:480px){
    html{font-size:15px}
    .footer-grid{grid-template-columns:1fr}
    .hero-cta-group{flex-direction:column;align-items:center}
    .hero-cta-group .btn{width:100%;max-width:300px}
    .cookie-inner{flex-direction:column;text-align:center}
}
