:root {
  --ink: #2d183b;
  --navy: #713d8f;
  --deep: #45215b;
  --ivory: #faf8fc;
  --paper: #ffffff;
  --gold: #f1e5f8;
  --gold-dark: #713d8f;
  --muted: #726578;
  --line: #e7ddec;
}
html { scroll-padding-top: 130px; }
body { background: #faf8fc; }
.independent-strip { color: #fff; background: #45215b; font-size: 12px; line-height: 1.7; padding: 8px 0; }
.brand strong { color: #45215b; font-size: 18px; font-weight: 700; }
.brand small { font-size: 12px; }
.site-header { border-color: #eadfeb; }
.header-inner { height: 90px; gap: 20px; }
.main-nav { gap: 23px; font-size: 13px; }
.button { border-radius: 28px; min-height: 54px; padding: 13px 24px; font-size: 14px; }
.button-whatsapp, .button-dark, .button-gold { color: #fff; background: #713d8f; box-shadow: 0 6px 17px #713d8f15; }
.button-whatsapp:hover, .button-dark:hover, .button-gold:hover { background: #532c6b; }
.button-small { min-height: 44px; padding: 10px 18px; font-size: 12px; }
.button-outline { border: 1px solid #ccb4d8; color: #713d8f; background: #fff; box-shadow: none; }
.button-outline:hover { background: #f7f0fa; }
.button-ghost { border-color: #ccb4d8; color: #713d8f; background: #fff; }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline-color: #b157d2; }
.hero { background: #f4edf8; color: #2d183b; min-height: 0; overflow: visible; }
.hero-inner { padding-block: 65px 50px; gap: 65px; align-items: center; }
.hero-copy { flex: 1; min-width: 0; max-width: 660px; }
.hero-label { background: #e7d6ef; color: #623480; padding: 5px 13px; border-radius: 18px; font-size: 11px; }
.hero h1 { font-size: clamp(38px,4.4vw,61px); line-height: 1.4; margin: 23px 0 20px; letter-spacing: -1.3px; }
.hero h1 em { color: #713d8f; }
.hero-copy > p:not(.hero-disclaimer) { color: #665371; font-size: 16px; max-width: 540px; line-height: 1.95; }
.hero-buttons { gap: 12px; margin-top: 26px; }
.hero-buttons .button { font-size: 13px; gap: 15px; }
.hero-disclaimer { font-size: 13px; color: #67546f; line-height: 1.9; margin-top: 21px; }
.hero-bottom { border-color: #d8c5e1; color: #67546f; font-size: 11px; padding-block: 17px; flex-wrap: wrap; }
.customer-panel { width: 370px; flex-shrink: 0; padding: 31px; background: #fff; border: 1px solid #e2d5e9; border-radius: 22px; box-shadow: 0 20px 48px #542d7210; }
.panel-eyebrow { display: block; color: #713d8f; font-size: 12px; font-weight: 600; margin-bottom: 12px; }
.customer-panel h2 { color: #45215b; font-size: 33px; font-weight: 600; letter-spacing: -.5px; line-height: 1.35; }
.customer-panel > p:not(.reply-note) { color: #726578; font-size: 13px; line-height: 1.9; margin-top: 13px; }
.customer-phone { color: #45215b; display: block; font: 24px Arial,sans-serif; letter-spacing: 1px; margin-block: 21px; text-align: right; }
.panel-button { width: 100%; font-size: 13px; min-height: 52px; }
.quick-topics { padding-top: 22px; margin-top: 20px; border-top: 1px solid #eee5f1; display: flex; flex-wrap: wrap; gap: 7px; }
.quick-topics > span { width: 100%; color: #726578; font-size: 11px; margin-bottom: 4px; }
.topic-link { display: inline-flex; align-items: center; gap: 5px; border-radius: 15px; background: #f5eff8; padding: 5px 9px; color: #63337d; font-size: 10px; }
.topic-link span { font-size: 14px; }
.topic-link:hover { background: #e8dbef; }
.customer-panel .reply-note { padding-top: 17px; font-size: 11px; line-height: 1.85; color: #726578; }
.guide-navigation { background: #fff; border-color: #e7ddec; }
.guide-navigation > a { padding-block: 23px; }
.guide-navigation strong { font-size: 15px; }
.section-number, .navigation-arrow { color: #9b66b6; }
.section-space { padding-block: 74px; }
.section-heading h2 { font-size: 38px; }
.experience-grid { gap: 16px; border: 0; }
.experience-card { border: 1px solid #e7ddec!important; border-radius: 15px; background: white; min-height: 315px; padding: 26px; }
.experience-card h3 { font-size: 25px; }
.experience-top { margin-bottom: 18px; }
.experience-english { color: #87529d; }
.experience-more { color: #713d8f; }
.filter-tabs { gap: 7px; padding-bottom: 17px; margin-bottom: 22px; }
.experience-filter, .city-filter { border-radius: 20px; padding-inline: 15px; color: #76637e; }
.experience-filter.active, .city-filter.active { background: #713d8f; }
.service-section { background: #713d8f; padding-block: 64px; }
.service-layout { gap: 60px; align-items: center; }
.service-copy { flex: 1; }
.service-copy h2 { font-size: 41px; margin-top: 15px; }
.service-copy em { color: #f1dafa; }
.service-copy .eyebrow { color: #efd5fb; }
.section-intro, .service-list p { color: #f0e4f5; }
.service-list { margin-bottom: 20px; }
.service-list article { border-color: #ffffff29; }
.service-list article > span { color: #edd5f7; }
.service-copy .text-link { color: #f4e3fc; font-size: 13px; }
.help-panel { width: 390px; flex-shrink: 0; padding: 32px; border-radius: 20px; background: #fff; color: #45215b; }
.help-panel .eyebrow { color: #8b589e; }
.help-panel h3 { font-size: 28px; line-height: 1.4; margin-top: 15px; font-weight: 600; }
.help-panel p { font-size: 13px; color: #726578; line-height: 1.95; margin-top: 15px; }
.help-panel .button { width: 100%; margin-top: 23px; font-size: 12px; padding-inline: 18px; }
.help-panel small { display: block; margin-top: 16px; font-size: 11px; color: #726578; }
.branches-toolbar { padding-bottom: 19px; }
.branch-search { border-radius: 23px; padding: 9px 15px; }
.branch-row { padding-block: 25px; }
.branch-link { border: 1px solid #dcc9e6; padding: 8px 14px; border-radius: 20px; font-size: 11px; gap: 12px; background: white; }
.branch-link:hover { background: #f4edf8; }
.visit-section { background: #f0e7f5; border-radius: 22px; padding: 42px; }
.visit-steps article { border-color: #cdb3d9; }
.visit-steps p { color: #726578; }
.faq-list details { padding-block: 20px; }
.contact-banner { background: #f0e5f6; color: #45215b; }
.contact-banner h2 { font-size: 33px; }
.contact-banner .eyebrow { color: #87559b; }
.contact-banner p { color: #726578; }
.footer-top { gap: 42px; }
.footer-contact > a:not(.footer-small) { color: #713d8f; }
.document-main { padding-top: 52px; }
.document-main h1 { color: #45215b; }
.document-main > p, .document-content p { color: #726578; }
.document-main .doc-lead { color: #45215b; }
.document-main .experience-grid { gap: 16px; }
.source-note { border-color: #713d8f; background: #f1e7f6; color: #634e6d; border-radius: 0 10px 10px 0; }
.contact-card, .whatsapp-panel { border-radius: 18px; border-color: #e2d5e9; padding: 32px; }
.contact-card { background: #fff; }
.contact-card .button { margin-top: 0; }
.message-preview { border-color: #ac76c6; background: #f5edf9; border-radius: 0 8px 8px 0; }
#experience-dialog { border-radius: 18px; border-color: #dfcce8; }
#experience-dialog::backdrop { background: #2f153bb8; }
.mobile-contact { background: #713d8f; color: #fff; border-color: #ab7dc1; }
.mobile-contact small { color: #f1dff9; }
@media (max-width:1150px) {
  .header-inner { gap:16px; } .brand strong { font-size:16px; }
  .main-nav { gap:15px; font-size:12px; }
  .hero-inner { gap:38px; } .customer-panel { width:340px; padding:27px; }
  .hero h1 { font-size:48px; } .hero-buttons .button { padding-inline:20px; font-size:12px; }
  .help-panel { width:340px; padding:28px; } .service-layout { gap:40px; }
}
@media (max-width:950px) {
  .header-inner { height:80px; } .main-nav { font-size:14px; }
  .hero-inner { gap:30px; padding-block:49px 37px; } .hero h1 { font-size:40px; }
  .hero-copy > p:not(.hero-disclaimer) { font-size:14px; }
  .hero-buttons { flex-direction:column; align-items:stretch; }
  .hero-buttons .button { padding:12px 18px; width:100%; font-size:12px; }
  .customer-panel { width:310px; padding:25px; } .customer-panel h2 { font-size:29px; }
  .hero-disclaimer { font-size:12px; } .hero-bottom { font-size:10px; }
  .section-heading h2 { font-size:34px; } .section-space { padding-block:60px; }
  .service-copy h2 { font-size:35px; } .help-panel { width:300px; padding:25px; }
  .help-panel h3 { font-size:24px; } .service-layout { gap:30px; }
}
@media (max-width:700px) {
  .hero-inner { flex-direction:column; gap:32px; align-items:stretch; }
  .hero-copy { max-width:none; } .hero h1 { font-size:42px; }
  .hero-buttons { flex-direction:row; } .hero-buttons .button { width:auto; flex-grow:1; }
  .customer-panel { width:100%; } .customer-phone { font-size:25px; }
  .quick-topics { margin-top:18px; padding-top:18px; }
  .customer-panel h2 br { display:none; } .customer-panel .reply-note { padding-top:15px; }
  .service-layout { flex-direction:column; align-items:stretch; gap:30px; }
  .help-panel { width:100%; }
}
@media (max-width:640px) {
  html { scroll-padding-top:127px; }
  .independent-strip { font-size:10px; line-height:1.75; padding-block:7px; }
  .header-inner { height:72px; } .brand strong { font-size:14px; max-width:190px; }
  .brand small { font-size:10px; } .header-actions .button { display:inline-flex; min-height:38px; padding:8px 11px; font-size:10px; gap:6px; }
  .header-actions .button > span { display:none; } .header-actions { gap:0; } .menu-toggle { width:36px; padding:9px; }
  .hero-inner { padding-block:37px 32px; gap:26px; }
  .hero-label { font-size:10px; padding:4px 10px; } .hero h1 { font-size:36px; line-height:1.4; margin-block:20px 17px; }
  .hero-copy > p:not(.hero-disclaimer) { font-size:14px; line-height:1.95; }
  .hero-buttons { gap:9px; margin-top:21px; } .hero-buttons .button { width:100%; min-height:51px; font-size:12px; }
  .hero-disclaimer { font-size:11px; line-height:1.95; margin-top:18px; }
  .hero-bottom { padding-block:14px; gap:7px 20px; font-size:10px; }
  .customer-panel { padding:25px; border-radius:17px; } .customer-panel h2 { font-size:29px; }
  .customer-panel > p:not(.reply-note) { font-size:13px; } .customer-phone { font-size:24px; margin-block:19px; }
  .panel-button { min-height:52px; font-size:13px; } .customer-panel .reply-note { font-size:11px; }
  .topic-link { font-size:11px; padding:6px 10px; }
  .guide-navigation > a { padding-block:18px!important; } .section-space { padding-block:50px; }
  .section-heading h2 { font-size:31px; } .experience-grid { gap:13px; }
  .experience-card { min-height:0; padding:25px; border-radius:14px; }
  .experience-card h3 { font-size:24px; } .experience-category { font-size:11px; }
  .experience-filter, .city-filter { font-size:11px; padding-inline:13px; }
  .service-section { padding-block:39px; } .service-copy h2 { font-size:34px; }
  .help-panel { padding:26px; border-radius:16px; } .help-panel h3 { font-size:26px; }
  .help-panel .button { font-size:12px; } .help-panel small { font-size:11px; }
  .branch-link { font-size:11px; padding:8px 12px; } .visit-section { padding:28px 24px; border-radius:17px; }
  .contact-banner h2 { font-size:28px; line-height:1.4; } .contact-banner .button { font-size:13px; }
  .footer-top { gap:28px; } .site-footer { padding-bottom:85px; }
  .contact-card, .whatsapp-panel { padding:25px 22px; border-radius:16px; }
  .document-main h1 { font-size:30px; } .source-note { font-size:12px; }
  .mobile-contact { padding-block:12px calc(12px + env(safe-area-inset-bottom)); font-size:14px; }
  .mobile-contact small { font-size:10px; }
}
@media (max-width:380px) {
  .brand strong { font-size:12px; max-width:160px; } .brand small { font-size:9px; }
  .header-actions .button { font-size:9px; padding:7px 9px; }
  .hero h1 { font-size:33px; } .customer-panel { padding:22px; }
}
