/* Avorino v7 — Footer Embed CSS (externalized) */

/* BASE TYPOGRAPHY */
body{font-family:'DM Sans',system-ui,sans-serif;font-size:17px;font-weight:400;color:#111;background:#e8e4df;line-height:1.9;letter-spacing:.005em;word-spacing:.06em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;cursor:none}
h1,h2,h3,h4{font-family:'DM Serif Display',Georgia,serif;font-weight:400;margin:0}
h1{font-size:96px;line-height:1.04;letter-spacing:-.03em}
h2{font-size:64px;line-height:1.08;letter-spacing:-.02em}
h3{font-size:24px;line-height:1.2}
h4{font-size:24px;line-height:1.2}
p{margin:0}
a{text-decoration:none;color:inherit;cursor:none}
button{border:none;background:none;cursor:none;font-family:inherit}
blockquote{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-style:italic;font-size:24px;line-height:1.7;margin:0;padding:0;border:none}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none;margin:0;padding:0}

/* BLEND MODES & INITIAL STATES */
.cursor-ring{mix-blend-mode:difference}
.cursor-dot{mix-blend-mode:difference}


/* RESPONSIVE TYPOGRAPHY (clamp) */
.hero-title{font-size:clamp(56px,7vw,96px)}
.about-heading{display:block;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(44px,5.5vw,80px);line-height:1.06;letter-spacing:-.025em;max-width:580px}
.process-heading,.testimonials-heading,.tools-heading,.cta-title{font-size:clamp(40px,4.5vw,64px)}
.process-step-title,.process-slide-title,.featured-panel-title{font-size:clamp(28px,3vw,44px)}
.service-title{font-size:clamp(22px,2.2vw,36px)}
.preloader-text{font-size:clamp(36px,5vw,64px)}
.nav-mobile-overlay a{font-size:clamp(28px,3vw,44px)}

/* PSEUDO-ELEMENTS */
.about-label::after,.featured-label::after,.section-label::after{content:'';flex:1;height:1px;background:#c8222a;opacity:.15}
.process-line::before{content:'';position:absolute;top:var(--line-top,61px);height:var(--line-h,80%);width:1px;background:rgba(17,17,17,.1)}
.process-slide-body{font-family:'DM Sans',system-ui,sans-serif;color:#111}
.service-card::after{content:'';position:absolute;inset:0;z-index:1;transition:opacity .6s ease}
.service-card--dark::after{background:linear-gradient(to bottom,rgba(17,17,17,.02) 0%,rgba(17,17,17,.15) 40%,rgba(17,17,17,.85) 100%)}
.service-card--teal::after{background:linear-gradient(to bottom,rgba(42,63,78,.02) 0%,rgba(42,63,78,.2) 40%,rgba(42,63,78,.9) 100%)}
.service-card--warm::after{background:linear-gradient(to bottom,rgba(139,115,85,.02) 0%,rgba(139,115,85,.15) 40%,rgba(139,115,85,.82) 100%)}
.featured-grid-card::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(17,17,17,0) 0%,rgba(17,17,17,.1) 40%,rgba(17,17,17,.75) 100%);z-index:1;transition:opacity .5s ease}
.hero-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.04) 0%,rgba(0,0,0,.55) 100%);opacity:1}
.float-el--cross::before,.float-el--cross::after{content:'';position:absolute;background:currentColor}
.float-el--cross::before{width:14px;height:1px;top:50%;left:0}
.float-el--cross::after{width:1px;height:14px;left:50%;top:0}
.testimonial-dot::before{content:'';position:absolute;inset:-10px}

/* TRANSITIONS & TRANSFORMS */
.cursor-ring{transition:width .3s ease,height .3s ease,opacity .3s ease;transform:translate(-50%,-50%)}
.cursor-ring span{transition:opacity .2s ease}
.cursor-dot{transform:translate(-50%,-50%);transition:opacity .2s ease}

/* Nav styles handled by avorino-nav-footer.css + avorino-nav.js */

/* Button transitions */
.btn-pill{transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .3s ease}
.btn-pill .arrow{transition:transform .3s ease}
.cta-btn{transition:transform .5s cubic-bezier(.23,1,.32,1)}
.cta-btn .arrow{transition:transform .3s ease}

/* About link */
.about-link{transition:opacity .3s ease}
.about-link .arrow{transition:transform .3s ease,color .3s ease}

/* Service card */
.service-card-image{transition:transform 1.2s cubic-bezier(.23,1,.32,1);will-change:transform}
.service-desc{transition:opacity .5s ease .1s,max-height .5s ease}
.service-cta{transform:translateY(8px);transition:opacity .4s ease .15s,transform .4s ease .15s}
.service-cta .arrow{transition:transform .3s ease,color .3s ease}

/* Featured grid card */
.featured-grid-card-image{transition:transform 1.2s cubic-bezier(.23,1,.32,1)}

/* Process */
.process-step-dot{transition:background .5s ease,border-color .5s ease}

/* Testimonial */
.testimonial-dot{transition:all .4s ease}
.testimonial-arrow{transition:border-color .3s ease,background .3s ease}

/* Tool card */
.tool-card{transition:transform .5s cubic-bezier(.23,1,.32,1),border-color .4s ease,box-shadow .4s ease}
.tool-cta{transition:opacity .3s ease,gap .3s ease}

/* Footer links */
.footer-col a{transition:opacity .3s ease}
.footer-bottom-links a{transition:opacity .3s ease}

/* Services progress */
.services-progress-bar{transform-origin:left;transform:scaleX(0)}

/* Featured panel initial */
.featured-panel{opacity:0;transform:translateY(40px)}

/* Flip card 3D + font override */
.flip-card-inner{transform-style:preserve-3d}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom,.stat-suffix,.stat-separator{font-family:'DM Serif Display',Georgia,serif}

/* Heading-div font overrides — Webflow body font breaks inheritance on child divs/spans */
.featured-panel-title,.featured-panel-title>div,.featured-panel-title>div>span,
.featured-grid-card-title,.featured-grid-card-title>div,.featured-grid-card-title>div>span{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#f0ede8}
.process-heading,.process-heading>div,.process-heading>div>span,
.process-step-title,.process-slide-title{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#111}
.testimonials-heading,.testimonials-heading>div,.testimonials-heading>div>span{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#111}
.tools-heading,.tools-heading>div,.tools-heading>div>span{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#f0ede8}
.testimonial-quote{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-style:italic;color:#f0ede8}
.footer-brand-name{font-family:'DM Serif Display',Georgia,serif;font-weight:400;color:#f0ede8}
.featured-label,.featured-meta-label,.featured-meta-value,.featured-grid-card-meta,.featured-grid-card-meta>span{font-family:'DM Sans',system-ui,sans-serif;font-weight:400}
.footer-col a,.footer-bottom-links a,.footer-brand-desc,.footer-license,.footer-copy,.footer-cities-list,.footer-cities-label,.footer-col-title{font-family:'DM Sans',system-ui,sans-serif;color:#f0ede8}
.testimonial-author,.testimonial-location{font-family:'DM Sans',system-ui,sans-serif;color:#f0ede8}
.tool-name{font-family:'DM Serif Display',Georgia,serif;color:#f0ede8}
.tool-desc,.tool-cta{font-family:'DM Sans',system-ui,sans-serif;color:#f0ede8}

/* HOVER STATES */
.cursor-ring.hover-link{width:64px;height:64px}
.cursor-ring.hover-image{width:64px;height:64px}
.cursor-ring.hover-image span{opacity:1}
.cursor-ring.hover-link~.cursor-dot,.cursor-ring.hover-image~.cursor-dot{opacity:0}
.btn-pill:hover .arrow{transform:translateX(4px)}
.btn-pill:hover{box-shadow:0 8px 32px rgba(200,34,42,.15)}
.cta-btn:hover .arrow{transform:translateX(4px)}
.cta-btn:hover{box-shadow:0 8px 32px rgba(200,34,42,.2)}
.about-link:hover{opacity:1;color:#c8222a}
.about-link:hover .arrow{transform:translateX(4px);color:#c8222a}
.service-card:hover .service-card-image{transform:scale(1.06)}
.service-card:hover::after{opacity:.92}
.service-card:hover .service-desc{opacity:.65;max-height:120px}
.service-card:hover .service-cta{opacity:.7;transform:translateY(0)}
.service-cta:hover{opacity:1;color:#c8222a}
.service-cta:hover .arrow{transform:translateX(6px);color:#c8222a}
.featured-grid-card:hover .featured-grid-card-image{transform:scale(1.05)}
.featured-grid-card:hover::after{opacity:.9}
.tool-card:hover{transform:translateY(-6px);border-color:rgba(200,34,42,.3);box-shadow:0 24px 64px rgba(0,0,0,.4),0 0 0 1px rgba(200,34,42,.15)}
.tool-card:hover .tool-cta{opacity:1;gap:12px}
.tool-card:hover .tool-icon-wrap{color:#c8222a}
.testimonial-arrow:hover{border-color:rgba(240,237,232,.4);background:rgba(240,237,232,.05)}
.footer-col a:hover{opacity:.8}
.footer-bottom-links a:hover{opacity:.5}
.process-step-dot.active{background:#c8222a;border-color:#c8222a}

/* RESPONSIVE — LARGE VIEWPORTS */
@media(min-width:1600px){
.about,.featured,.process,.testimonials,.tools{padding-left:120px;padding-right:120px}
.services-header,.services-track{padding-left:120px;padding-right:120px}
.stats{padding-left:120px;padding-right:120px}
.footer{padding-left:120px;padding-right:120px}
.flip-card{width:84px;height:112px}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom{font-size:56px}
.stat-suffix,.stat-separator{font-size:44px}
}
@media(min-width:1920px){
.about,.featured,.process,.testimonials,.tools{padding-left:160px;padding-right:160px}
.services-header{padding:128px 160px 64px}
.services-track{padding:0 160px 128px;gap:40px}
.stats{padding-left:160px;padding-right:160px}
.footer{padding-left:160px;padding-right:160px}
.about-grid{gap:140px}
.testimonials-grid{gap:120px}
.tools-header{gap:120px}
.flip-card{width:96px;height:128px}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom{font-size:64px}
.stat-suffix,.stat-separator{font-size:52px}
.tool-card{padding:56px 44px}
.service-card{height:58vh;min-height:480px;max-height:740px}
.service-card-content{padding:52px 52px 68px}
}
@media(min-width:2560px){
.about,.featured,.process,.testimonials,.tools{padding-left:240px;padding-right:240px}
.services-header{padding:160px 240px 80px}
.services-track{padding:0 240px 160px;gap:48px}
.stats{padding-left:240px;padding-right:240px}
.footer{padding-left:240px;padding-right:240px}
.service-card{height:55vh;min-height:500px;max-height:780px}
.service-card-content{padding:56px 56px 72px}
.service-title{font-size:clamp(28px,2vw,42px)}
.service-number{font-size:12px;margin-bottom:28px}
.service-desc{font-size:15px}
.service-cta{font-size:15px}
.flip-card{width:108px;height:144px}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom{font-size:72px}
.stat-suffix,.stat-separator{font-size:60px}
.stats-grid{gap:96px}
}

/* RESPONSIVE — SMALL VIEWPORTS */
@media(max-width:991px){
.about-grid,.process-header,.testimonials-grid,.tools-header{grid-template-columns:1fr;gap:48px}
.services-header{padding:96px 48px 48px}
.services-track{padding:0 48px 96px;gap:24px}
.service-card{width:65vw;min-width:300px;height:55vh;min-height:380px;max-height:560px}
.service-card-content{padding:36px 36px 48px}
.service-title{font-size:clamp(20px,3vw,28px)}
.service-number{margin-bottom:20px}
.stats-grid{grid-template-columns:repeat(2,1fr);gap:48px}
.footer-top{grid-template-columns:1fr 1fr;gap:48px}
.hero-content{flex-direction:column;align-items:flex-start;gap:32px}
.featured-panel{margin-left:32px;margin-right:32px}
.featured-grid{grid-template-columns:1fr;gap:24px}
.featured-grid-card{height:38vh;min-height:260px;max-height:380px}
.process-timeline{grid-template-columns:48px 1px 1fr;gap:0 24px}
.process-step-number{font-size:48px}
.process-stage{grid-template-columns:60px 1fr;gap:0 32px}
.process-vis{display:none}
.process-num{font-size:64px}
}
@media(max-width:767px){
.nav-burger{display:flex}
.nav-links{display:none}
.nav-mobile-overlay{display:flex}
.section-pad,.about,.stats,.featured,.process,.testimonials,.tools,.footer{padding-left:24px;padding-right:24px}
.hero{padding:16px}
.hero-content{left:32px;right:32px;bottom:48px}
.cta-section{padding:16px}
.services-header{padding:80px 24px 32px}
.services-track{padding:0 24px 80px;gap:16px}
.service-card{width:72vw;min-width:260px;height:52vh;min-height:340px;max-height:500px}
.service-card-content{padding:28px 28px 40px}
.service-title{font-size:clamp(18px,4vw,24px);margin-bottom:12px}
.service-number{font-size:9px;margin-bottom:16px}
.service-desc{opacity:.55;max-height:100px;font-size:13px}
.service-cta{opacity:.6;transform:translateY(0);font-size:13px;margin-top:16px}
.services-progress{width:80px}
.services-counter-wrap{gap:20px}
.stats{padding:96px 24px}
.stats-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
.stat-label{font-size:9px;letter-spacing:.2em}
.flip-card{width:48px;height:64px}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom{font-size:28px}
.stat-suffix{font-size:24px}
.stat-separator{font-size:24px;margin-bottom:8px}
.footer-top{grid-template-columns:1fr}
.tools-cards{grid-template-columns:1fr}
.process-stage{grid-template-columns:1fr;gap:24px 0}
.process-num{display:none}
.process-vis{display:none}
.process-slides{min-height:180px}
.testimonials-left{position:static}
.cursor-ring,.cursor-dot{display:none}
}
@media(max-width:479px){
.services-header{padding:64px 16px 24px;flex-direction:column;align-items:flex-start;gap:20px}
.services-track{padding:0 16px 64px;gap:12px}
.service-card{width:82vw;min-width:240px;height:48vh;min-height:300px;max-height:420px}
.service-card-content{padding:20px 20px 28px}
.service-title{font-size:18px;margin-bottom:8px}
.service-number{font-size:9px;margin-bottom:12px}
.service-desc{font-size:12px;line-height:1.6}
.service-cta{font-size:12px;margin-top:12px}
.services-counter{font-size:12px}
.services-progress{width:60px}
.stats-grid{gap:24px 16px}
.flip-card{width:40px;height:56px}
.flip-card-top,.flip-card-bottom,.flip-card-flip-top,.flip-card-flip-bottom{font-size:24px}
.stat-suffix,.stat-separator{font-size:20px}
.stat-digits{gap:4px}
.stat-label{font-size:8px;letter-spacing:.15em}
}
