#hero-section{min-height:100vh!important}
#hero-section .hero-bg,#hero-section .hero-bg img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.hero-content{animation:heroFadeIn 1.4s cubic-bezier(.4,0,.2,1) both}
.hero-label{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#fff;margin-bottom:24px;font-weight:400;text-shadow:0 1px 6px rgba(0,0,0,.2)}
.hero-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(40px,5.5vw,68px);color:var(--white-warm);line-height:1.15;margin-bottom:24px;text-shadow:0 2px 40px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.15)}
.hero-title em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--soft-gold)}
.hero-subtitle{font-family:'Lora',serif;font-size:clamp(16px,2vw,20px);font-weight:400;font-style:italic;color:#fff;max-width:520px;margin:0 auto 44px;line-height:1.7}
.btn-hero-secondary:hover{background:rgba(253,251,248,.1);border-color:rgba(253,251,248,.6);color:var(--white-warm)}
.section-title{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(30px,3.5vw,46px);color:var(--deep-cocoa);margin-bottom:16px;line-height:1.2}
.welcome-text h2{font-family:'DM Serif Display',serif;font-size:clamp(28px,3.2vw,40px);color:var(--deep-cocoa);font-weight:400;line-height:1.3}
.welcome-text h2 em{font-style:italic;color:var(--earth-brown)}
.hero-logo-anim{margin-bottom:32px;display:flex;justify-content:center}
.hero-logo-anim svg{filter:drop-shadow(0 4px 20px rgba(0,0,0,.15))}
.hero-logo-anim .doll-outer{animation:dollReveal 1.6s cubic-bezier(.4,0,.2,1) .2s both}
.hero-logo-anim .doll-mid{animation:dollReveal 1.6s cubic-bezier(.4,0,.2,1) .55s both}
.hero-logo-anim .doll-inner{animation:dollReveal 1.6s cubic-bezier(.4,0,.2,1) .9s both}
.hero-logo-anim .doll-core{animation:dollReveal 1.6s cubic-bezier(.4,0,.2,1) 1.2s both}
.hero-logo-anim .doll-glow{animation:glowPulse 3s ease-in-out 1.8s both infinite}
.hero-scroll-hint{animation:scrollBounce 2.5s ease-in-out infinite}
.intro{padding:120px 40px 160px;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 50px),0 100%);margin-bottom:-50px;z-index:1}
.intro::before{content:'';position:absolute;top:-100px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.06) 0%,transparent 70%);pointer-events:none;z-index:1}
.intro::after{content:'';position:absolute;bottom:-80px;left:-100px;width:350px;height:350px;border-radius:50%;border:1px solid rgba(210,196,174,.08);pointer-events:none}
.intro-text-block{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px rgba(74,55,38,.04)}
.intro-lead{font-family:'DM Serif Display',serif;font-size:clamp(26px,3.2vw,38px);color:var(--deep-cocoa);line-height:1.35;font-weight:400}
.intro-lead em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--earth-brown)}
.intro-body{font-size:16px;color:var(--text-body);line-height:1.85;max-width:600px}
.services{overflow:hidden}
.services::before{content:'';position:absolute;bottom:-80px;left:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(196,206,188,.08) 0%,transparent 70%);pointer-events:none;z-index:0}
.services::after{content:'';position:absolute;top:40px;right:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(212,181,168,.06) 0%,transparent 70%);pointer-events:none;z-index:0}
.section-desc{font-size:15px;color:var(--text-soft);max-width:540px;margin:0 auto;line-height:1.8}
.services .section-desc p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.service-card{transition:all .45s cubic-bezier(.4,0,.2,1)}
.service-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(74,55,38,.1);border-color:rgba(201,169,110,.3)}
.service-card-img img{transition:transform .6s cubic-bezier(.4,0,.2,1)}
.service-card:hover .service-card-img img{transform:scale(1.06)}
.service-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(74,55,38,.08) 100%)}
.service-card-link{display:inline-flex;align-items:center;gap:6px;transition:gap .3s,color .3s}
.service-card:hover .service-card-link{gap:10px;color:var(--earth-brown)}
.service-card-icon{width:40px;height:40px;margin-bottom:16px}
.service-card-icon svg,.service-card-icon{opacity:.98}
.service-card-link svg{transition:transform .3s}
.service-card:hover .service-card-link svg{transform:translateX(3px)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{position:relative;border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;background:var(--white-warm);border:1px solid rgba(210,196,174,.25);transition:all .45s cubic-bezier(.4,0,.2,1)}
.service-card-body{padding:30px 24px 34px;flex:1;display:flex;flex-direction:column}
.service-card-title{font-family:'DM Serif Display',serif;font-size:21px;color:var(--deep-cocoa);margin-bottom:10px;font-weight:400;line-height:1.2;min-height:2.35em}
.service-card-text{font-size:14px;color:var(--text-soft);line-height:1.7;flex:1;margin-top:0;margin-bottom:26px}
.service-card-text p{margin:0}
.service-card-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--soft-gold);font-weight:500;transition:gap .3s,color .3s;margin-top:14px}
.services .service-card-body{text-align:center;align-items:center}
.services .service-card-icon{display:block;margin:0 auto 16px}
.services .service-card-title{text-align:center}
.services .service-card-text{text-align:center}
.services .service-card-link{align-self:center}
@media (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.services-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.welcome{padding:100px 40px;background:var(--white-warm);position:relative;overflow:hidden}
.welcome::before{content:'';position:absolute;top:-80px;left:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.06) 0%,transparent 70%);pointer-events:none}
.welcome::after{content:'';position:absolute;bottom:-60px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(196,206,188,.07) 0%,transparent 70%);pointer-events:none}
.welcome-features{display:flex;flex-direction:column;gap:16px;margin-top:12px}
.welcome-feature{display:flex;align-items:flex-start;gap:14px}
.welcome-feature-icon{width:44px;height:44px;border-radius:12px;background:var(--ivory);border:1px solid rgba(210,196,174,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.welcome-feature-icon svg{opacity:1}
.welcome-feature-text{display:flex;flex-direction:column;gap:2px}
.welcome-feature-title{font-family:'DM Serif Display',serif;font-size:16px;color:var(--deep-cocoa);font-weight:400}
.welcome-feature-desc{font-size:14px;color:var(--text-soft);line-height:1.6}
.welcome-btn{display:inline-flex;align-items:center;gap:10px;background:var(--deep-cocoa);color:var(--ivory);padding:16px 36px;border-radius:40px;text-decoration:none;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;transition:all .35s;align-self:flex-start;margin-top:8px}
.welcome-btn:hover{background:var(--earth-brown);transform:translateY(-2px);box-shadow:0 8px 30px rgba(74,55,38,.15)}
.reassurance{padding:100px 40px;position:relative;overflow:hidden}
.reassurance::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;border-radius:50%;border:1px solid rgba(210,196,174,.1);pointer-events:none}
.reassurance::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;border-radius:50%;border:1px solid rgba(210,196,174,.07);pointer-events:none}
.reassurance-inner{max-width:1100px;margin:0 auto;position:relative;z-index:1}
.reassurance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.reassurance-card{background:var(--white-warm);border:1px solid rgba(210,196,174,.2);border-radius:20px;padding:36px 28px;text-align:center;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}
.reassurance-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(74,55,38,.07);border-color:rgba(201,169,110,.25)}
.reassurance-card-icon{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:var(--ivory);border:1px solid rgba(210,196,174,.2);display:flex;align-items:center;justify-content:center}
.reassurance-card h4{font-family:'DM Serif Display',serif;font-size:20px;color:var(--deep-cocoa);font-weight:400;margin-bottom:10px}
.reassurance-card p{font-size:14.5px;color:var(--text-soft);line-height:1.75}
.reassurance .section-desc p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.reassurance-card-text{font-size:14.5px;color:var(--text-soft);line-height:1.75}
.reassurance-card-text p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.reassurance-card-text strong{font-weight:500;color:var(--text-body)}
.parcours{padding:110px 40px;background:var(--white-warm);position:relative;overflow:hidden}
.parcours::before{content:'';position:absolute;top:-100px;right:-150px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,.05) 0%,transparent 70%);pointer-events:none}
.parcours::after{content:'';position:absolute;bottom:-80px;left:-100px;width:400px;height:400px;border-radius:50%;border:1px solid rgba(210,196,174,.08);pointer-events:none}
.parcours-inner{max-width:1000px;margin:0 auto}
.parcours-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;position:relative}
.parcours-steps::before{content:'';position:absolute;top:44px;left:calc(16.66% + 20px);right:calc(16.66% + 20px);height:1px;background:linear-gradient(90deg,var(--soft-gold),var(--blush-rose),var(--sage-mist));opacity:.4;z-index:0}
.parcours-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 20px;position:relative;z-index:1}
.parcours-step-icon{width:88px;height:88px;border-radius:50%;background:var(--ivory);border:1.5px solid rgba(210,196,174,.3);display:flex;align-items:center;justify-content:center;margin-bottom:24px;position:relative;transition:all .45s cubic-bezier(.4,0,.2,1)}
.parcours-step:hover .parcours-step-icon{border-color:var(--soft-gold);box-shadow:0 8px 30px rgba(201,169,110,.12);transform:translateY(-4px)}
.parcours-step-num{position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--soft-gold);color:var(--white-warm);font-family:'DM Serif Display',serif;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(201,169,110,.3)}
.parcours-step h4{font-family:'DM Serif Display',serif;font-size:20px;color:var(--deep-cocoa);font-weight:400;margin-bottom:8px}
.parcours-step p{font-size:14.5px;color:var(--text-soft);line-height:1.7;max-width:260px}
.parcours .section-desc p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.parcours-step-text{font-size:14.5px;color:var(--text-soft);line-height:1.7;max-width:260px}
.parcours-step-text p{margin:0;font-size:inherit;line-height:inherit;color:inherit}
.parcours-step-text strong{font-weight:500;color:var(--text-body)}
.quote-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(201,169,110,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(201,169,110,.05) 0%,transparent 50%)}
.quote-band::after{content:'';position:absolute;top:50%;right:-100px;transform:translateY(-50%);width:250px;height:250px;border-radius:50%;border:1px solid rgba(201,169,110,.06);pointer-events:none}
.quote-band-inner{position:relative;z-index:1}
@keyframes heroFadeIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes dollReveal{0%{opacity:0;transform:scale(.6) translateY(12px)}60%{opacity:1;transform:scale(1.04) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes glowPulse{0%,100%{opacity:.3}50%{opacity:.6}}
@keyframes scrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
@media (max-width:1024px){.reassurance-grid{grid-template-columns:repeat(2,1fr)}.parcours-steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.welcome{padding:80px 24px}.welcome-inner{grid-template-columns:1fr;gap:36px}.welcome-text{text-align:center;align-items:center}.welcome-btn{align-self:center}.welcome-features{align-self:stretch;width:100%;max-width:100%}.welcome-feature{width:100%;justify-content:flex-start}.welcome-feature-text{text-align:left;align-items:flex-start}.intro-text-block{text-align:center;align-items:center}.intro-lead{text-align:center}.intro-body{margin-left:auto;margin-right:auto}.intro-signature{justify-content:center}.reassurance{padding:80px 24px}.reassurance-grid{grid-template-columns:1fr;max-width:420px;margin:60px auto 0}.parcours{padding:80px 24px}.parcours-steps{grid-template-columns:1fr;gap:48px;max-width:340px;margin:64px auto 0}.parcours-steps::before{display:none}}
.cta-text p{margin:0;color:rgba(253,251,248,.7)}
.quote-band-text p{margin:0;color:rgba(253,251,248,.9)}
.quote-band-text strong{color:var(--soft-gold);font-weight:500}
.cta-section .cta-title,.cta-section .cta-title p{font-weight:400;margin:0}
