/* Silver, lavender and midnight: a shared finish for every page. */
:root{--silver:#b9becb;--silver-dark:#737d95;--silver-line:#cbd0dd;--purple:#72608e;--metal:linear-gradient(115deg,#fff 0%,#e9eaf0 26%,#fdfdff 45%,#cbd0dd 71%,#f5f4fb 100%)}
body{background:#fcfbfe;color:#19233e}
.site-header{background:linear-gradient(112deg,#ffffffed,#f3f3f8ef 55%,#ffffffed);border:1px solid #fff;border-bottom-color:#c4c7d5;box-shadow:0 10px 35px #18213c12,inset 0 -2px 0 #ffffffb5}
.site-header:after{content:'';position:absolute;left:12%;right:12%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#abb4cb,#ece8ff,#abb4cb,transparent);pointer-events:none}
.brand-symbol>span{background:linear-gradient(140deg,#f2f0fa,#7d829a 43%,#cdd0dd 62%,#716484);color:transparent;background-clip:text;-webkit-background-clip:text}
.brand-symbol i{background:linear-gradient(135deg,#fff,#9a8ab8);box-shadow:0 0 8px #b8a8dd88}
.brand-name{letter-spacing:2.5px}.brand-name b{color:#80708f}
.desktop-nav{gap:25px;margin-right:14px}.desktop-nav>a{font-size:12px}
.nav-quote{background:var(--metal);border:1px solid #bdc2d0;border-radius:5px;box-shadow:inset 0 1px 0 white,0 3px 8px #26325006;transition:box-shadow .25s,border-color .25s}
.nav-quote:hover{border-color:#7c829c;box-shadow:inset 0 1px 0 white,0 5px 14px #26325016}
.button{border-color:#64708d55;background:linear-gradient(120deg,#19243f,#252a4d 65%,#42365d);border-radius:5px;box-shadow:inset 0 1px 0 #c7c5dd38,0 5px 12px #18233e12}
.button:hover{background:linear-gradient(120deg,#202d4a,#51406a);border-color:#a7a5bf;box-shadow:inset 0 1px 0 #ffffff45,0 8px 24px #18233e24}
.hero{background:#efedf6;border-bottom:1px solid #d2d3df}
.hero .hero-image-shade{background:linear-gradient(90deg,#f2f0f9f7 0%,#f2f0f9eb 25%,#f2f0f99c 44%,#f2f0f910 68%,transparent)}
.hero:before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#d1d4df,#fff 23%,#b2b9cb 50%,#f1eaff 76%,#c9c7dc);z-index:2}
.hero h1{letter-spacing:-2.8px}.hero h1 em{color:#786392;background:linear-gradient(110deg,#75608c,#8b75a7 47%,#66567d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .eyebrow{letter-spacing:2.9px}.hero .eyebrow>span{width:27px;background:linear-gradient(90deg,#7b8095,#bdafd5)}
.hero .button{background:linear-gradient(120deg,#19243f,#252a4d 65%,#42365d);border-color:#8f8fa350}
.hero .button:hover{background:linear-gradient(120deg,#263351,#554370);border-color:#a7a5bf}
.hero .quiet-button{background:var(--metal);padding:16px 20px;border:1px solid #bfc3d2;border-radius:5px;min-height:54px;box-shadow:inset 0 1px 0 white,0 4px 16px #18213c06}
.hero-buttons{gap:18px}.hero-footnote{color:#54596c;font-size:11px}
.image-caption{border:1px solid #e6e6f2;background:linear-gradient(120deg,#ffffffe8,#e9e9f1da 44%,#ffffffd9);border-bottom-color:#bbc0cf;border-radius:8px;padding:21px 27px;box-shadow:0 12px 34px #1d29401c,inset 0 1px 0 white}
.caption-star{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--metal);color:#77648e;border:1px solid #c1c4d2;box-shadow:inset 0 1px 2px white;font-size:31px;animation:silver-glow 6s ease-in-out infinite}
.service-strip{background:linear-gradient(105deg,#f8f8fc,#e8e9f1 32%,#fff 60%,#eeebf6);border-bottom-color:#d3d3df;border-top-color:#fff}
.strip-inner{padding:25px 0}.strip-inner>span{font-size:12px;letter-spacing:.1px}.strip-inner svg{color:#75668e}
.services-section{background:radial-gradient(ellipse at 90% 12%,#ece8f785,transparent 48%),#fcfbfe}
.section-heading h2 em,.care-copy h2 em,.quote-intro h2 em,.faq-layout h2 em{color:#78678f}
.service-toolbar{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:-12px 0 30px}
.service-filters{display:flex;gap:5px;border:1px solid #d7d7e1;background:#f0eff5;padding:5px;border-radius:8px}
.service-filters button{border:1px solid transparent;background:transparent;color:#5e6076;font-size:11px;padding:11px 17px;border-radius:5px;transition:background .2s,box-shadow .2s}
.service-filters button:hover{color:var(--navy);background:#ffffff70}
.service-filters button[aria-pressed=true]{background:var(--metal);border-color:#c2c6d3;color:#202943;box-shadow:0 2px 7px #1d294012,inset 0 1px 0 #fff}
.service-count{font-size:10px;letter-spacing:.5px;color:#62697c;white-space:nowrap}
.service-card{border-radius:10px;overflow:hidden;border:1px solid #d2d4e0;background:linear-gradient(135deg,#fff,#faf9fd);box-shadow:0 4px 12px #1b264605;transition:transform .3s,box-shadow .3s,border-color .3s}
.service-card:hover{border-color:#a9afc4;box-shadow:0 18px 35px #1b264613;transform:translateY(-5px)}
.service-photo{border-bottom:2px solid #d0d1df;isolation:isolate}
.service-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 34%,#ffffff28 50%,transparent 66%);transform:translateX(-110%);pointer-events:none;z-index:1;transition:transform .85s}
.service-card:hover .service-photo:after{transform:translateX(110%)}
.photo-label{background:#1d284bd9;border:1px solid #dadde461;border-radius:4px;letter-spacing:1.4px;padding:7px 12px}
.photo-arrow{background:var(--metal);border:1px solid #d7d9e5;width:43px;height:43px;box-shadow:0 4px 18px #15213f18}
.service-card:hover .photo-arrow{background:var(--metal)}
.service-content{padding:29px 32px 32px}.service-content p{font-size:14px;color:#62697c}
.extra-services{gap:28px;border:0;margin-top:28px}
.extra-service,.extra-service:first-child,.extra-service:last-child{padding:23px 25px;border:1px solid #d4d5e0;border-radius:8px;background:linear-gradient(120deg,#eeedf5,#fcfcff 66%,#eeedf5);box-shadow:inset 0 1px 0 white}
.line-icon{background:var(--metal);border:1px solid #c6c9d8;box-shadow:inset 0 1px 0 white;color:#716286}
.care-section{background:linear-gradient(125deg,#eceaf4,#f5f4f9 49%,#e9e8f2);border-block:1px solid #dcdae6}
.care-visual{border:1px solid #ccd0df;border-radius:11px;box-shadow:0 18px 44px #17223b14;outline:1px solid #ffffffa6;outline-offset:6px}
.care-item{border-top-color:#d1cfdc}.care-item>span{color:#646e85;font-size:18px}
.care-item h3{font-size:16px}.care-item p{font-size:13px}
.process-grid{gap:35px}.process-item{padding:28px;border:1px solid #d5d6e1;border-radius:9px;background:linear-gradient(128deg,#fff,#f1eff8);box-shadow:inset 0 1px 0 white}
.step-no{display:inline-block;color:#8a829d;background:linear-gradient(140deg,#686f86,#a8aabd 50%,#7e6a95);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:48px}
.process-item h3{margin-top:21px}
.about-section{background:radial-gradient(ellipse at 92% 25%,#67508055,transparent 55%),linear-gradient(120deg,#18233f,#222a47 60%,#39304f);border-block:1px solid #b3b5c6}
.about-grid{position:relative;z-index:1}.name-card{border-color:#b5b9ce66;border-radius:8px;background:linear-gradient(135deg,#ffffff14,#e6e9ff06 47%,#d6c6ef12);box-shadow:inset 0 1px 0 #ffffff1c,0 15px 30px #0b122217}
.person-initial{color:#dbdce8;background:linear-gradient(125deg,#fff,#9ca5bc 46%,#e7deef 68%,#b4b7ce);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.about-heading h2 em{color:#d2c4e9}
.reviews-section{background:radial-gradient(ellipse at 95% 20%,#e3e2f5,transparent 45%),linear-gradient(110deg,#f5f4fa,#fafafe);border-bottom:1px solid #dbdbe6}
.reviews-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:100px}
.reviews-intro>p:not(.eyebrow){max-width:360px;font-size:14px;line-height:1.9;margin-top:25px}.reviews-intro>.text-link{margin-top:27px}
.review-panel{padding:38px 40px;border:1px solid #bbc1d2;border-radius:12px;background:linear-gradient(122deg,#fff 0%,#edeef5 40%,#fff 69%,#e5e1f0);box-shadow:inset 0 1px 0 white,inset 0 -1px 0 #fff,0 20px 50px #26304a0c;position:relative;overflow:hidden}
.review-panel:before{content:'';height:2px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#c2c7d6,#fff,#b3b9cc,#f9f8ff)}
.review-panel-top{display:flex;align-items:center;justify-content:space-between;height:56px;margin-bottom:15px}.review-source{font-size:12px;font-weight:550;color:#59637a;letter-spacing:.25px}
.review-mark{font-family:Georgia,serif;font-size:100px;line-height:1;color:#a4a8bf;transform:translateY(15px)}
.review-panel h3{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:-1px;line-height:1.15}
.review-panel>p{font-size:13px;line-height:1.9;max-width:390px;margin-top:20px;color:#62697b}
.review-status{margin-top:30px;padding-top:18px;border-top:1px solid #cdd0dd;display:flex;align-items:center;gap:9px;color:#5b6379;font-size:10px}.review-status svg{width:16px;height:16px}
.review-actions:empty{display:none}.review-actions{display:grid;gap:18px;margin-top:26px;justify-items:start}.review-write{font-size:11px}
.silver-button,.button-light{background:var(--metal);color:#1c2743;border:1px solid #bdc3d4;box-shadow:inset 0 1px 0 white,0 7px 20px #080f2310}
.silver-button:hover,.button-light:hover{background:linear-gradient(120deg,#fff,#d8dbe7 70%,#f6f3fc);color:#1c2743}
.quote-panel{border-color:#c5c8d7;border-radius:12px;background:linear-gradient(150deg,#fff,#fff 50%,#f7f5fc);box-shadow:0 20px 55px #232c4610,inset 0 2px 0 white;position:relative}
.quote-panel:before{content:'';position:absolute;top:-1px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,#a1a9c0,#e2daf0,#a1a9c0,transparent)}
.form-progress li>span{background:var(--metal);border-color:#c7cad7}.form-progress .active>span{background:linear-gradient(125deg,#26314e,#665079);box-shadow:0 3px 8px #28324a20}
.service-option>span{border-radius:6px;border-color:#d4d6e2;background:#fcfbfe}.service-option input:checked+span{background:linear-gradient(120deg,#eee9f7,#f9f7fd);border-color:#9a8eaf;box-shadow:inset 0 1px 0 white}
.faq-section{background:linear-gradient(120deg,#f0eef7,#f7f6fb)}
.faq-list summary{font-size:14px}.faq-list details>p{font-size:13px}
.contact-section{background:radial-gradient(ellipse at 85% 50%,#5a427154,transparent 58%),linear-gradient(115deg,#141f39,#26243f);border-top:1px solid #a8a8bd}
.contact-section h2 em{color:#d0c3e4}.contact-details{gap:25px}
.contact-details>.maps-card{grid-column:span 2;display:flex;align-items:center;gap:17px;border:1px solid #b9bfd23d;border-radius:9px;padding:20px;background:linear-gradient(125deg,#ffffff0d,#dde4ff04);box-shadow:inset 0 1px 0 #ffffff12}
.map-symbol{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;border:1px solid #c3c5d45c;border-radius:50%;background:linear-gradient(140deg,#e5e5f024,#a1a6be15);color:#d5cee7}.map-symbol svg{width:22px;height:22px}
.map-label{display:block;font-size:8px;letter-spacing:1.8px;color:#c0bdd4}.maps-card p{margin:5px 0 3px;font-family:var(--serif);font-size:21px;color:#f6f3fc;line-height:1.3}.maps-card small{font-size:10px;color:#b2b8cc}.maps-card .text-link{color:#ebe7f6;margin-top:8px;font-size:12px}
.site-footer{background:linear-gradient(125deg,#fafafe,#ececf4 55%,#f9f8fc);border-top:1px solid #bec3d2;box-shadow:inset 0 2px 0 #ffffffaa}
.detail-hero{background:linear-gradient(125deg,#eeecf6,#f7f6fa 50%,#e3e3ee);border-bottom:1px solid #d0d2df}.detail-picture{border:1px solid #bec3d3;border-radius:10px;box-shadow:0 16px 36px #26314e0c}.detail-aside{border-radius:9px;background:linear-gradient(135deg,#f4f3f9,#e9e8f2);border-color:#cbd0de}
.mobile-bottom{background:linear-gradient(110deg,#fcfcffed,#e7e8f2ed);border-color:#c4c8d7}.mobile-bottom>a{background:linear-gradient(115deg,#1c2744,#42345c)}
@keyframes silver-glow{0%,100%{box-shadow:inset 0 1px 2px white,0 0 0 #cbc2df00}50%{box-shadow:inset 0 1px 2px white,0 0 18px #b6acc766}}
@media(max-width:1150px){.desktop-nav{gap:16px}.nav-wrap{gap:18px}.brand-name{font-size:14px}.reviews-layout{gap:55px}.service-filters button{padding:10px 13px}.hero .quiet-button{font-size:11px}.strip-inner>span{font-size:11px}}
@media(max-width:1060px){.desktop-nav{display:none}.menu-toggle{display:block}}
@media(max-width:900px){.reviews-layout{gap:35px}.review-panel{padding:28px}.reviews-intro h2{font-size:39px}.review-panel h3{font-size:33px}.service-toolbar{align-items:start}.service-count{padding-top:17px}.process-grid{gap:18px}.process-item{padding:25px 22px}.process-item h3{font-size:16px}.process-item p{font-size:12px}.care-item p{font-size:12px}.hero h1{letter-spacing:-2px}}
@media(max-width:640px){.brand-name{font-size:12px;letter-spacing:1.5px}.nav-quote{padding:10px;font-size:9px}.hero{min-height:900px}.hero-inner{min-height:820px}.hero-picture{inset:430px 0 0}.hero .hero-image-shade{background:linear-gradient(180deg,#efedf6,transparent 45px)}.hero h1{letter-spacing:-1.7px}.hero .eyebrow{letter-spacing:1.6px;font-size:7px}.hero .eyebrow>span{width:15px}.hero-buttons{gap:10px}.hero .quiet-button{font-size:10px;padding:13px 11px;gap:6px;min-height:49px}.hero .button{font-size:11px;padding:14px;gap:13px;min-height:49px}.hero-footnote{font-size:9px;gap:5px}.image-caption{padding:16px;bottom:40px;gap:13px;border-radius:7px}.caption-star{width:36px;height:36px;font-size:27px}.strip-inner{padding:24px 0}.strip-inner>span{font-size:10px;gap:8px}.service-toolbar{flex-direction:column;gap:11px;margin:0 0 25px}.service-filters{width:100%;gap:2px;padding:4px}.service-filters button{flex:1;padding:10px 6px;font-size:10px;line-height:1.5}.service-count{padding:0;font-size:9px}.service-content{padding:24px}.service-content p{font-size:13px}.extra-services{gap:16px}.extra-service,.extra-service:first-child,.extra-service:last-child{padding:20px}.care-visual{outline-offset:4px}.care-item h3{font-size:15px}.process-grid{gap:16px}.process-item{padding:25px 24px 25px 80px}.step-no{left:23px;top:25px;font-size:37px}.process-item h3{margin:0 0 10px;font-size:16px}.reviews-layout{grid-template-columns:1fr;gap:30px}.reviews-intro h2{font-size:38px}.reviews-intro>p:not(.eyebrow){font-size:13px}.review-panel{padding:27px}.review-panel h3{font-size:35px}.review-status{font-size:10px}.review-panel>p{font-size:13px}.faq-list summary{font-size:13px}.faq-list details>p{font-size:12px}.quote-panel{padding:26px 20px}.contact-details>.maps-card{padding:18px}.silver-button{font-size:11px;padding:14px 18px;gap:14px}}
@media(max-width:370px){.hero .button{font-size:10px;padding:13px 11px;gap:9px}.hero .quiet-button{font-size:9px;padding:13px 9px}.hero-footnote{font-size:8px}.service-filters button{font-size:9px}.hero{min-height:870px}.hero-inner{min-height:790px}}
@media(prefers-reduced-motion:reduce){.caption-star{animation:none}.service-photo:after{display:none}}
/* Direct contact remains available on every service page. */
.header-call{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c3c8d7;border-radius:50%;background:var(--metal);box-shadow:inset 0 1px 0 white;flex-shrink:0}.header-call svg{width:18px;height:18px}.header-call:hover{border-color:#80728f}.nav-actions{gap:12px}
.contact-details p.contact-phone-value{font-family:var(--serif);font-size:23px;white-space:nowrap;color:#f1eef8;margin:12px 0}.contact-phone-value a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-whatsapp{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#ded8ec;padding-bottom:18px;white-space:nowrap}.contact-whatsapp svg{width:14px;height:14px}
.whatsapp-transfer-note{font-size:11px;line-height:1.7;color:#62697c;margin:2px 0 10px}
.contact-widget{position:fixed;bottom:25px;right:27px;z-index:70}
.chat-launcher{display:flex;align-items:center;gap:12px;padding:15px 20px;border:1px solid #c1c6d8;border-radius:30px;background:linear-gradient(120deg,#fff,#e7e7f1 55%,#f9f6fe);box-shadow:0 8px 30px #18213c24,inset 0 1px 0 #fff;color:#27324d;font-size:11px;font-weight:550;transition:box-shadow .25s,transform .25s}.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 10px 30px #18213c32}.chat-launcher>svg{width:23px;height:23px;color:#695781}
.chat-panel{position:absolute;bottom:75px;right:0;width:370px;max-height:min(650px,calc(100dvh - 140px));overflow:auto;border-radius:14px;background:#fcfbff;border:1px solid #bfc4d6;box-shadow:0 20px 70px #15213f30;overscroll-behavior:contain}
.chat-header{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#1a2542,#423659);padding:23px;color:#fff;border-bottom:2px solid #b8b8cc}.chat-monogram{display:grid;place-items:center;width:43px;height:43px;font:italic 29px Georgia,serif;background:var(--metal);border:1px solid #d4d6e2;color:#3b3656;border-radius:50%;letter-spacing:-3px;padding-right:3px}.chat-header h2{font-family:var(--sans);font-size:16px;letter-spacing:.2px;font-weight:550;line-height:1.4}.chat-header p{color:#d1c9e2;font-size:10px;margin-top:3px}.chat-header button{margin-left:auto;align-self:start;width:30px;height:30px;border:1px solid #ffffff30;border-radius:50%;font-size:22px;font-weight:300;line-height:1;background:#ffffff09;color:white}
.chat-body{padding:24px}.chat-welcome{font-family:var(--serif);font-size:25px;line-height:1.2;color:#25304b;letter-spacing:-.6px}.chat-subtitle{font-size:12px;line-height:1.7;margin-top:10px}.chat-topics{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.chat-topics button{border:1px solid #d3cfdf;background:#f0ecf8;border-radius:20px;color:#5b4f6f;font-size:10px;padding:8px 11px}.chat-topics button:hover{border-color:#9886b3;background:#e8e0f2}.chat-field{display:grid;gap:7px;font-size:11px;color:#5d6276}.chat-field textarea{font-size:13px;line-height:1.6;min-height:96px;background:white;border-color:#d0d3e1;border-radius:6px;padding:12px}.chat-send{width:100%;font-size:12px;margin-top:15px;min-height:48px;padding:14px 18px;gap:20px}.chat-privacy{font-size:10px;line-height:1.7;margin-top:12px;color:#62697d}.chat-phone{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:19px;padding-top:17px;border-top:1px solid #dedde8;font-size:10px;color:#4c526c}.chat-phone svg{width:14px;height:14px}
@media(max-width:1200px){.desktop-nav{gap:16px;margin-right:0}.desktop-nav>a{font-size:11px}.brand-name{font-size:14px}.nav-wrap{gap:18px}}
@media(max-width:640px){.brand-name{font-size:12px}.nav-actions{gap:12px}.header-call{width:36px;height:36px}.nav-quote{display:none}.contact-widget{right:16px;bottom:88px}.chat-launcher{width:52px;height:52px;padding:0;justify-content:center;box-shadow:0 6px 22px #18213c27}.chat-launcher>span{display:none}.chat-launcher>svg{width:25px;height:25px}.chat-panel{right:0;bottom:65px;width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - 185px);border-radius:11px}.chat-header{padding:18px}.chat-body{padding:20px}.chat-field textarea{font-size:16px}.chat-welcome{font-size:24px}.mobile-bottom{padding:9px 16px calc(9px + env(safe-area-inset-bottom));gap:13px}.mobile-bottom>.mobile-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;color:#424762;padding:1px 6px;font-size:9px}.mobile-contact svg{width:19px;height:19px}.mobile-bottom>.mobile-quote{margin-left:auto;font-size:11px;padding:14px 17px}.contact-details p.contact-phone-value{font-size:22px}.contact-whatsapp{font-size:10px;gap:6px}.contact-details{grid-template-columns:1.25fr .75fr;gap:20px}}
@media(max-width:370px){.mobile-bottom{gap:8px;padding-inline:12px}.mobile-bottom>.mobile-quote{font-size:10px;padding:13px 14px}.contact-details{grid-template-columns:1fr}.contact-details>div:first-child,.contact-details .contact-pending,.contact-details>.maps-card{grid-column:1}.contact-whatsapp{font-size:11px}}
@media print{.reviews-section,.contact-widget{display:none!important}.quote-panel{background:#fff;border:0;box-shadow:none}.quote-panel:before{display:none}#quote-result{color:#111}#quote-summary>div{break-inside:avoid}.draft-badge{display:none}.form-heading{margin-bottom:20px}.quote-section{padding:0!important}}
