/* Service detail sections and softer interaction states. */
.corporate .solution-module { padding:80px 0; scroll-margin-top:100px; }
.solution-module--soft { background:#f4f7fb; }
.module-layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.module-layout--reverse .module-media { order:2; }
.module-media { min-width:0; }
.module-media>img { display:block; width:auto; max-width:100%; height:auto; max-height:600px; margin:0 auto; border-radius:36px; }
.module-copy h2 { font-size:32px; max-width:560px; }
.module-copy>p:not(.section-kicker) { color:#526378; font-size:17px; }
.module-copy .section-kicker { max-width:100%; }
.module-secondary { display:block; margin-top:20px; color:var(--blue); font-weight:600; font-size:15px; }
.module-editorial { min-height:380px; padding:48px; background:#e8f1fd; border-radius:36px; display:flex; flex-direction:column; justify-content:center; }
.module-editorial>span { font-size:14px; letter-spacing:.12em; color:#2769ba; margin-bottom:26px; }
.module-editorial strong { font-size:38px; line-height:1.15; letter-spacing:-.04em; color:#154d91; }
.module-editorial p { margin-block:24px; }
.module-editorial a { color:#154d91; text-decoration:underline; text-underline-offset:5px; }
.corporate .solution-card,.corporate .new-product,.corporate .article-card__surface { border-radius:24px; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
@media(hover:hover) { .corporate .solution-card:hover,.corporate .new-product:hover,.corporate .article-card__surface:hover { transform:translateY(-5px); box-shadow:0 16px 40px #154d9112; border-color:#5b99e8; } }
.corporate .button { transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
.corporate .button:active { transform:scale(.98); }
.corporate .button.primary:hover { box-shadow:0 8px 20px #0869e526; }
.corporate .events-disclosure details { border:1px solid #dbe5f1; border-radius:24px; background:#f7faff; }
.corporate .events-disclosure summary { list-style:none; padding:26px 30px; color:#194e8c; display:flex; gap:20px; justify-content:space-between; align-items:center; }
.events-disclosure summary::-webkit-details-marker { display:none; }
.events-disclosure summary span { float:none; display:flex; align-items:center; justify-content:center; min-width:36px; height:36px; border-radius:50%; background:#e6effc; transition:transform .35s; }
.events-disclosure details[open] summary span { transform:rotate(45deg); }
.corporate .events-disclosure .event-proof { margin:0; padding:12px 30px 32px; background:transparent; }
.corporate .events-disclosure .event-proof::after { display:none; }
.corporate .events-disclosure .event-proof__intro h2 { color:var(--navy); }
.corporate .events-disclosure .event-proof__intro p:not(.section-kicker) { color:var(--muted); }
.corporate .event-photo img,.corporate .event-card { border-radius:20px; }
.corporate .corp-contact { padding:80px 0; background:#f0f5fb; }
.contact-shell { display:grid; grid-template-columns:.8fr 1.2fr; background:#fff; border-radius:36px; overflow:hidden; box-shadow:0 20px 65px #1e4c7710; }
.contact-story { background:#103d76; color:white; padding:45px 36px; display:flex; flex-direction:column; }
.corporate .contact-story h2 { font-size:34px; line-height:1.2; }
.corporate .contact-story>.section-kicker { background:#ffffff16; color:#d2e6ff; }
.contact-story>p:not(.section-kicker) { color:#d0dff1; }
.contact-instagram a { display:inline-block; color:white; font-size:15px; text-decoration:underline; text-underline-offset:5px; padding-block:8px; }
.contact-expectations { display:grid; gap:20px; margin-block:24px 36px; counter-reset:contact; }
.contact-expectations span { display:flex; align-items:center; gap:12px; font-size:15px; }
.contact-expectations span:before { counter-increment:contact; content:counter(contact); width:28px; height:28px; background:#ffffff18; border-radius:50%; display:grid; place-items:center; font-size:14px; }
.contact-story img { margin-top:auto; width:100%; height:220px; object-fit:cover; border-radius:22px; }
.corporate #quoteForm { border:0; border-radius:0; padding:40px; gap:18px; }
.contact-form-heading,.form-step-title { grid-column:1/-1; }
.contact-form-heading h3 { margin-bottom:10px; font-size:24px; }
.contact-form-heading p { color:#667589; font-size:15px; margin-bottom:6px; }
.form-step-title { font-size:15px; font-weight:700; margin-top:12px; }
.corporate #quoteForm .service-options { display:flex; flex-wrap:wrap; gap:9px; }
.corporate #quoteForm .service-options legend { margin-bottom:15px; font-size:15px; }
.corporate #quoteForm .service-options label { position:relative; margin:0; display:block; cursor:pointer; }
.corporate #quoteForm .service-options input { position:absolute; left:12px; top:12px; width:1px; height:1px; min-height:0; opacity:0; }
.corporate #quoteForm .service-options span { display:block; font-size:14px; line-height:1.4; padding:10px 13px; border:1px solid #d8e2ee; border-radius:22px; background:#f8fafc; transition:background .2s,border-color .2s,color .2s; }
.corporate #quoteForm .service-options input:checked+span { background:#e7f1ff; border-color:#0b68df; color:#074ba4; box-shadow:inset 0 0 0 1px #0b68df; }
.corporate #quoteForm .service-options input:focus-visible+span { outline:3px solid #db8d00; outline-offset:3px; }
.corporate #quoteForm input:not([type=checkbox]),.corporate #quoteForm textarea { background:#f7f9fc; border:1px solid #dce4ed; border-radius:12px; font-size:15px; padding:13px; }
.corporate #quoteForm>label { font-weight:500; font-size:14px; }
.corporate #quoteForm input:focus,.corporate #quoteForm textarea:focus { background:#fff; }
.corporate .catalog-page .inner-hero { overflow:visible; }
.corporate.catalog-page .inner-hero__grid { grid-template-columns:1.2fr .8fr; }
.corporate.catalog-page .inner-hero__grid>img { height:430px; width:100%; object-fit:contain; object-position:center; background:#080d0c; border-radius:32px; }
.product-status { padding:18px 22px; background:#edf4ff; color:#164d90; border-radius:16px; }
.product-content details summary { display:flex; align-items:center; justify-content:space-between; }
.product-content details summary:after { content:'+'; font-size:20px; transition:transform .3s; }
.product-content details[open] summary:after { transform:rotate(45deg); }
.library-intro { margin-bottom:30px; }
.library-intro p { color:#526378; }
.credential-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.credential-grid article { padding:35px; border:1px solid #dce5ef; border-radius:28px; background:#f7faff; }
.credential-grid ul { padding-left:20px; }
.credential-grid li { margin-bottom:16px; }
.reference-dialog { border:0; padding:22px; border-radius:24px; max-width:min(820px,94vw); max-height:92dvh; background:#fff; }
.reference-dialog::backdrop { background:#0a1c36bf; backdrop-filter:blur(5px); }
.reference-dialog figure { margin:0; }
.reference-dialog img { max-width:100%; height:auto; margin:auto; }
.reference-dialog figcaption { padding-top:16px; font-size:14px; color:#526378; }
.reference-close { position:sticky; top:0; display:block; margin-left:auto; z-index:1; border:0; border-radius:50%; width:42px; height:42px; background:#e7eff9; font-size:28px; color:#103d76; cursor:pointer; }
.reference-dialog[open],.lead-dialog[open] { animation:dialog-enter .24s ease-out; }
@keyframes dialog-enter { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:1000px) { .module-layout { gap:35px; } .contact-shell { grid-template-columns:1fr; } .contact-story { padding:32px; display:block; } .contact-story img { display:none; } .contact-expectations { grid-template-columns:repeat(3,1fr); margin-bottom:0; } }
@media(max-width:760px) { .corporate .solution-module { padding:50px 0; } .module-layout,.corporate.catalog-page .inner-hero__grid { grid-template-columns:1fr; } .module-layout--reverse .module-media { order:0; } .module-media>img { max-height:480px; border-radius:24px; } .module-copy h2 { font-size:27px; } .module-editorial { min-height:280px; padding:30px; } .module-editorial strong { font-size:32px; } .corporate #quoteForm { padding:26px 22px; grid-template-columns:1fr; } .corporate #quoteForm .full { grid-column:1/-1; } .contact-shell { border-radius:26px; } .contact-expectations { grid-template-columns:1fr; gap:12px; } .corporate .contact-story h2 { font-size:28px; } .corporate.catalog-page .inner-hero__grid>img { height:360px; } .credential-grid { grid-template-columns:1fr; } .credential-grid article { padding:25px; } .corporate .events-disclosure summary { padding:22px; } .corporate .events-disclosure .event-proof { padding:5px 20px 25px; } }
.whatsapp-float { position:fixed; right:24px; bottom:24px; z-index:60; width:62px; height:62px; display:grid; place-items:center; color:#fff; background:#25d366; border-radius:50%; box-shadow:0 8px 24px #25d36666; animation:whatsapp-bounce 2.4s ease-in-out infinite; transition:transform .2s; }
.whatsapp-float svg { width:34px; height:34px; }
.whatsapp-float::before,.whatsapp-float::after { content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #25d366; animation:whatsapp-pulse 2.4s ease-out infinite; pointer-events:none; }
.whatsapp-float::after { animation-delay:1.2s; }
.whatsapp-float:hover,.whatsapp-float:focus-visible { transform:scale(1.08); animation-play-state:paused; }
@keyframes whatsapp-pulse { 0% { transform:scale(1); opacity:.8; } 100% { transform:scale(1.7); opacity:0; } }
@keyframes whatsapp-bounce { 0%,70%,100% { transform:translateY(0); } 80% { transform:translateY(-8px); } 90% { transform:translateY(0); } 95% { transform:translateY(-3px); } }
@media(max-width:760px) { .whatsapp-float { right:16px; bottom:16px; width:56px; height:56px; } .whatsapp-float svg { width:30px; height:30px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
