/* Draft only: Services page options. Variants are keyed by classes on <html>:
   dw-s1-* hero word, dw-s2-* journey button, dw-s3-* packages, dw-s4-* steps. */
:root{--dw-cream:#FFFCF8;--dw-paper:#F4F1EA;--dw-sage:#9B9B83;--dw-olive:#7C7C61;--dw-ink:#6f6f58;--dw-display:var(--d-font-display,"Bodoni Moda"),serif;--dw-body:var(--d-font-body,"Inter"),sans-serif;--dw-label:var(--d-font-label,"Assistant"),sans-serif;
  --dw-ease:cubic-bezier(.2,.7,.2,1);
  --dw-swash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11 C 40 3, 90 3, 120 8 S 175 13, 197 5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")}

/* ---------- 1. hero word ---------- */
html[class*="dw-s1-"] .premium-atext__headline .premium-atext__text,
html[class*="dw-s1-"] .premium-atext__headline .typed-cursor{display:none!important}
.dw-niche{display:none}
html[class*="dw-s1-"] .dw-niche{display:inline-block;position:relative;vertical-align:bottom;color:var(--e-global-color-512bfc9,#7C7C61);white-space:nowrap}
.dw-niche .l{display:inline-block}

/* A family: letters (or words) rise from a fold line */
html:is(.dw-s1-a,.dw-s1-a2,.dw-s1-a3) .dw-niche{overflow:hidden;padding-bottom:.08em;transition:width .7s cubic-bezier(.65,0,.35,1)}
html:is(.dw-s1-a,.dw-s1-a2,.dw-s1-a3) .dw-niche .w{display:block}
html:is(.dw-s1-a,.dw-s1-a2,.dw-s1-a3) .dw-niche .w.out{position:absolute;left:0;top:0}
/* A: straight rise */
html.dw-s1-a .dw-niche .l{transform:translateY(105%);transition:transform .8s cubic-bezier(.22,.8,.2,1)}
html.dw-s1-a .dw-niche .w.in .l{transform:none}
html.dw-s1-a .dw-niche .w.out .l{transform:translateY(-105%);transition-duration:.6s;transition-timing-function:cubic-bezier(.6,0,.8,.2)}
/* A2: letters rise with a small tilt and settle; the old word sinks back down */
html.dw-s1-a2 .dw-niche .l{transform:translateY(110%) rotate(9deg);transform-origin:0 100%;opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .6s ease}
html.dw-s1-a2 .dw-niche .w.in .l{transform:none;opacity:1}
html.dw-s1-a2 .dw-niche .w.out .l{transform:translateY(110%) rotate(-6deg);opacity:0;transition-duration:.55s;transition-timing-function:cubic-bezier(.6,0,.8,.2)}
/* A3: word by word */
html.dw-s1-a3 .dw-niche .wd{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.22,.8,.2,1)}
html.dw-s1-a3 .dw-niche .w.in .wd{transform:none}
html.dw-s1-a3 .dw-niche .w.out .wd{transform:translateY(-105%);transition-duration:.6s;transition-timing-function:cubic-bezier(.6,0,.8,.2)}
/* A4: the whole list rolls slowly, one niche at a time */
html.dw-s1-a4 .dw-niche{overflow:hidden;height:1.2em;line-height:1.2em;padding-bottom:.06em;transition:width .9s cubic-bezier(.65,0,.35,1)}
html.dw-s1-a4 .dw-niche .roll{display:block;transition:transform 1.15s cubic-bezier(.65,0,.25,1)}
html.dw-s1-a4 .dw-niche .roll>span{display:block;height:1.2em;opacity:.25;transition:opacity 1s ease}
html.dw-s1-a4 .dw-niche .roll>span.cur{opacity:1}

/* Escrita: smooth typing, letters fade in instead of popping, no blinking cursor */
html:is(.dw-s1-t1,.dw-s1-t2,.dw-s1-t3) .dw-niche .l{opacity:0;transform:translateY(.14em);transition:opacity .38s ease,transform .5s var(--dw-ease)}
html:is(.dw-s1-t1,.dw-s1-t2,.dw-s1-t3) .dw-niche .l.on{opacity:1;transform:none}
html:is(.dw-s1-t1,.dw-s1-t2,.dw-s1-t3) .dw-niche .l.h{display:none}
html:is(.dw-s1-t1,.dw-s1-t2,.dw-s1-t3) .dw-niche .l.gone{opacity:0;transform:translateY(-.1em);transition-duration:.22s}
/* T1: a fine caret that glides and breathes */
.dw-niche .caret{display:none}
html.dw-s1-t1 .dw-niche .caret{display:inline-block;width:1px;height:.9em;margin-left:.06em;vertical-align:-.08em;background:var(--dw-sage);animation:dwBreath 1.8s ease-in-out infinite}
@keyframes dwBreath{0%,100%{opacity:.85}50%{opacity:.2}}
/* T2: the hand-drawn line follows the writing */
html.dw-s1-t2 .dw-niche{padding-bottom:.2em}
html.dw-s1-t2 .dw-niche::after{content:"";position:absolute;left:-2%;bottom:0;height:.22em;width:104%;background:var(--dw-sage);-webkit-mask:var(--dw-swash) left center/100% 100% no-repeat;mask:var(--dw-swash) left center/100% 100% no-repeat;clip-path:inset(0 calc(100% - var(--dw-p,0%)) 0 0);transition:clip-path .35s ease}
html.dw-s1-t2 .dw-niche.fade::after{opacity:0;transition:opacity .4s}
/* T3: written in italic, letters flow in from the left, the word settles darker when complete */
html.dw-s1-t3 .dw-niche{font-style:italic;color:var(--dw-sage);transition:color .9s ease}
html.dw-s1-t3 .dw-niche.done{color:var(--e-global-color-512bfc9,#7C7C61)}
html.dw-s1-t3 .dw-niche .l{transform:translateX(-.12em)}
html.dw-s1-t3 .dw-niche .w.leave{display:inline-block;opacity:0;transform:translateY(-.25em);transition:opacity .5s ease,transform .6s var(--dw-ease)}

/* ---------- 2. journey button ---------- */
html[class*="dw-s2-"] .elementor-element-f3118c5 .elementor-button{transform:none!important;position:relative;overflow:visible;isolation:isolate}
.dw-arr{display:inline-block;position:relative;transition:transform .5s var(--dw-ease)}
.dw-roll{display:inline-block;position:relative}
.dw-roll .r2{display:none}
.dw-pill{display:none}
/* A: the arrow walks and leaves a fine line behind it */
html.dw-s2-a .elementor-element-f3118c5 .dw-arr::before{content:"";position:absolute;right:100%;top:52%;height:1px;width:0;background:currentColor;margin-right:-.2em;transition:width .55s var(--dw-ease)}
html.dw-s2-a .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr{transform:translateX(26px)}
html.dw-s2-a .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr::before{width:28px}
/* B: hand-drawn underline */
html.dw-s2-b .elementor-element-f3118c5 .dw-roll{padding-bottom:6px}
html.dw-s2-b .elementor-element-f3118c5 .dw-roll::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-6px;height:9px;background:currentColor;-webkit-mask:var(--dw-swash) center/100% 100% no-repeat;mask:var(--dw-swash) center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.6,0,.2,1)}
html.dw-s2-b .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-roll::after{clip-path:inset(0 0 0 0)}
html.dw-s2-b .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr{transform:translateX(6px)}
/* C: pill outline draws itself */
html:is(.dw-s2-c,.dw-s2-d) .elementor-element-f3118c5 .elementor-button{padding:14px 26px!important;margin:-14px -26px}
html.dw-s2-c .dw-pill{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
html.dw-s2-c .dw-pill rect{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s cubic-bezier(.6,0,.2,1)}
html.dw-s2-c .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-pill rect{stroke-dashoffset:0}
html.dw-s2-c .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr{transform:translateX(4px)}
/* D: a cream pill fills in from the left and the words turn olive */
html.dw-s2-d .elementor-element-f3118c5 .elementor-button::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:999px;border:1px solid transparent;background:linear-gradient(90deg,var(--dw-cream) 50%,transparent 50%) right/200% 100% no-repeat;transition:background-position .8s cubic-bezier(.65,0,.35,1),border-color .5s}
html.dw-s2-d .elementor-element-f3118c5 .elementor-button{transition:color .5s ease .15s}
html.dw-s2-d .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible){color:var(--dw-olive)!important}
html.dw-s2-d .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible)::before{background-position:left;border-color:var(--dw-cream)}
html.dw-s2-d .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr{transform:translateX(5px)}
/* E: the words roll up and come back in Bodoni italic */
html.dw-s2-e .elementor-element-f3118c5 .dw-roll{overflow:hidden;vertical-align:bottom;padding:.3em 0}
html.dw-s2-e .elementor-element-f3118c5 .dw-roll .r1,html.dw-s2-e .elementor-element-f3118c5 .dw-roll .r2{display:block;transition:transform .75s cubic-bezier(.65,0,.35,1)}
html.dw-s2-e .elementor-element-f3118c5 .dw-roll .r2{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;transform:translateY(180%);font-family:var(--dw-display);font-style:italic;font-weight:400;text-transform:none;letter-spacing:.02em;font-size:1.3em;line-height:1.3;white-space:nowrap}
html.dw-s2-e .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .r1{transform:translateY(-180%)}
html.dw-s2-e .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .r2{transform:none}
/* F: the letters open up a little and the arrow loops out and back in */
html.dw-s2-f .elementor-element-f3118c5 .elementor-button{transition:letter-spacing .9s var(--dw-ease)}
html.dw-s2-f .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible){letter-spacing:6px!important}
html.dw-s2-f .elementor-element-f3118c5 .dw-arr{overflow:hidden;vertical-align:bottom}
html.dw-s2-f .elementor-element-f3118c5 .elementor-button:is(:hover,:focus-visible) .dw-arr{animation:dwLoop 1.1s cubic-bezier(.65,0,.35,1) both}
@keyframes dwLoop{0%{transform:none;opacity:1}45%{transform:translateX(18px);opacity:0}46%{transform:translateX(-14px);opacity:0}100%{transform:none;opacity:1}}

/* ---------- 3. packages ---------- */
.dw-inc{display:none}
html[class*="dw-s3-"] .dw-pkg-toggle{display:none!important}
html[class*="dw-s3-"] .dw-inc{display:block;width:100%;max-width:520px;margin:6px 0 18px}
.dw-inc h4{margin:0;font-weight:400}
.dw-inc ul{list-style:none;margin:0;padding:0}
html.dw-s3-c .dw-inc .grp{border-top:1px solid #d6d3c4}
html.dw-s3-c .dw-inc .grp:last-child{border-bottom:1px solid #d6d3c4}
html.dw-s3-c .dw-inc button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;padding:16px 4px}
html.dw-s3-c .dw-inc button:focus-visible{outline:1px solid var(--dw-sage);outline-offset:2px}
html.dw-s3-c .dw-inc h4{font-family:var(--dw-display);font-style:italic;font-size:22px;color:var(--dw-olive)}
html.dw-s3-c .dw-inc .pm{margin-left:auto;width:14px;height:14px;position:relative;transition:transform .5s var(--dw-ease)}
html.dw-s3-c .dw-inc .pm::before,html.dw-s3-c .dw-inc .pm::after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:var(--dw-olive)}
html.dw-s3-c .dw-inc .pm::after{transform:rotate(90deg)}
html.dw-s3-c .dw-inc .grp.open .pm{transform:rotate(45deg)}
html.dw-s3-c .dw-inc .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--dw-ease)}
html.dw-s3-c .dw-inc .grp.open .body{grid-template-rows:1fr}
html.dw-s3-c .dw-inc .body>div{overflow:hidden}
html.dw-s3-c .dw-inc ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px;padding:2px 4px 20px}
html.dw-s3-c .dw-inc li{position:relative;padding-left:22px;font:300 14px/1.5 var(--dw-body);color:var(--dw-ink)}
html.dw-s3-c .dw-inc li::before{content:"";position:absolute;left:0;top:.25em;width:12px;height:12px;background:var(--dw-sage);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 11C2 5 6 1.5 11 1 10.5 6 7 10 1 11Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 11C2 5 6 1.5 11 1 10.5 6 7 10 1 11Z'/%3E%3C/svg%3E") center/contain no-repeat}
html.dw-s3-c .dw-inc .grp.no li{color:#a3a08c}
html.dw-s3-c .dw-inc .grp.no li::before{background:#c9c6b4}

/* ---------- 4. steps: the trail family ---------- */
.dw-steps{display:none}
html[class*="dw-s4-"]:not(.dw-s4-od) .elementor-element-e5b94e7,html[class*="dw-s4-"]:not(.dw-s4-od) .elementor-element-991727b{display:none!important}
html.dw-s4-a .dw-steps.va,html.dw-s4-a2 .dw-steps.va2,html.dw-s4-a3 .dw-steps.va3,html.dw-s4-a4 .dw-steps.va4{display:block;width:100%;color:var(--dw-cream)}
.dw-steps h3{margin:0;font-family:var(--dw-display);font-weight:400;color:var(--dw-cream);font-size:26px;line-height:1.2;margin-bottom:12px}
.dw-steps p{margin:0;font:300 15px/1.7 var(--dw-body);color:rgba(255,252,248,.86)}
.dw-steps .num{display:block;font-family:var(--dw-display);font-style:italic;font-weight:400;line-height:1;font-size:20px;color:rgba(255,252,248,.7);margin-bottom:8px}
.dw-steps .trail{position:absolute;pointer-events:none;color:rgba(255,252,248,.6);overflow:visible}
.dw-steps .trail path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.dw-steps .dot{display:block;width:13px;height:13px;border-radius:50%;background:var(--dw-olive);border:1px solid var(--dw-cream);position:relative;z-index:1;transition:background .5s,transform .5s var(--dw-ease)}
.dw-steps .st.seen .dot{background:var(--dw-cream)}
.dw-steps .dot::after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid var(--dw-cream);opacity:0}
.dw-steps .nav{display:flex;gap:10px;justify-content:center;margin-top:34px}
.dw-steps .nav button{all:unset;cursor:pointer;width:46px;height:46px;border:1px solid rgba(255,252,248,.6);border-radius:999px;display:grid;place-items:center;color:var(--dw-cream);transition:background .4s,color .4s}
.dw-steps .nav button:is(:hover,:focus-visible){background:var(--dw-cream);color:var(--dw-olive)}
.dw-steps .nav button[disabled]{opacity:.35;pointer-events:none}

/* A and A2: sideways trail */
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .wrap{position:relative;max-width:1240px;margin:0 auto}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 60px 10px;position:relative}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .track::-webkit-scrollbar{display:none}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .trail{left:0;top:30px;height:40px}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .st{flex:0 0 320px;scroll-snap-align:start;position:relative;padding-top:4px}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .dot{margin:44px 0 26px 2px}

/* A2: the same trail, alive: draws on arrival, dots ripple, text rises in turn, drag with the mouse */
html.dw-s4-a2 .dw-steps .trail path{transition:stroke-dashoffset 1.6s cubic-bezier(.45,0,.2,1)}
html.dw-s4-a2 .dw-steps .track{cursor:grab}
html.dw-s4-a2 .dw-steps .track.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
html.dw-s4-a2 .dw-steps .st :is(.num,h3,p){opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform 1s var(--dw-ease)}
html.dw-s4-a2 .dw-steps .st.seen :is(.num,h3,p){opacity:1;transform:none}
html.dw-s4-a2 .dw-steps .st.seen h3{transition-delay:.12s}
html.dw-s4-a2 .dw-steps .st.seen p{transition-delay:.24s}
html.dw-s4-a2 .dw-steps .st.seen .dot::after{animation:dwRipple 1.6s ease-out .1s 2}
html.dw-s4-a2 .dw-steps .num{font-size:44px;color:rgba(255,252,248,.35);margin-bottom:6px;will-change:transform}
@keyframes dwRipple{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}

/* A3: the page scroll walks you along the trail (the section holds still while you go) */
html.dw-s4-a3,html.dw-s4-a3 body{overflow-x:clip!important}
html.dw-s4-a3 .dw-steps .pin{position:relative}
html.dw-s4-a3 .dw-steps .stick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
html.dw-s4-a3 .dw-steps .rail{position:relative;display:flex;gap:56px;padding:0 12vw;will-change:transform}
html.dw-s4-a3 .dw-steps .trail{left:0;top:30px;height:40px}
html.dw-s4-a3 .dw-steps .st{flex:0 0 330px;position:relative}
html.dw-s4-a3 .dw-steps .dot{margin:44px 0 26px 2px}
html.dw-s4-a3 .dw-steps .st :is(.num,h3,p){opacity:.18;transform:translateY(14px);transition:opacity .9s ease,transform 1s var(--dw-ease)}
html.dw-s4-a3 .dw-steps .st.seen :is(.num,h3,p){opacity:1;transform:none}
html.dw-s4-a3 .dw-steps .st.seen h3{transition-delay:.1s}
html.dw-s4-a3 .dw-steps .st.seen p{transition-delay:.2s}
html.dw-s4-a3 .dw-steps .st.seen .dot::after{animation:dwRipple 1.6s ease-out .1s 1}
html.dw-s4-a3 .dw-steps .count{position:absolute;left:12vw;bottom:9vh;font-family:var(--dw-display);font-style:italic;font-size:20px;color:rgba(255,252,248,.7)}
html.dw-s4-a3 .dw-steps .count b{font-weight:400;font-size:56px;color:var(--dw-cream);display:inline-block;min-width:1.2em;transition:opacity .4s,transform .6s var(--dw-ease)}
html.dw-s4-a3 .dw-steps .count b.swap{opacity:0;transform:translateY(10px)}
html.dw-s4-a3 .dw-steps .bar{position:absolute;left:12vw;right:12vw;bottom:calc(9vh - 14px);height:1px;background:rgba(255,252,248,.18)}
html.dw-s4-a3 .dw-steps .bar i{display:block;height:100%;width:0;background:var(--dw-cream)}
html.dw-s4-a3 .dw-steps.flat .pin{height:auto!important}
html.dw-s4-a3 .dw-steps.flat .stick{position:static;height:auto;overflow-x:auto}
html.dw-s4-a3 .dw-steps.flat .rail{transform:none!important;padding:0 24px}
html.dw-s4-a3 .dw-steps.flat .count,html.dw-s4-a3 .dw-steps.flat .bar{display:none}

/* A4: the trail runs down the middle, steps alternate sides and arrive from their side */
html.dw-s4-a4 .dw-steps .vt{position:relative;max-width:1000px;margin:20px auto 0;padding:10px 40px 30px}
html.dw-s4-a4 .dw-steps .trail{left:50%;top:0;height:100%;width:60px;margin-left:-30px}
html.dw-s4-a4 .dw-steps .st{position:relative;width:calc(50% - 70px);margin:0 0 64px;opacity:0;transform:translateX(-40px);transition:opacity 1s ease,transform 1.1s var(--dw-ease)}
html.dw-s4-a4 .dw-steps .st:nth-child(odd of .st){text-align:right}
html.dw-s4-a4 .dw-steps .st:nth-child(even of .st){margin-left:auto;transform:translateX(40px)}
html.dw-s4-a4 .dw-steps .st.seen,html.dw-s4-a4 .dw-steps .st:nth-child(even of .st).seen{opacity:1;transform:none}
html.dw-s4-a4 .dw-steps .dot{position:absolute;top:8px;right:-77px}
html.dw-s4-a4 .dw-steps .st:nth-child(even of .st) .dot{right:auto;left:-77px}
html.dw-s4-a4 .dw-steps .st.seen .dot::after{animation:dwRipple 1.6s ease-out .3s 1}
html.dw-s4-a4 .dw-steps .num{font-size:44px;color:rgba(255,252,248,.4)}

@media (max-width:890px){
  html.dw-s3-c .dw-inc ul{grid-template-columns:1fr}
  html.dw-s3-c .dw-inc{margin-left:auto;margin-right:auto;text-align:left}
  html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .track{padding:0 24px 10px}
  html:is(.dw-s4-a,.dw-s4-a2,.dw-s4-a3) .dw-steps .st{flex-basis:78vw}
  html.dw-s4-a4 .dw-steps .vt{padding:10px 22px 20px 60px}
  html.dw-s4-a4 .dw-steps .trail{left:30px}
  html.dw-s4-a4 .dw-steps .st,html.dw-s4-a4 .dw-steps .st:nth-child(odd of .st),html.dw-s4-a4 .dw-steps .st:nth-child(even of .st){width:auto;margin-left:0;text-align:left;transform:translateX(30px)}
  html.dw-s4-a4 .dw-steps .st.seen,html.dw-s4-a4 .dw-steps .st:nth-child(even of .st).seen{transform:none}
  html.dw-s4-a4 .dw-steps .st .dot,html.dw-s4-a4 .dw-steps .st:nth-child(odd of .st) .dot,html.dw-s4-a4 .dw-steps .st:nth-child(even of .st) .dot{left:-37px;right:auto}
}
@media (prefers-reduced-motion:reduce){.dw-niche *,.dw-niche::after,.dw-arr,.dw-pill rect,.dw-steps *{transition:none!important;animation:none!important}}

/* A2, more delicate: smaller numerals and titles, finer line and dots, softer motion */
html.dw-s4-a2 .dw-steps .track{gap:40px}
html.dw-s4-a2 .dw-steps .st{flex-basis:290px}
html.dw-s4-a2 .dw-steps .num{font-size:28px;color:rgba(255,252,248,.4);margin-bottom:8px}
html.dw-s4-a2 .dw-steps h3{font-size:20px;line-height:1.3;margin-bottom:10px}
html.dw-s4-a2 .dw-steps p{font-size:14px;line-height:1.75;color:rgba(255,252,248,.8)}
html.dw-s4-a2 .dw-steps .trail{color:rgba(255,252,248,.42)}
html.dw-s4-a2 .dw-steps .trail path{stroke-width:1}
html.dw-s4-a2 .dw-steps .dot{width:9px;height:9px;margin:46px 0 24px 4px}
html.dw-s4-a2 .dw-steps .st :is(.num,h3,p){transform:translateY(10px);transition:opacity 1.1s ease,transform 1.3s var(--dw-ease)}
html.dw-s4-a2 .dw-steps .st.seen h3{transition-delay:.16s}
html.dw-s4-a2 .dw-steps .st.seen p{transition-delay:.32s}
html.dw-s4-a2 .dw-steps .st.seen .dot::after{animation:dwRippleSoft 2.2s ease-out .15s 1}
@keyframes dwRippleSoft{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.6);opacity:0}}
html.dw-s4-a2 .dw-steps .nav button{width:40px;height:40px;border-color:rgba(255,252,248,.45);font-size:13px}
@media (max-width:890px){html.dw-s4-a2 .dw-steps .st{flex-basis:76vw}}

/* Packages: "Included" joins the block's entrance instead of showing first (same slow fade as the rest, a beat later) */
html.dw-s3-c .dw-inc.pre{opacity:0;transition:opacity 2s ease}
html.dw-s3-c .dw-inc.pre.show{opacity:1}

/* Steps A2: numeral beside the text, title and text 1px larger */
html.dw-s4-a2 .dw-steps .st{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;align-content:start}
html.dw-s4-a2 .dw-steps .dot{grid-column:1/-1}
html.dw-s4-a2 .dw-steps .num{grid-column:1;grid-row:2/span 2;font-size:22px;margin:3px 0 0;color:rgba(255,252,248,.45)}
html.dw-s4-a2 .dw-steps h3{grid-column:2;font-size:21px}
html.dw-s4-a2 .dw-steps p{grid-column:2;font-size:15px}
/* Steps title, lighter to match the steps */
html.dw-s4-a2 .fade-text-elementor{font-size:36px!important;letter-spacing:.01em!important}
@media (max-width:767px){html.dw-s4-a2 .fade-text-elementor{font-size:26px!important}}
html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .track{scroll-padding-left:60px}
@media (max-width:890px){html:is(.dw-s4-a,.dw-s4-a2) .dw-steps .track{scroll-padding-left:24px}}

/* Included accordion: tighter rows, title 1px smaller */
html.dw-s3-c .dw-inc button{padding:11px 4px}
html.dw-s3-c .dw-inc h4{font-size:21px}
html.dw-s3-c .dw-inc ul{padding:0 4px 14px}

/* Steps A2: three steps per view, centred under the title so title, steps and arrows share one axis */
html.dw-s4-a2 .dw-steps .wrap{max-width:950px}
html.dw-s4-a2 .dw-steps .track{padding:0 0 10px;scroll-padding-left:0;gap:40px}
html.dw-s4-a2 .dw-steps .st{flex:0 0 290px}
@media (max-width:1040px) and (min-width:891px){html.dw-s4-a2 .dw-steps .wrap{max-width:620px}}
@media (max-width:890px){html.dw-s4-a2 .dw-steps .wrap{max-width:none}html.dw-s4-a2 .dw-steps .track{padding:0 24px 10px;scroll-padding-left:24px}}

/* ---------- Steps layouts (all use the delicate A2 trail) ---------- */
/* Opção 1: arrows sit on the trail line, at both ends; title and three steps centred */
html.dw-s4-l1 .dw-steps.va2{position:relative;max-width:1090px;margin:0 auto}
html.dw-s4-l1 .dw-steps.va2 .nav{position:absolute;left:0;right:0;top:35px;margin:0;justify-content:space-between;pointer-events:none}
html.dw-s4-l1 .dw-steps.va2 .nav button{pointer-events:auto;background:var(--dw-olive)}
html.dw-s4-l1 .dw-steps.va2 .nav button:is(:hover,:focus-visible){background:var(--dw-cream)}

/* Opção 2: the step in focus sits centred under the title, its neighbours rest softly on each side */
html.dw-s4-l2 .dw-steps.va2 .wrap{max-width:none}
html.dw-s4-l2 .dw-steps.va2 .track{padding:0 calc(50% - 145px) 10px;scroll-padding-left:0;scroll-snap-type:x mandatory}
html.dw-s4-l2 .dw-steps.va2 .st{scroll-snap-align:center;opacity:.35;transition:opacity .8s ease}
html.dw-s4-l2 .dw-steps.va2 .st.focus{opacity:1}

/* Opção 3: two columns, title and arrows on the left, the trail on the right */
html.dw-s4-l3 .dw-steps.va2.cols{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;max-width:1140px;margin:0 auto;padding:0 40px;align-items:start}
html.dw-s4-l3 .dw-steps.va2 .side{padding-top:22px}
html.dw-s4-l3 .dw-steps.va2 .side .elementor-element-20af17f>.elementor-widget-container{margin:0!important}
html.dw-s4-l3 .dw-steps.va2 .side .fade-text-elementor{text-align:left!important;padding:0!important;font-size:34px!important;line-height:1.25}
html.dw-s4-l3 .dw-steps.va2 .side .nav{justify-content:flex-start;margin-top:30px}
html.dw-s4-l3 .dw-steps.va2 .wrap{max-width:none;margin:0;overflow:hidden}
html.dw-s4-l3 .dw-steps.va2 .track{padding:0 0 10px}

@media (max-width:890px){
  html.dw-s4-l1 .dw-steps.va2 .nav{position:static;justify-content:center;margin-top:28px}
  html.dw-s4-l1 .dw-steps.va2 .nav button{background:transparent}
  html.dw-s4-l2 .dw-steps.va2 .track{padding:0 calc(50% - 38vw) 10px}
  html.dw-s4-l3 .dw-steps.va2.cols{display:block;padding:0}
  html.dw-s4-l3 .dw-steps.va2 .side{padding:0 24px 28px;text-align:center}
  html.dw-s4-l3 .dw-steps.va2 .side .fade-text-elementor{text-align:center!important;font-size:26px!important}
  html.dw-s4-l3 .dw-steps.va2 .side .nav{display:none}
  html.dw-s4-l3 .dw-steps.va2 .track{padding:0 24px 10px}
}

/* ---------- Steps: the original carousel, more delicate ---------- */
html.dw-s4-od .fade-text-elementor{font-size:36px!important;letter-spacing:.01em!important}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-heading-title{font-size:21px!important;line-height:1.3!important;letter-spacing:.005em}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-widget-text-editor{font-size:15px!important;line-height:1.75!important;color:rgba(255,252,248,.82)!important}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-widget-text-editor p{max-width:34ch;margin-left:auto;margin-right:auto}
/* arrows: a fine circle with a thin chevron instead of the bold filled one */
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button{width:40px;height:40px;border:1px solid rgba(255,252,248,.45);border-radius:999px;display:grid;place-items:center;transition:background .45s,border-color .45s}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button svg:not(.dw-ring){display:none}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button::before{content:"";width:7px;height:7px;border-top:1px solid var(--dw-cream);border-left:1px solid var(--dw-cream);transition:border-color .45s}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button-prev::before{transform:translateX(2px) rotate(-45deg)}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button-next::before{transform:translateX(-2px) rotate(135deg)}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible){background:var(--dw-cream);border-color:var(--dw-cream)}
html.dw-s4-od .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::before{border-color:var(--dw-olive)}
/* dots: smaller and quieter */
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .swiper-pagination-bullet{width:5px;height:5px;opacity:.35;background:var(--dw-cream);transition:opacity .4s,transform .4s}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .swiper-pagination-bullet-active{opacity:.9;transform:scale(1.15)}
@media (max-width:767px){html.dw-s4-od .fade-text-elementor{font-size:26px!important}}

/* step titles +1px */
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-heading-title{font-size:22px!important}

/* ---------- Setas: four arrow styles for the steps carousel (style 1 = fine circle, above) ---------- */
html.dw-s4-od[class*="dw-s5-a"]:not(.dw-s5-a1) .elementor-element-e5b94e7 .elementor-swiper-button{border-color:transparent;background:transparent!important;width:56px}
html.dw-s4-od:is(.dw-s5-a2,.dw-s5-a4) .elementor-element-e5b94e7 .elementor-swiper-button::before{content:none}
/* 2: a long fine arrow that stretches on hover */
html.dw-s4-od.dw-s5-a2 .elementor-element-e5b94e7 .elementor-swiper-button::after{content:"";display:block;width:34px;height:9px;background:var(--dw-cream);transition:width .5s var(--dw-ease);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10' preserveAspectRatio='xMaxYMid meet'%3E%3Cpath d='M0 5H59M54 1l5 4-5 4' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") right center/auto 100% no-repeat,linear-gradient(#000,#000) left 50%/calc(100% - 4px) 1px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 10' preserveAspectRatio='xMaxYMid meet'%3E%3Cpath d='M0 5H59M54 1l5 4-5 4' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") right center/auto 100% no-repeat,linear-gradient(#000,#000) left 50%/calc(100% - 4px) 1px no-repeat}
html.dw-s4-od.dw-s5-a2 .elementor-element-e5b94e7 .elementor-swiper-button-prev::after{transform:scaleX(-1)}
html.dw-s4-od.dw-s5-a2 .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::after{width:48px}
/* 3: just a fine chevron; a soft circle opens around it on hover */
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button{width:44px;height:44px}
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button::before{content:"";position:absolute;inset:0;width:auto;height:auto;border-radius:50%;border:1px solid rgba(255,252,248,.6);transform:scale(.4);opacity:0;transition:transform .6s var(--dw-ease),opacity .5s}
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button::after{content:"";width:8px;height:8px;border-top:1px solid var(--dw-cream);border-left:1px solid var(--dw-cream)}
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button-prev::after{transform:translateX(2px) rotate(-45deg)}
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button-next::after{transform:translateX(-2px) rotate(135deg)}
html.dw-s4-od.dw-s5-a3 .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::before{transform:none;opacity:1}
/* 4: a hand-drawn arrow, same stroke as the underline on the About page */
html.dw-s4-od.dw-s5-a4 .elementor-element-e5b94e7 .elementor-swiper-button::after{content:"";width:40px;height:16px;background:var(--dw-cream);transition:transform .5s var(--dw-ease);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 16'%3E%3Cpath d='M2 9.5C10 6.5 20 10.5 37 7.5M31.5 3.2C33.6 5 35.4 6.4 37.4 7.4 35.2 8.6 33.4 10.4 31.8 12.6' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 16'%3E%3Cpath d='M2 9.5C10 6.5 20 10.5 37 7.5M31.5 3.2C33.6 5 35.4 6.4 37.4 7.4 35.2 8.6 33.4 10.4 31.8 12.6' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
html.dw-s4-od.dw-s5-a4 .elementor-element-e5b94e7 .elementor-swiper-button-prev::after{transform:scaleX(-1)}
html.dw-s4-od.dw-s5-a4 .elementor-element-e5b94e7 .elementor-swiper-button-next:is(:hover,:focus-visible)::after{transform:translateX(5px)}
html.dw-s4-od.dw-s5-a4 .elementor-element-e5b94e7 .elementor-swiper-button-prev:is(:hover,:focus-visible)::after{transform:scaleX(-1) translateX(5px)}

/* sizes: section title 38, step title 23, text 16 */
html.dw-s4-od .fade-text-elementor{font-size:38px!important}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-heading-title{font-size:23px!important}
html.dw-s4-od :is(.elementor-element-e5b94e7,.elementor-element-991727b) .elementor-widget-text-editor{font-size:16px!important}
@media (max-width:767px){html.dw-s4-od .fade-text-elementor{font-size:27px!important}}

/* ---------- "Abre no hover" arrow with three hover motions ---------- */
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .elementor-element-e5b94e7 .elementor-swiper-button{width:44px;height:44px;border-color:transparent;background:transparent!important}
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .elementor-element-e5b94e7 .elementor-swiper-button::before{content:none}
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .elementor-element-e5b94e7 .elementor-swiper-button::after{content:"";width:8px;height:8px;border-top:1px solid var(--dw-cream);border-left:1px solid var(--dw-cream);transition:transform .6s var(--dw-ease)}
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .elementor-element-e5b94e7 .elementor-swiper-button-prev::after{transform:translateX(2px) rotate(-45deg)}
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .elementor-element-e5b94e7 .elementor-swiper-button-next::after{transform:translateX(-2px) rotate(135deg)}
.dw-ring{display:none}
html.dw-s4-od:is(.dw-s5-m1,.dw-s5-m2,.dw-s5-m3) .dw-ring{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.dw-ring circle{fill:transparent;stroke:rgba(255,252,248,.6);stroke-width:1}
/* m1: the circle draws itself around the arrow, like a pen stroke */
html.dw-s4-od.dw-s5-m1 .dw-ring{transform:rotate(-90deg)}
html.dw-s4-od.dw-s5-m1 .dw-ring circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.6,0,.2,1)}
html.dw-s4-od.dw-s5-m1 .elementor-swiper-button:is(:hover,:focus-visible) .dw-ring circle{stroke-dashoffset:0}
/* m2: the circle appears softly with a whisper of cream inside, the arrow leans forward */
html.dw-s4-od.dw-s5-m2 .dw-ring circle{opacity:0;fill:rgba(255,252,248,.08);transition:opacity .7s ease}
html.dw-s4-od.dw-s5-m2 .elementor-swiper-button:is(:hover,:focus-visible) .dw-ring circle{opacity:1}
html.dw-s4-od.dw-s5-m2 .elementor-element-e5b94e7 .elementor-swiper-button-next:is(:hover,:focus-visible)::after{transform:translateX(1px) rotate(135deg)}
html.dw-s4-od.dw-s5-m2 .elementor-element-e5b94e7 .elementor-swiper-button-prev:is(:hover,:focus-visible)::after{transform:translateX(-1px) rotate(-45deg)}
/* m3: the circle fades in while the arrow slips out and comes back in */
html.dw-s4-od.dw-s5-m3 .elementor-element-e5b94e7 .elementor-swiper-button{overflow:hidden;border-radius:50%}
html.dw-s4-od.dw-s5-m3 .dw-ring circle{opacity:0;transition:opacity .6s ease}
html.dw-s4-od.dw-s5-m3 .elementor-swiper-button:is(:hover,:focus-visible) .dw-ring circle{opacity:1}
html.dw-s4-od.dw-s5-m3 .elementor-element-e5b94e7 .elementor-swiper-button-next:is(:hover,:focus-visible)::after{animation:dwSlipN 1s cubic-bezier(.65,0,.35,1) both}
html.dw-s4-od.dw-s5-m3 .elementor-element-e5b94e7 .elementor-swiper-button-prev:is(:hover,:focus-visible)::after{animation:dwSlipP 1s cubic-bezier(.65,0,.35,1) both}
@keyframes dwSlipN{0%{transform:translateX(-2px) rotate(135deg);opacity:1}45%{transform:translateX(16px) rotate(135deg);opacity:0}46%{transform:translateX(-18px) rotate(135deg);opacity:0}100%{transform:translateX(-2px) rotate(135deg);opacity:1}}
@keyframes dwSlipP{0%{transform:translateX(2px) rotate(-45deg);opacity:1}45%{transform:translateX(-16px) rotate(-45deg);opacity:0}46%{transform:translateX(18px) rotate(-45deg);opacity:0}100%{transform:translateX(2px) rotate(-45deg);opacity:1}}

/* arrows further from the text */
html.dw-s4-od .elementor-element-e5b94e7{--e-n-carousel-arrow-prev-left-position:-72px!important;--e-n-carousel-arrow-next-right-position:-72px!important}
@media (max-width:1240px){html.dw-s4-od .elementor-element-e5b94e7{--e-n-carousel-arrow-prev-left-position:-44px!important;--e-n-carousel-arrow-next-right-position:-44px!important}}

/* ---------- fine chevron, no circle: three hover motions ---------- */
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .elementor-element-e5b94e7 .elementor-swiper-button{width:56px;height:44px;border-color:transparent;background:transparent!important;overflow:visible}
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .elementor-element-e5b94e7 .elementor-swiper-button::after{content:"";width:9px;height:9px;border-top:1px solid var(--dw-cream);border-left:1px solid var(--dw-cream);transition:transform .7s var(--dw-ease)}
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .elementor-element-e5b94e7 .elementor-swiper-button-prev::after{transform:rotate(-45deg)}
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .elementor-element-e5b94e7 .elementor-swiper-button-next::after{transform:rotate(135deg)}
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .elementor-element-e5b94e7 .elementor-swiper-button::before{content:"";position:absolute;top:50%;height:1px;width:0;border:0;background:var(--dw-cream);transform:none;transition:width .7s var(--dw-ease),opacity .6s}
/* n1: a fine line grows out of the chevron and it becomes an arrow */
html.dw-s4-od.dw-s5-n1 .elementor-element-e5b94e7 .elementor-swiper-button-next::before{right:calc(50% - 6px)}
html.dw-s4-od.dw-s5-n1 .elementor-element-e5b94e7 .elementor-swiper-button-prev::before{left:calc(50% - 6px)}
html.dw-s4-od.dw-s5-n1 .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::before{width:26px}
/* n2: the chevron leans out and a soft echo of it follows behind */
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button::before{content:none}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button::after{box-shadow:-4px -4px 0 -3.5px rgba(255,252,248,0);transition:transform .7s var(--dw-ease),box-shadow .7s ease}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button-next:is(:hover,:focus-visible)::after{transform:translateX(6px) rotate(135deg);box-shadow:-7px -7px 0 -0px rgba(255,252,248,0),-6px -6px 0 -5px rgba(255,252,248,.5)}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button-prev:is(:hover,:focus-visible)::after{transform:translateX(-6px) rotate(-45deg);box-shadow:-7px -7px 0 -0px rgba(255,252,248,0),-6px -6px 0 -5px rgba(255,252,248,.5)}
/* n3: a short hand-drawn stroke writes itself under the chevron */
html.dw-s4-od.dw-s5-n3 .elementor-element-e5b94e7 .elementor-swiper-button::before{left:50%;width:30px;height:7px;top:calc(50% + 12px);margin-left:-15px;background:var(--dw-cream);-webkit-mask:var(--dw-swash) center/100% 100% no-repeat;mask:var(--dw-swash) center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .8s cubic-bezier(.6,0,.2,1)}
html.dw-s4-od.dw-s5-n3 .elementor-element-e5b94e7 .elementor-swiper-button-prev::before{transform:scaleX(-1)}
html.dw-s4-od.dw-s5-n3 .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::before{clip-path:inset(0 0 0 0)}
html.dw-s4-od:is(.dw-s5-n1,.dw-s5-n2,.dw-s5-n3) .dw-ring{display:none!important}

/* n2 echo: a faint second chevron stays behind as the first one leans out */
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:none;border-top:1px solid var(--dw-cream);border-left:1px solid var(--dw-cream);opacity:0;transition:opacity .6s ease,transform .7s var(--dw-ease)}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button-next::before{transform:rotate(135deg)}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button-prev::before{transform:rotate(-45deg)}
html.dw-s4-od.dw-s5-n2 .elementor-element-e5b94e7 .elementor-swiper-button:is(:hover,:focus-visible)::before{opacity:.4}

/* ---------- 6. steps title ---------- */
.dw-st-eb,.dw-st-path{display:none}
.fade-text-elementor .dw-em{font-style:italic;color:#E6E4D6}
html:not([class*="dw-s6-"]) .fade-text-elementor .dw-em{font-style:inherit;color:inherit}
/* e1: italic tail + hand-drawn line under it */
html.dw-s6-e1 .fade-text-elementor{position:relative}
html.dw-s6-e1 .elementor-element-20af17f .elementor-widget-container{position:relative}
html.dw-s6-e1 .dw-st-path{display:block;width:min(340px,60%);height:16px;margin:10px auto 0;position:relative}
html.dw-s6-e1 .dw-st-path i{display:none}
/* e2: eyebrow + hairlines either side */
html.dw-s6-e2 .dw-st-eb{display:block;text-align:center;margin-bottom:18px;font:500 11.5px/1 Inter,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,252,248,.7)}
html.dw-s6-e2 .dw-st-eb{display:flex!important;align-items:center;justify-content:center;gap:18px}
html.dw-s6-e2 .dw-st-eb::before,html.dw-s6-e2 .dw-st-eb::after{content:"";width:70px;height:1px;background:rgba(255,252,248,.35)}
html.dw-s6-e2 .fade-text-elementor .dw-em{font-style:normal;color:inherit}
/* e3: a path with six stops that draws in under the title */
html.dw-s6-e3 .dw-st-eb{display:block;text-align:center;margin-bottom:16px;font:italic 400 18px/1 "Bodoni Moda",serif;color:rgba(255,252,248,.75)}
html.dw-s6-e3 .dw-st-path{display:block;position:relative;width:min(620px,80%);height:30px;margin:22px auto 0}
html.dw-s6-e3 .fade-text-elementor .dw-em{font-style:normal;color:inherit}
.dw-st-path svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:rgba(255,252,248,.55);stroke-width:1.2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.dw-st-path path{stroke-dasharray:700;stroke-dashoffset:700;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.2,1)}
.dw-st-in .dw-st-path path{stroke-dashoffset:0}
.dw-st-path i{position:absolute;top:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:#FFFCF8;opacity:0;transform:scale(.4);transition:opacity .5s var(--d),transform .6s var(--d) cubic-bezier(.2,.9,.3,1.4)}
.dw-st-in .dw-st-path i{opacity:.9;transform:none}
html.dw-s6-e1 .dw-st-path svg{stroke:rgba(230,228,214,.8)}
html.dw-s6-e1 .dw-st-path path{stroke-dasharray:420;stroke-dashoffset:420}
.dw-st-in .dw-st-path path{stroke-dashoffset:0!important}

/* ---------- 7. final invitation ---------- */
.dw-cta-stamp,.dw-cta-frame{display:none}
.dw-cta .elementor-heading-title em{font-style:inherit}
html[class*="dw-s7-"] .dw-cta{position:relative}
html:is(.dw-s7-f1,.dw-s7-f2) .elementor-element-a56fea2 .elementor-heading-title em{font-style:italic;color:#9B9B83}
/* f1: italic tail + stamp */
html.dw-s7-f1 .dw-cta-stamp{display:block;position:absolute;right:max(6vw,40px);top:70px;transform:rotate(8deg);padding:8px;background:radial-gradient(circle,transparent 3.4px,#FFFCF8 4px) -6px -6px/12px 12px;box-shadow:0 16px 28px -18px rgba(46,46,38,.4);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
html.dw-s7-f1 .dw-cta-stamp:hover{transform:rotate(-3deg) scale(1.05)}
.dw-cta-stamp>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;height:128px;border:1px solid #9B9B83;background:#F6F2E8;color:#7C7C61;text-align:center}
.dw-cta-stamp span{font:italic 400 23px/1 "Bodoni Moda",serif;margin-bottom:10px}
.dw-cta-stamp b{font:500 8.5px/1.4 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.dw-cta-stamp i{font:italic 400 13px/1.3 "Bodoni Moda",serif;color:#9B9B83}
/* f2: framed card */
html.dw-s7-f2 .dw-cta-frame{display:block;position:absolute;inset:clamp(24px,5vw,70px) clamp(16px,8vw,140px);border:.75px solid rgba(155,155,131,.45);border-radius:22px;background:rgba(255,252,248,.55);pointer-events:none;z-index:0}
html.dw-s7-f2 .dw-cta>*:not(.dw-cta-frame){position:relative;z-index:1}
/* f3: two columns */
@media (min-width:1025px){
  html.dw-s7-f3 .dw-cta>.e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:70px;align-items:center;align-content:center;max-width:1180px;margin:0 auto;padding-left:60px!important;padding-right:60px!important}
  html.dw-s7-f3 .elementor-element-a56fea2{grid-row:1/3;width:100%!important;max-width:none!important;padding-right:60px;border-right:1px solid rgba(155,155,131,.4)}
  html.dw-s7-f3 .elementor-element-a56fea2 .elementor-heading-title{text-align:left!important}
  html.dw-s7-f3 .elementor-element-a56fea2 .elementor-heading-title em{display:block;font-style:italic;color:#9B9B83}
  html.dw-s7-f3 .elementor-element-2ef42ba{width:100%!important;max-width:none!important;text-align:left!important}
  html.dw-s7-f3 .elementor-element-2ef42ba *{text-align:left!important}
  html.dw-s7-f3 .elementor-element-fc8aaa6{width:auto!important;justify-self:start}
  html.dw-s7-f3 .elementor-element-fc8aaa6 .elementor-button-wrapper{text-align:left!important}
}
@media (max-width:767px){
  html.dw-s7-f1 .dw-cta-stamp{right:14px;top:18px;transform:rotate(8deg) scale(.68);transform-origin:top right}
  html.dw-s7-f1 .elementor-element-a56fea2{padding-top:60px}
}

@media (max-width:767px){
  html.dw-s7-f2 .dw-cta-frame{inset:24px 12px}
  html.dw-s7-f2 .dw-cta>.e-con-inner{padding-left:26px!important;padding-right:26px!important}
}
@media (min-width:1025px){
  html.dw-s7-f3 .dw-cta>.e-con-inner{grid-template-rows:auto auto;row-gap:22px}
  html.dw-s7-f3 .elementor-element-2ef42ba{align-self:end}
  html.dw-s7-f3 .elementor-element-fc8aaa6{align-self:start;margin:0!important}
}

/* ---------- more services: Rooted SEO + Meta Ads ---------- */
.dw-more{background:#FFFCF8;padding:110px 24px 120px}
.dw-more .in{max-width:1080px;margin:0 auto;text-align:center}
.dw-more .eb{display:inline-flex;align-items:center;gap:12px;font:500 11.5px/1 Inter,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#9B9B83}
.dw-more .eb::before,.dw-more .eb::after{content:"";width:22px;height:1px;background:currentColor}
.dw-more h2{margin:18px 0 56px;font:400 var(--hz-h2,40px)/1.15 "Bodoni Moda",Georgia,serif;color:#7C7C61}
.dw-more h2 em,.dw-more h3 em{font-style:italic;color:#9B9B83}
.dw-more .cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;text-align:left}
.dw-more .mc{position:relative;display:flex;flex-direction:column;padding:42px 40px 38px;border-radius:24px;background:#fff;border:1px solid rgba(124,124,97,.18);box-shadow:0 30px 50px -44px rgba(46,46,38,.45);transition:transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .8s}
.dw-more .mc:hover{transform:translateY(-6px);box-shadow:0 40px 60px -42px rgba(46,46,38,.5)}
.dw-more .mc.soon{background:#F3F1E8}
.dw-more .art{position:absolute;top:30px;right:30px;width:96px;height:96px}
.dw-more .art svg{width:100%;height:100%;fill:none;stroke:#9B9B83;stroke-width:1.2;stroke-linecap:round}
.dw-more .art path,.dw-more .art line{stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.2,1)}
.dw-more .art .lf{fill:rgba(155,155,131,.12);transition-delay:.6s}
.dw-more .art .st{transition-delay:.3s}
.dw-more.in .art path,.dw-more.in .art line{stroke-dashoffset:0}
.dw-more .art circle{transform-origin:60px 60px}
.dw-more .art .c1,.dw-more .art .c2,.dw-more .art .c3{opacity:.0;animation:dwPulse 3.6s ease-out infinite}
.dw-more .art .c2{animation-delay:.6s}.dw-more .art .c3{animation-delay:1.2s}
.dw-more .art .dot{fill:#7C7C61;stroke:none}
@keyframes dwPulse{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(1.05)}}
.dw-more .tag{align-self:flex-start;font:500 9.5px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#7C7C61;background:#EFEDE3;padding:7px 11px;border-radius:999px}
.dw-more .mc.soon .tag{background:#7C7C61;color:#FFFCF8}
.dw-more h3{margin:22px 0 14px;font:400 var(--hz-h3,30px)/1.15 "Bodoni Moda",Georgia,serif;color:#7C7C61;padding-right:100px}
.dw-more p{margin:0 0 22px;font:400 var(--hz-body,16px)/1.65 Inter,sans-serif;color:#66624F}
.dw-more ul{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:9px}
.dw-more li{position:relative;padding-left:22px;font:400 var(--hz-small,15px)/1.5 Inter,sans-serif;color:#3E3E30}
.dw-more li::before{content:"";position:absolute;left:0;top:.35em;width:11px;height:11px;background:#9B9B83;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 11C2 5 6 1.5 11 1 10.5 6 7 10 1 11Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 11C2 5 6 1.5 11 1 10.5 6 7 10 1 11Z'/%3E%3C/svg%3E") center/contain no-repeat}
.dw-more .go{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:12px;font:500 11.5px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#7C7C61!important;text-decoration:none!important;transition:letter-spacing .5s}
.dw-more .go::after{content:"";width:30px;height:1px;background:currentColor;transition:width .5s}
.dw-more .go:hover{letter-spacing:.28em}.dw-more .go:hover::after{width:48px}
@media (max-width:890px){
  .dw-more{padding:80px 16px 90px}
  .dw-more h2{margin-bottom:36px}
  .dw-more .cards{grid-template-columns:1fr;gap:18px}
  .dw-more .mc{padding:32px 24px 30px}
  .dw-more .art{width:70px;height:70px;top:24px;right:20px}
  .dw-more h3{padding-right:76px}
}
@media (prefers-reduced-motion:reduce){.dw-more .art *{animation:none!important;transition:none!important;stroke-dashoffset:0!important}}
.dw-more{position:relative}
.dw-more .kick{display:block;margin:-6px 0 16px;font:italic 400 17px/1.4 "Bodoni Moda",serif;color:#9B9B83}
.dw-more .why{margin:0 0 26px;padding-top:16px;border-top:1px solid rgba(124,124,97,.18);font-size:14px!important;color:#7A7663!important}
.dw-more .why em{font-family:"Bodoni Moda",serif;font-style:italic;font-size:15px;color:#7C7C61}
.dw-more .mc.soon{background:#fff}
.dw-more .mc:nth-child(2){background:#F3F1E8}
/* cards v3: no icons, no closing line, pills on top */
.dw-more .art{display:none}
.dw-more .why{display:none}
.dw-more .mc{background:#fff!important}
.dw-more .mc.alt{background:#F3F1E8!important}
.dw-more .pills{display:flex;flex-wrap:wrap;gap:8px}
.dw-more .tag.ghost{background:transparent;border:1px solid rgba(124,124,97,.4);color:#7C7C61}
.dw-more .mc .tag{background:#7C7C61;color:#FFFCF8}
.dw-more .mc .tag.ghost{background:transparent;color:#7C7C61}
.dw-more h3{padding-right:0}
.dw-more .gl{display:block;margin:4px 0 12px;font:500 10.5px/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9B9B83}
.dw-more .go{gap:10px}
/* steps line: hidden until the title has appeared, then drawn once */
.dw-st-path path{stroke-dasharray:1!important;stroke-dashoffset:1!important;opacity:0;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.1,.2,1),opacity .2s!important}
.dw-st-in .dw-st-path path{stroke-dashoffset:0!important;opacity:1}
/* links: only the arrow moves */
.dw-more .go:hover{letter-spacing:.2em!important}
/* gain list with a title and a line of detail */
.dw-more .mc p+p{margin-top:-8px}
.dw-more ul.gain{gap:14px}
.dw-more ul.gain li{padding-left:24px}
.dw-more ul.gain li::before{top:.3em}
.dw-more ul.gain b{display:block;font:400 17px/1.3 "Bodoni Moda",Georgia,serif;color:#7C7C61;margin-bottom:3px}
.dw-more ul.gain span{display:block;font:400 14.5px/1.55 Inter,sans-serif;color:#66624F}
.dw-more .mc p+p{margin-top:0}
.dw-more .mc p:last-of-type{margin-bottom:28px}
