:root{--shell-navy:#11175f;--shell-purple:#7b2cbf;--shell-paper:#fbf5f6;--shell-muted:#66656d}
.site-nav{position:sticky!important;top:0;z-index:1000;background:rgba(255,255,255,.97)!important;border-top:4px solid var(--shell-purple);border-bottom:1px solid rgba(17,23,95,.1);backdrop-filter:blur(16px)}
.site-nav-inner{min-height:76px;max-width:1500px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.nav-brand{display:flex!important;align-items:center;justify-content:center;line-height:0!important}.site-logo{display:block;width:142px;height:auto;max-height:62px;object-fit:contain}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:21px}.desktop-nav>a,.more-trigger{position:relative;color:var(--shell-navy);text-decoration:none;font-size:13px;font-weight:750;background:none;border:0;padding:14px 0;cursor:pointer;font-family:inherit;white-space:nowrap}
.desktop-nav>a:after,.more-trigger:after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--shell-purple);transform:scaleX(0);transform-origin:left;transition:.2s}.desktop-nav>a:hover:after,.desktop-nav>a:focus-visible:after,.more-wrap:hover .more-trigger:after,.more-wrap:focus-within .more-trigger:after{transform:scaleX(1)}
.menu-trigger{display:none;align-items:center;gap:9px;border:0;background:transparent;color:var(--shell-navy);font:inherit;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.hamburger{display:grid;gap:4px}.hamburger span{display:block;width:20px;height:2px;background:currentColor}
.nav-actions{display:flex;justify-content:flex-end}.nav-action{min-height:46px;padding:0 19px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.nav-action.primary{background:var(--shell-navy);color:#fff}
.more-wrap{position:relative}.more-menu{position:absolute;right:0;top:calc(100% - 2px);width:230px;padding:10px;border:1px solid rgba(17,23,95,.1);border-radius:18px;background:#fff;box-shadow:0 22px 50px rgba(17,23,95,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}.more-wrap:hover .more-menu,.more-wrap:focus-within .more-menu{opacity:1;visibility:visible;transform:none}.more-menu>a,.more-subtrigger,.more-submenu>a{display:flex;width:100%;align-items:center;justify-content:space-between;padding:12px 13px;border:0;border-radius:12px;background:transparent;color:#343965;text-decoration:none;font:inherit;font-size:14px;text-align:left;cursor:pointer}.more-menu>a:hover,.more-subtrigger:hover,.more-submenu>a:hover{background:#f5f0fb;color:var(--shell-purple)}
.more-subwrap{position:relative}.more-submenu{position:absolute;right:calc(100% + 8px);top:-10px;width:220px;padding:10px;border:1px solid rgba(17,23,95,.1);border-radius:18px;background:#fff;box-shadow:0 22px 50px rgba(17,23,95,.14);opacity:0;visibility:hidden;transform:translateX(6px);transition:.2s}.more-subwrap:hover .more-submenu,.more-subwrap:focus-within .more-submenu{opacity:1;visibility:visible;transform:none}
.menu-backdrop{position:fixed;inset:0;z-index:1090;background:rgba(9,12,48,.34);opacity:0;visibility:hidden;transition:.25s}.menu-panel{position:fixed;z-index:1100;top:0;left:0;width:min(440px,92vw);height:100dvh;background:#fbf9ff;padding:28px 30px 34px;transform:translateX(-102%);transition:.4s;overflow:auto;box-shadow:30px 0 70px rgba(17,23,95,.14);color:var(--shell-navy)}
body.menu-open{overflow:hidden}body.menu-open .menu-backdrop{opacity:1;visibility:visible}body.menu-open .menu-panel{transform:none}.menu-panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.menu-panel-brand{font-family:Georgia,"Times New Roman",serif;font-size:29px}.menu-close{width:44px;height:44px;border:1px solid rgba(17,23,95,.15);border-radius:50%;background:#fff;color:var(--shell-navy);font-size:27px;cursor:pointer}.menu-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#817ea8;margin:0 0 14px}.menu-links,.menu-small-links{display:flex;flex-direction:column}.menu-links a{padding:14px 0;border-bottom:1px solid rgba(17,23,95,.1);color:var(--shell-navy);text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:29px}.menu-more-details{margin-top:28px}.menu-more-details>summary,.menu-services-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#343965;list-style:none}.menu-more-details>summary{padding:14px 0;border-bottom:1px solid rgba(17,23,95,.1);font-family:Georgia,"Times New Roman",serif;font-size:29px}.menu-services-details summary{padding:10px 0;font-size:16px}.menu-more-details>summary::-webkit-details-marker,.menu-services-details summary::-webkit-details-marker{display:none}.menu-small-links{margin-top:8px}.menu-small-links a{padding:10px 0;text-decoration:none;color:#343965}.menu-services-details>div{display:flex;flex-direction:column;padding-left:14px}.menu-mobile-actions{margin-top:30px}.menu-mobile-actions a{min-height:50px;border-radius:999px;background:var(--shell-navy);color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.06em}
.site-footer{background:var(--shell-paper)!important;border-top:1px solid rgba(17,23,95,.08);color:var(--shell-navy)!important}.footer-main{padding:70px 24px 28px}.footer-shell{width:min(1240px,calc(100% - 32px));margin:0 auto}.footer-grid{display:grid;grid-template-columns:1.25fr .68fr .82fr .78fr 1.05fr;gap:46px;align-items:start}.footer-brand-link{display:inline-flex!important;align-items:center;text-decoration:none;line-height:0}.footer-logo{display:block;width:208px;height:auto;max-width:100%;object-fit:contain}.footer-tagline{margin:14px 0 0;color:var(--shell-muted);font-size:18px;line-height:1.55}.footer-socials{display:flex;gap:12px;margin-top:28px}.footer-socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(17,23,95,.12);color:var(--shell-navy);text-decoration:none}.footer-socials svg{width:19px;height:19px}.footer-col h3,.footer-contact h3{margin:0 0 18px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--shell-navy)}.footer-links{display:flex;flex-direction:column;gap:11px}.footer-links a,.footer-contact-list a{color:var(--shell-muted);text-decoration:none;font-size:15.5px;line-height:1.42}.footer-contact-list{display:grid;gap:12px}.footer-write-link{display:inline-flex!important;width:max-content;margin-top:8px;color:var(--shell-navy)!important;font-weight:800;border-bottom:1px solid rgba(17,23,95,.25)}.footer-bottom{margin-top:58px;padding-top:20px;border-top:1px solid rgba(17,23,95,.1);display:flex;justify-content:space-between;gap:20px;color:#8b8993;font-size:12px}.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.error-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:var(--shell-paper);color:var(--shell-navy);font-family:Arial,sans-serif}.error-card{width:min(680px,100%);padding:clamp(34px,7vw,72px);border-radius:32px;background:#fff;box-shadow:0 24px 70px rgba(17,23,95,.1)}.error-card h1{margin:10px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,7vw,76px);line-height:.95}.error-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button-primary,.button-secondary{min-height:48px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;text-decoration:none;font-weight:800}.button-primary{background:var(--shell-navy);color:#fff}.button-secondary{border:1px solid rgba(17,23,95,.2);color:var(--shell-navy)}
.visible-breadcrumbs{width:min(1160px,calc(100% - 40px));margin:24px auto 0;display:flex;align-items:center;gap:9px;overflow:hidden;color:#74738a;font-size:13px;line-height:1.4}.visible-breadcrumbs a{color:var(--shell-navy);text-decoration:none}.visible-breadcrumbs span[aria-current="page"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visible-breadcrumbs a:hover,.visible-breadcrumbs a:focus-visible{text-decoration:underline}
@media(max-width:1080px){.desktop-nav{gap:16px}.desktop-nav>a,.more-trigger{font-size:12px}.footer-grid{grid-template-columns:1.2fr .8fr .8fr}.footer-contact{grid-column:1/-1}}
@media(max-width:980px){.site-nav-inner{min-height:68px;padding:0 16px}.desktop-nav{display:none}.menu-trigger{display:inline-flex}.site-logo{width:122px;max-height:56px}.nav-action{min-height:44px;padding:0 17px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-brand-block,.footer-contact{grid-column:1/-1}}
@media(max-width:560px){.site-nav-inner{min-height:62px;padding:0 12px;gap:10px}.site-logo{width:102px;max-height:46px}.menu-trigger{font-size:0}.nav-action{min-height:40px;padding:0 12px;font-size:9px}.menu-panel{padding:22px 22px 28px}.footer-main{padding:54px 14px 24px}.footer-shell{width:100%}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-brand-block,.footer-contact{grid-column:auto}.footer-logo{width:172px}.footer-bottom{margin-top:42px;flex-direction:column;align-items:flex-start}.visible-breadcrumbs{width:calc(100% - 28px);margin-top:18px;font-size:12px}}

.nav-classes{position:relative;display:flex;align-items:center;gap:3px}
.nav-classes>a{font-size:13px;font-weight:750;color:var(--shell-navy);text-decoration:none;padding:14px 0}
.classes-toggle{border:0;background:transparent;color:var(--shell-navy);cursor:pointer;width:20px;height:44px;padding:0;display:grid;place-items:center;line-height:1}
.classes-submenu{position:absolute;top:100%;left:-18px;width:220px;padding:8px;background:#fff;border:1px solid #e6dfeb;border-radius:16px;box-shadow:0 14px 32px #11175f22}
.classes-submenu[hidden]{display:none}
.classes-submenu a{display:block;padding:13px 12px;color:var(--shell-navy);font-size:14px;text-decoration:none;border-radius:9px}
.classes-submenu a:hover,.classes-submenu a:focus-visible{background:#f4edf9;color:var(--shell-purple)}
.classes-toggle:focus-visible,.nav-classes>a:focus-visible{outline:2px solid var(--shell-purple);outline-offset:3px}
.mobile-classes summary{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #11175f1a;font-family:Georgia,serif;font-size:29px;cursor:pointer;list-style:none}
.mobile-classes summary::-webkit-details-marker{display:none}
.mobile-classes>div{display:grid;padding:8px 0 8px 18px}
.menu-links .mobile-classes a{font-family:inherit;font-size:18px;padding:12px 0}

.classes-toggle svg{display:block;width:10px;height:6px;transition:transform .15s ease}
.classes-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

/* Recognizable WhatsApp brand button, shared across pages. */
.whatsapp-float .whatsapp-float-icon{background:#25D366!important;border:2px solid #fff!important;color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.2)!important}
.whatsapp-float .whatsapp-float-icon svg{width:30px!important;height:30px!important;fill:currentColor;stroke:none}
.whatsapp-float:hover .whatsapp-float-icon{background:#1ebe5d!important}

/* Keep the WhatsApp invitation visible, including on touch screens. */
.whatsapp-float .whatsapp-float-icon{width:66px!important;height:66px!important;flex-shrink:0}
.whatsapp-float .whatsapp-float-icon svg{width:34px!important;height:34px!important}
.whatsapp-float .whatsapp-float-label{display:block!important;opacity:1!important;transform:none!important;background:#fff;color:#11175f}
@media(max-width:520px){
 .whatsapp-float{gap:8px!important;right:14px!important;bottom:14px!important;max-width:calc(100vw - 28px)}
 .whatsapp-float .whatsapp-float-icon{width:60px!important;height:60px!important}
 .whatsapp-float .whatsapp-float-label{max-width:155px;padding:9px 12px;font-size:12px;line-height:1.35}
}
.whatsapp-float .whatsapp-float-label{white-space:normal!important;flex-shrink:1}
