:root {
    --blue: #0055a4;
    --blue-deep: #003d78;
    --blue-soft: #eaf3fb;
    --ink: #16212b;
    --muted: #64717c;
    --paper: #ffffff;
    --soft: #f3f6f8;
    --line: #dce3e8;
    --nav-height: 86px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; max-width: 100%; }
body { background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-weight: 400; overflow-x: hidden; max-width: 100%; width: 100%; position: relative; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-deep); }
img { max-width: 100%; }
strong, .fw-bold { font-weight: 600 !important; }
.skip-link { background: #fff; color: var(--ink); left: 1rem; padding: .7rem 1rem; position: fixed; top: -80px; z-index: 1100; }
.skip-link:focus { top: 1rem; }
.section-pad { padding: 108px 0; }
.bg-soft { background: var(--soft) !important; }
.text-sky { color: #b9e0ff !important; }
.eyebrow { color: var(--blue); font-size: .69rem; font-weight: 500; letter-spacing: .19em; text-transform: uppercase; }
.display-title { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.7rem, 5.3vw, 5.7rem); font-weight: 400; letter-spacing: -.055em; line-height: .96; }
.lead-copy { color: var(--muted); font-size: 1.05rem; line-height: 1.78; }
.section-heading .lead-copy { width: 100%; }

.navbar { background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(22,33,43,.08); min-height: var(--nav-height); padding: .65rem 0; transition: box-shadow .25s, backdrop-filter .25s; z-index: 1030; }
.navbar.is-scrolled { backdrop-filter: blur(16px); box-shadow: 0 10px 30px rgba(17,36,51,.1); }
.navbar-brand img { display: block; height: 56px; object-fit: contain; width: 184px; }
.navbar .nav-link { color: var(--ink); font-size: .76rem; font-weight: 500; letter-spacing: .04em; padding: .75rem .7rem !important; position: relative; text-transform: uppercase; transition: color .25s ease; }
.navbar .nav-link::before { background: var(--blue); bottom: .38rem; content: ''; height: 2px; left: .7rem; position: absolute; right: .7rem; transform: scaleX(0); transform-origin: right center; transition: transform .28s cubic-bezier(.2,.75,.25,1); }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--blue); }
.navbar .nav-link:hover::before, .navbar .nav-link.active::before { transform: scaleX(1); transform-origin: left center; }
.navbar-toggler { border: 1px solid var(--line); border-radius: 0; }
.dropdown-menu { border: 1px solid var(--line); border-radius: 0; box-shadow: 0 20px 45px rgba(17,36,51,.12); }
.dropdown-item { font-size: .82rem; font-weight: 400; padding: .72rem 1rem; }
.dropdown-item:active { background: var(--blue); }

.btn { border-radius: 0; font-size: .72rem; font-weight: 500; letter-spacing: .09em; padding: .92rem 1.25rem; text-transform: uppercase; }
.btn-sykes {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--blue);
    --bs-btn-border-color: var(--blue);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--blue);
    --bs-btn-hover-border-color: var(--blue);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--blue);
    --bs-btn-active-border-color: var(--blue);
    --bs-btn-focus-shadow-rgb: 0, 85, 164;
    background-color: var(--blue);
    background-image: linear-gradient(135deg, var(--blue), var(--blue-deep));
    border: 1px solid var(--blue);
    color: #fff;
    transition: filter .2s ease, box-shadow .2s ease, transform .2s ease;
}
.btn-sykes:hover, .btn-sykes:focus, .btn-sykes:active {
    background-color: var(--blue) !important;
    background-image: linear-gradient(135deg, var(--blue), var(--blue-deep)) !important;
    border-color: var(--blue) !important;
    box-shadow: 0 9px 22px rgba(0,61,120,.2);
    color: #fff !important;
    filter: brightness(.88);
    transform: translateY(-1px);
}
.btn-outline-sykes { background: transparent; border: 1px solid var(--ink); color: var(--ink); }
.btn-outline-sykes:hover { background: var(--ink); color: #fff; }
.btn-nav { align-items: center; display: inline-flex; height: 42px; padding: 0 1rem; }
.nav-actions { align-items: stretch; display: flex; gap: .5rem; margin-left: .5rem; }
.btn-whatsapp-icon, .btn-whatsapp-footer, .btn-whatsapp {
    --bs-btn-color: #fff;
    --bs-btn-bg: #109b0b;
    --bs-btn-border-color: #109b0b;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #195a02;
    --bs-btn-hover-border-color: #195a02;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #195a02;
    --bs-btn-active-border-color: #195a02;
    background-color: #109b0b !important;
    background-image: linear-gradient(135deg, #109b0b, #195a02) !important;
    border-color: #109b0b !important;
    color: #fff !important;
    transition: filter .2s ease, box-shadow .2s ease, transform .2s ease;
}
.btn-whatsapp-icon:hover, .btn-whatsapp-icon:focus, .btn-whatsapp-footer:hover, .btn-whatsapp-footer:focus, .btn-whatsapp:hover, .btn-whatsapp:focus { box-shadow: 0 9px 22px rgba(16,155,11,.22); color: #fff !important; filter: brightness(.9); transform: translateY(-1px); }
.btn-whatsapp-icon, .btn-whatsapp-footer { align-items: center; display: inline-flex; font-size: 1.22rem; height: 42px; justify-content: center; min-width: 42px; padding: 0; width: 42px; }
.footer-actions .btn-sykes { align-items: center; display: inline-flex; height: 42px; padding-bottom: 0; padding-top: 0; }
.footer-social-link { align-items: center; background: #fff; border: 1px solid var(--line); color: var(--ink); display: inline-flex; font-size: 1.15rem; height: 38px; justify-content: center; transition: all .2s ease; width: 38px; }
.footer-social-link:hover { background: var(--blue); border-color: var(--blue); color: #fff; transform: translateY(-2px); }

.hero, .page-hero { color: #fff; display: flex; overflow: hidden; position: relative; }
.hero { align-items: center; min-height: 92vh; padding: calc(var(--nav-height) + 82px) 0 88px; }
.page-hero { align-items: end; min-height: 62vh; padding: calc(var(--nav-height) + 90px) 0 70px; }
.hero-bg, .page-hero-bg { background-position: center; background-repeat: no-repeat; background-size: cover; inset: -8%; position: absolute; transform: translate3d(0,0,0) scale(1.06); will-change: transform; filter: blur(10px);}
.hero::after, .page-hero::after { background: linear-gradient(90deg, rgba(4,24,43,.94) 0%, rgba(0,61,120,.78) 43%, rgba(0,25,48,.27) 100%); content: ''; inset: 0; position: absolute; }
.hero-content { position: relative; z-index: 2; }
.hero-content > * { max-width: 760px; }
.hero h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(10rem, 20rem, 20rem); font-weight: 400; letter-spacing: -.075em; line-height: .78; }
.hero-print, .hero-install { color: #fff; }
.hero-copy { color: #e4edf4; font-size: 1.03rem; line-height: 1.75; max-width: 620px; }
.page-hero h1 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(3.5rem, 7vw, 7.3rem); font-weight: 400; letter-spacing: -.065em; line-height: .88; max-width: 980px; }
.breadcrumb a { color: #dcefff; }
.breadcrumb-item.active, .breadcrumb-item + .breadcrumb-item::before { color: #fff; }

.floating-strip { margin-top: -42px; position: relative; z-index: 4; }
.fact-strip-card { background: #fff; box-shadow: 0 18px 45px rgba(17,36,51,.1); }
.stat { background: transparent; min-height: 110px; padding: 26px; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat small { color: #7b8790; display: block; font-size: .63rem; letter-spacing: .1em; text-transform: uppercase; }
.stat strong { display: block; font-size: 1.3rem; font-weight: 500 !important; margin-top: .45rem; }

.service-card { border-top: 1px solid #c9d3d9; color: var(--ink); display: block; height: 100%; padding: 28px 16px 36px; transition: background .25s, border-color .25s, box-shadow .25s, transform .25s; }
.service-card:hover { background: #fff; border-top-color: var(--blue); box-shadow: 0 20px 42px rgba(17,36,51,.08); color: var(--ink); transform: translateY(-4px); }
.service-card .icon { color: var(--blue); font-size: 1.55rem; margin-bottom: 30px; }
.service-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 400; }
.service-card p { color: var(--muted); font-size: .89rem; line-height: 1.72; }
.service-card .arrow { display: inline-block; transition: transform .2s; }
.service-card:hover .arrow { transform: translateX(5px); }

.split-image { min-height: 600px; object-fit: cover; width: 100%; }
.dark-panel { background: linear-gradient(145deg, #08243d, var(--blue-deep)); color: #fff; padding: 78px; }
.dark-panel p { color: #cfdeea; }
.checkline { border-top: 1px solid rgba(255,255,255,.18); padding: 16px 0; }

.social-shell { background: #fff; border: 1px solid var(--line); min-height: 320px; padding: 30px; }
.social-intro { max-width: 720px; }

.team-grid { align-items: start; }
.team-member { background: #d9e3ea; overflow: hidden; position: relative; }
.team-member::before { content: ''; display: block; padding-top: 100%; }
.team-member img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: opacity .58s cubic-bezier(.2,.75,.25,1), transform .75s cubic-bezier(.2,.75,.25,1); width: 100%; }
.team-member .team-hover { opacity: 0; transform: scale(1.035); }
.team-caption { background: linear-gradient(transparent, rgba(3,20,34,.9)); bottom: 0; color: #fff; left: 0; padding: 64px 22px 20px; position: absolute; right: 0; transition: opacity .4s, transform .4s; }
.team-caption h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.65rem; font-weight: 400; margin: 0; }
.team-caption p { font-size: .78rem; letter-spacing: .05em; margin: .3rem 0 0; }
.team-member:hover .team-front, .team-member:focus-within .team-front { opacity: 0; }
.team-member:hover .team-hover, .team-member:focus-within .team-hover { opacity: 1; transform: scale(1); }
.team-member:hover .team-caption, .team-member:focus-within .team-caption { opacity: 0; transform: translateY(10px); }

.application-card, .info-card, .contact-card { background: #fff; border: 1px solid var(--line); height: 100%; padding: 30px; }
.application-card span, .info-card .num { color: var(--blue); font-size: .67rem; letter-spacing: .15em; }
.application-card h3, .info-card h3, .contact-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.45rem; font-weight: 400; margin: 2.25rem 0 0; }
.contact-card h3 { margin-top: .75rem; }
.contact-directory { background: linear-gradient(145deg, #08243d, var(--blue-deep)); color: #fff; height: 100%; padding: 46px; }
.contact-directory-head { border-bottom: 1px solid rgba(255,255,255,.17); padding-bottom: 30px; }
.contact-directory-head h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 400; letter-spacing: -.045em; margin: 0; }
.contact-directory-head p { color: #c8d9e6; line-height: 1.7; margin: 1rem 0 0; }
.contact-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-detail { align-items: flex-start; border-bottom: 1px solid rgba(255,255,255,.14); color: #fff; display: flex; gap: 1rem; min-height: 155px; padding: 28px 22px 28px 0; }
.contact-detail:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.14); }
.contact-detail:nth-child(even) { padding-left: 28px; }
.contact-detail:hover { color: #c5e6ff; }
.contact-detail i { color: #90cffd; font-size: 1.25rem; line-height: 1; margin-top: .2rem; }
.contact-detail small, .contact-detail strong, .contact-detail em { display: block; }
.contact-detail small { color: #9db5c7; font-size: .64rem; font-weight: 500; letter-spacing: .12em; margin-bottom: .65rem; text-transform: uppercase; }
.contact-detail strong { font-size: .9rem; font-weight: 500 !important; line-height: 1.55; overflow-wrap: anywhere; }
.contact-detail em { color: #d3e1eb; font-size: .77rem; font-style: normal; margin-top: .7rem; }

.gallery-toolbar { border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.gallery-grid { min-height: 300px; }
.gallery-item { transition: opacity .25s, transform .25s; }
.gallery-item.is-hidden { display: none; }
.gallery-card { background: #dde6ec; overflow: hidden; position: relative; }
.gallery-card::before { content: ''; display: block; padding-top: 78%; }
.gallery-card img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .6s; width: 100%; }
.gallery-card:hover img { transform: scale(1.035); }
.project-label { background: linear-gradient(transparent, rgba(3,20,34,.9)); bottom: 0; color: #fff; left: 0; padding: 62px 22px 20px; position: absolute; right: 0; }
.project-label small { display: block; font-size: .63rem; letter-spacing: .13em; margin-bottom: .25rem; text-transform: uppercase; }
.project-label h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; font-weight: 400; margin: 0; }
.filter-btn[aria-pressed='true'] { background: var(--blue); border-color: var(--blue); color: #fff; }

.form-control, .form-select { border-color: #c8d2d9; border-radius: 0; padding: .95rem; }
.form-control:focus, .form-select:focus { border-color: var(--blue); box-shadow: 0 0 0 .2rem rgba(0,85,164,.11); }
.form-label { font-size: .78rem; font-weight: 500 !important; letter-spacing: .04em; }
.form-notice { border: 1px solid; font-size: .86rem; margin-bottom: 22px; padding: 14px 16px; }
.form-notice.is-success { background: #e7f6ec; border-color: #8fc9a2; color: #225b35; }
.form-notice.is-error { background: #fff0ee; border-color: #e1aaa3; color: #8a3025; }

.billing-page { background: linear-gradient(180deg, var(--paper) 0, #edf3f7 100%); }
.billing-form-card { box-shadow: 0 28px 75px rgba(7,24,39,.1); height: auto; padding: clamp(28px, 5vw, 62px); }
.billing-intro { max-width: 760px; }
.billing-intro p { color: var(--muted); line-height: 1.75; margin: 0; }
.required-mark { color: var(--blue); }
.billing-section { border: 0; border-top: 1px solid var(--line); margin: clamp(38px, 5vw, 58px) 0 0; padding: clamp(34px, 5vw, 48px) 0 0; }
.billing-section legend { align-items: center; color: var(--ink); display: flex; float: none; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 400; gap: .8rem; margin: 0 0 26px; width: 100%; }
.billing-section legend span { align-items: center; background: var(--blue); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 auto; font-family: Arial, Helvetica, sans-serif; font-size: .7rem; font-weight: 700; height: 34px; justify-content: center; letter-spacing: .08em; width: 34px; }
.field-note { color: var(--muted); font-size: .9rem; margin: -14px 0 20px 47px; }
.billing-choice-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.billing-choice-grid-terms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.billing-choice-grid-compact { max-width: 680px; }
.billing-choice { align-items: flex-start; background: #fff; border: 1px solid #c8d2d9; cursor: pointer; display: flex; gap: 13px; min-height: 92px; padding: 19px 20px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.billing-choice:hover { border-color: #79acd6; transform: translateY(-1px); }
.billing-choice:has(input:checked) { background: #f1f8fd; border-color: var(--blue); box-shadow: inset 4px 0 0 var(--blue); }
.billing-choice input { accent-color: var(--blue); flex: 0 0 auto; height: 18px; margin-top: 2px; width: 18px; }
.billing-choice strong, .billing-choice small { display: block; }
.billing-choice strong { color: var(--ink); font-size: .88rem; letter-spacing: .035em; text-transform: uppercase; }
.billing-choice small { color: var(--muted); font-size: .82rem; margin-top: 5px; }
.sykes-card-panel { border-top: 1px solid #cbd9e3; margin-top: 32px; padding: 32px 0 0; }
.sykes-card-panel[hidden] { display: none !important; }
.sykes-card-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 30px; }
.sykes-card-heading h3 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.55rem, 3vw, 2rem); font-weight: 400; margin: .35rem 0 0; }
.sykes-card-heading > i { color: var(--blue); font-size: 2rem; }
.card-address-head { align-items: center; border-top: 1px solid #cbd9e3; display: flex; justify-content: space-between; margin: 34px 0 22px; padding-top: 28px; }
.card-address-head h4 { font-size: .84rem; font-weight: 700; letter-spacing: .04em; margin: 0; text-transform: uppercase; }
.billing-inline-check, .billing-agree { align-items: flex-start; color: var(--ink); cursor: pointer; display: flex; gap: 10px; }
.billing-inline-check { font-size: .85rem; }
.form-check-input { border-color: #97a6b1; border-radius: 2px !important; flex: 0 0 auto; margin-top: .12rem; }
.form-check-input:checked { background-color: var(--blue); border-color: var(--blue); }
.card-mask-note { align-items: flex-start; color: #4d6271; display: flex; font-size: .82rem; gap: 9px; line-height: 1.6; margin: 24px 0 0; }
.card-mask-note i { color: var(--blue); font-size: 1rem; }
.billing-agree { font-size: .94rem; line-height: 1.55; }
.billing-confirmation-note { align-items: flex-start; background: #fff7e8; border-left: 4px solid #e5a126; display: flex; gap: 14px; margin: 26px 0; padding: 17px 19px; }
.billing-confirmation-note > i { color: #b67500; font-size: 1.3rem; }
.billing-confirmation-note strong { color: #59420e; }
.billing-confirmation-note p { color: #735b22; font-size: .86rem; line-height: 1.6; margin: 3px 0 0; }
.billing-submit-row { align-items: center; display: flex; gap: 20px; }
.billing-submit-row .btn { align-items: center; display: inline-flex; gap: 12px; }
.billing-flash { box-shadow: 0 16px 40px rgba(7,24,39,.08); margin-bottom: 24px; padding: 19px 22px; }
.billing-flash strong, .billing-flash span { display: block; }
.billing-flash span { margin-top: 4px; }
.billing-error-summary { background: #fff0ee !important; border: 2px solid #c92f24 !important; border-left-width: 7px !important; color: #7f1d16 !important; font-size: .94rem; }
.billing-error-summary strong { align-items: center; display: flex; font-size: 1rem; gap: 9px; }
.billing-error-summary ul { font-weight: 700; margin: 12px 0 0; padding-left: 1.25rem; }
.billing-error-summary li + li { margin-top: 4px; }
.form-control.is-invalid, .billing-form-card .form-control.is-invalid { background-image: none; border: 3px solid #c92f24; box-shadow: 0 0 0 .22rem rgba(201,47,36,.14); }
.billing-choice-grid.is-invalid { outline: 3px solid #c92f24; outline-offset: 4px; }
.billing-choice-grid.is-invalid .billing-choice { border-color: #c92f24; }
.billing-agree.is-invalid { background: #fff0ee; border: 3px solid #c92f24; padding: 13px 15px; }
.billing-thank-you { background: #fff; border-top: 6px solid var(--blue); box-shadow: 0 28px 75px rgba(7,24,39,.1); padding: clamp(42px, 7vw, 78px); text-align: center; }
.billing-success-icon { align-items: center; background: #e4f7eb; border-radius: 50%; color: #21804a; display: inline-flex; font-size: 2rem; height: 74px; justify-content: center; margin-bottom: 26px; width: 74px; }
.billing-thank-you p { color: var(--muted); font-size: 1.05rem; line-height: 1.75; margin: 18px auto 0; max-width: 680px; }
.billing-thank-you-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 30px; }
body.billing-is-sending { overflow: hidden; }
.billing-sending-overlay { align-items: center; background: rgba(3,18,31,.9); display: flex; inset: 0; justify-content: center; padding: 24px; position: fixed; z-index: 2000; }
.billing-sending-overlay[hidden] { display: none !important; }
.billing-sending-card { background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.35); max-width: 460px; padding: 46px 38px; text-align: center; width: 100%; }
.billing-sending-card h2 { color: var(--ink); font-family: Georgia, 'Times New Roman', serif; font-size: 2rem; font-weight: 400; margin: 26px 0 10px; }
.billing-sending-card p { color: var(--muted); line-height: 1.65; margin: 0; }
.billing-mail-animation { align-items: center; background: #edf7ff; border-radius: 50%; color: var(--blue); display: inline-flex; font-size: 2rem; height: 84px; justify-content: center; position: relative; width: 84px; }
.billing-mail-animation span { animation: billing-pulse 1.2s ease-out infinite; border: 2px solid var(--blue); border-radius: 50%; inset: 0; position: absolute; }
@keyframes billing-pulse { 0% { opacity: .65; transform: scale(.88); } 100% { opacity: 0; transform: scale(1.45); } }
.footer-account-cta { align-items: center; background: linear-gradient(135deg, #0b76cf, #0055a4); border: 1px solid #2488d6; box-shadow: 0 10px 25px rgba(0,85,164,.22); color: #fff; display: inline-flex; font-size: .82rem; font-weight: 700; gap: 8px; line-height: 1.3; margin: .75rem 0; padding: 11px 13px; transition: box-shadow .2s, transform .2s; }
.footer-account-cta:hover, .footer-account-cta:focus { box-shadow: 0 13px 30px rgba(0,85,164,.34); color: #fff; transform: translateY(-2px); }

.cta { background: linear-gradient(135deg, var(--blue), var(--blue-deep)); color: #fff; overflow: hidden; position: relative; }
.cta::before { color: rgba(255,255,255,.055); content: 'SP'; font-family: Georgia, 'Times New Roman', serif; font-size: 25vw; line-height: .75; position: absolute; right: -2vw; top: 0; }
.cta .container { position: relative; }
.site-footer { background: #071827; color: #aebcc7; }
.footer-logo { display: block; filter: brightness(0) invert(1); margin-bottom: 1rem; padding: 0; }
.footer-title { color: #fff; font-size: .69rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.footer-link { color: #aebcc7; display: block; font-size: .85rem; margin: .48rem 0; }
.footer-link:hover { color: #fff; }
.footer-social-link { align-items: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); border-radius: 6px; color: #fff; display: inline-flex; font-size: 1.15rem; height: 34px; justify-content: center; transition: all .2s ease; width: 46px; }
.footer-social-link i { color: #fff; }
.footer-social-link:hover { background: var(--blue); border-color: var(--blue); color: #fff; transform: translateY(-2px); }
.footer-social-link:hover i { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); }
.hours-line { font-size: .84rem; line-height: 1.65; }
.status-dot { background: #85919a; border-radius: 50%; display: inline-block; height: .62rem; margin-right: .45rem; width: .62rem; }
.status-dot.is-open { background: #46c277; box-shadow: 0 0 0 4px rgba(70,194,119,.13); }
.status-dot.is-closed { background: #e8a65a; box-shadow: 0 0 0 4px rgba(232,166,90,.12); }
.whatsapp-modal .modal-content { border: 0; border-radius: 0; box-shadow: 0 24px 65px rgba(7,24,39,.25); }
.whatsapp-modal .modal-header { border-bottom-color: var(--line); padding: 24px 26px; }
.whatsapp-modal .modal-body { color: var(--muted); line-height: 1.7; padding: 26px; }
.whatsapp-modal .modal-footer { border-top-color: var(--line); padding: 20px 26px; }
.whatsapp-notice { background: #fff7e8; border-left: 4px solid #e5a126; color: #59420e; padding: 15px 17px; }
.site-notice-modal .modal-content { border: 0; border-radius: 0; box-shadow: 0 24px 65px rgba(7,24,39,.25); }
.site-notice-modal .modal-header { border-bottom: 0; padding: 28px 28px 12px; }
.site-notice-modal .modal-title { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.site-notice-modal .modal-body { color: var(--muted); line-height: 1.72; padding: 10px 28px 22px; white-space: pre-line; }
.site-notice-modal .modal-footer { border-top: 1px solid var(--line); padding: 20px 28px; }

.reveal { opacity: 0; transform: translateY(24px); transition: .72s cubic-bezier(.2,.75,.25,1); }
.reveal.in { opacity: 1; transform: none; }
.stagger > * { opacity: 0; transform: translateY(20px); transition: .55s cubic-bezier(.2,.75,.25,1); }
.stagger.in > * { opacity: 1; transform: none; }
.stagger.in > *:nth-child(2) { transition-delay: .06s; }
.stagger.in > *:nth-child(3) { transition-delay: .12s; }
.stagger.in > *:nth-child(4) { transition-delay: .18s; }
.stagger.in > *:nth-child(5) { transition-delay: .24s; }
.stagger.in > *:nth-child(6) { transition-delay: .3s; }

@media (max-width: 991px) {
    :root { --nav-height: 76px; }
    .navbar-brand img { height: 48px; width: 158px; }
    .navbar-collapse { background: #fff; border-top: 1px solid var(--line); margin-top: .65rem; padding: .7rem 0 1rem; }
    .navbar .nav-link::before { bottom: .35rem; right: auto; width: 34px; }
    .nav-actions { margin: .55rem 0 0; }
    .hero { min-height: 82vh; }
    .hero::after, .page-hero::after { background: rgba(4,31,55,.9); }
    .dark-panel { padding: 54px 32px; }
    .split-image { min-height: 440px; }
    .contact-directory { padding: 36px; }
    .billing-choice-grid-terms { grid-template-columns: 1fr; }
    .row.g-5 { --bs-gutter-x: 1.5rem; }
}

@media (max-width: 575px) {
    html, body { overflow-x: hidden; max-width: 100%; }
    .container, .container-fluid { padding-left: 1rem; padding-right: 1rem; }
    .row { --bs-gutter-x: 1rem; }
    .row.g-5 { --bs-gutter-x: 1rem; }
    .row.g-4 { --bs-gutter-x: 0.85rem; }
    .row.g-3 { --bs-gutter-x: 0.75rem; }
    .section-pad { padding: 54px 0; }
    .hero { min-height: auto; padding-top: 110px; padding-bottom: 60px; }
    .hero h1 { font-size: clamp(2.2rem, 8.5vw, 3.2rem); word-break: break-word; overflow-wrap: break-word; }
    .page-hero { min-height: auto; padding-top: 110px; padding-bottom: 50px; }
    .page-hero h1 { font-size: clamp(2rem, 8vw, 3rem); word-break: break-word; overflow-wrap: break-word; }
    .floating-strip { margin-top: 0; }
    .stat { box-shadow: none; }
    .display-title { font-size: clamp(1.9rem, 7.5vw, 2.5rem); word-break: break-word; overflow-wrap: break-word; }
    .social-shell { padding: 16px; }
    .contact-directory { padding: 28px 20px; }
    .contact-detail-grid { grid-template-columns: 1fr; }
    .contact-detail, .contact-detail:nth-child(even) { border-right: 0; min-height: auto; padding: 20px 0; }
    .billing-choice-grid { grid-template-columns: 1fr; }
    .field-note { margin-left: 0; }
    .card-address-head, .billing-submit-row { align-items: flex-start; flex-direction: column; }
    .billing-submit-row .btn { justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
    .reveal, .stagger > * { opacity: 1 !important; transform: none !important; }
    .hero-bg, .page-hero-bg { transform: none !important; }
}
