/* Shared page sections: container, vertical rhythm and centered headings used by blocks/comun and page blocks. */
.presto-section { padding:128px 0; background:#fff; color:#141414; font-family:"Didact Gothic",sans-serif; }
.presto-section.is-secondary { background:#f5f5f4; }
.presto-wrap { box-sizing:border-box; width:100%; max-width:1440px; margin:0 auto; padding:0 48px; }
.presto-section .presto-eyebrow { display:block; margin:0 0 16px; color:#737373; font-size:12px; font-weight:400; line-height:16px; letter-spacing:.3em; text-transform:uppercase; }
.presto-section .presto-title { margin:0; color:#141414; font-family:"Libre Franklin",sans-serif; font-size:48px; font-weight:400; line-height:1; letter-spacing:.02em; text-transform:none; overflow-wrap:normal; }
.presto-section .presto-head { margin:0 0 64px; text-align:center; }
.presto-accent-line { display:block; width:64px; height:1px; background:#ac7c39; }
@media (max-width:1023px) { .presto-section { padding:80px 0; } .presto-wrap { padding:0 24px; } }
@media (max-width:767px) { .presto-section .presto-title { font-size:36px; line-height:40px; } }

/* Editor only: in-canvas item controls and media buttons (these classes never reach the front end). */
.presto-edit-tools { position: absolute; top: 4px; right: 4px; z-index: 20; display: none; gap: 2px; padding: 2px; border-radius: 2px; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); color: #1e1e1e; font-size: 13px; line-height: 1; letter-spacing: normal; text-align: left; text-transform: none; }
.presto-edit-item { position: relative; }
.presto-edit-item:hover > .presto-edit-tools, .presto-edit-item:focus-within > .presto-edit-tools { display: flex; }
.components-button.presto-edit-media { position: absolute; top: 12px; left: 12px; z-index: 20; background: #fff; }
.components-button.presto-edit-add { margin-top: 16px; background: #fff; }
.presto-edit-sidebar-media { margin-bottom: 16px; }
.presto-card-grid__logo .components-button.presto-edit-media { top: 0; left: 0; display: none; }
.presto-edit-item:hover .presto-card-grid__logo .components-button.presto-edit-media { display: inline-flex; }
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container .presto-section p { margin-bottom: 0; }
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container .presto-section p.presto-cta__text { margin-bottom: 40px; }


/* framer-motion default spring for x/y (stiffness 500, damping 25), sampled until it settles. */
:root { --presto-spring: linear(0, 0.034, 0.1214, 0.2425, 0.3805, 0.522, 0.657, 0.7784, 0.8821, 0.9659, 1.0298, 1.0748, 1.1031, 1.1172, 1.1201, 1.1144, 1.1028, 1.0877, 1.0708, 1.0539, 1.038, 1.0238, 1.0118, 1.0023, 1); }
/* Scroll-in reveals (front only: .presto-js is set in <head>, never in the editor canvas). Values measured on the reference. */
.presto-js [data-reveal] { opacity: 0; transition: opacity var(--reveal-duration, 0.6s) cubic-bezier(0, 0, 0.58, 1) var(--reveal-delay, 0s), transform var(--reveal-duration, 0.6s) cubic-bezier(0, 0, 0.58, 1) var(--reveal-delay, 0s); }
.presto-js [data-reveal="up"] { transform: translateY(30px); }
.presto-js [data-reveal="up-lg"] { --reveal-duration: 0.8s; transform: translateY(50px); }
.presto-js [data-reveal="up-sm"] { --reveal-duration: 0.4s; transform: translateY(20px); }
.presto-js [data-reveal="left"] { transform: translateX(-30px); }
.presto-js [data-reveal="right"] { transform: translateX(30px); }
.presto-js [data-reveal="fade"] { --reveal-duration: 0.4s; }
.presto-js [data-reveal="left-sm"] { --reveal-duration: 0.4s; transform: translateX(-20px); }
.presto-js [data-reveal="tab"] { transform: translateY(20px); transition: opacity 0.35s cubic-bezier(0, 0, 0.58, 1) var(--reveal-delay, 0s), transform 0.3s cubic-bezier(0, 0, 0.58, 1) calc(var(--reveal-delay, 0s) + 0.35s), background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.presto-js [data-reveal="hero"] { --reveal-duration: 1s; transform: translateY(40px); }
.presto-js [data-reveal="hero-item"] { --reveal-duration: 0.7s; transform: translateY(20px); }
.presto-js [data-reveal="spring"] { transform: translateY(20px); transition: opacity 0.3s cubic-bezier(0.25, 0.1, 0.35, 1) var(--reveal-delay, 0s), transform 0.295s var(--presto-spring) var(--reveal-delay, 0s); }
.presto-js [data-reveal].is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.presto-js [data-reveal] { opacity: 1; transform: none; transition: none; }
}
.presto-js .presto-card-grid__card[data-reveal] { transition: opacity var(--reveal-duration) cubic-bezier(0, 0, 0.58, 1) var(--reveal-delay, 0s), transform var(--reveal-duration) cubic-bezier(0, 0, 0.58, 1) var(--reveal-delay, 0s), border-color 0.15s cubic-bezier(0.4, 0, 0.2, 1); }
