/* AminH Studio Sections */
.elementor-widget-aminh_studio_hero{position:relative;z-index:20}
.amst-hero,.amst-srv,.amst-steps{--amst-r:15px;--amst-acc:#F6C93B;--amst-acc2:#679593;--amst-ink:#1F3A3B;--amst-cream:#FFF7E2}
.amst-hero *,.amst-srv *,.amst-steps *{box-sizing:border-box}

/* ---------- tiles (hero + docks share them) ---------- */
.amst-tile{display:grid;place-items:center;width:100%;height:100%;border-radius:24%;color:var(--amst-tink,#1F3A3B)}
.amst-tile .amst-ic{width:50%;height:50%}
.amst-t-a{background:var(--amst-acc);--amst-tink:var(--amst-ink)}
.amst-t-b{background:var(--amst-acc2);color:#fff}
.amst-t-c{background:var(--amst-cream);--amst-tink:var(--amst-ink)}

/* ---------- hero ---------- */
.amst-hero{--amst-bg:#1F3A3B;--amst-title:#fff;--amst-text:#D5E3E1;--amst-btn-ink:#1F3A3B;--amst-ink:var(--amst-btn-ink);--ts:92px;
	position:relative;display:flex;align-items:center;min-height:560px;padding:56px 56px;border-radius:var(--amst-r);background:var(--amst-bg);color:var(--amst-text)}
.amst-hero-deco{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.amst-grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1.2px,transparent 1.3px);background-size:26px 26px;
	-webkit-mask-image:linear-gradient(100deg,transparent 5%,#000 60%);mask-image:linear-gradient(100deg,transparent 5%,#000 60%)}
.amst-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.38;animation:amstDrift 18s ease-in-out infinite alternate}
.amst-b1{width:340px;height:340px;background:var(--amst-acc);inset-inline-end:-80px;top:-120px}
.amst-b2{width:300px;height:300px;background:var(--amst-acc2);inset-inline-end:28%;bottom:-160px;animation-delay:-7s;opacity:.5}
@keyframes amstDrift{to{translate:-60px 50px;scale:1.15}}
.amst-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;width:100%}
.amst-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--amst-acc);font-size:13px;font-weight:600;margin-bottom:18px}
.amst-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amst-acc);box-shadow:0 0 0 4px rgba(246,201,59,.18)}
.amst-h1{margin:0 0 18px;color:var(--amst-title);font-size:clamp(30px,3.5vw,50px);line-height:1.45;font-weight:800}
.amst-h1 span{display:block}
.amst-l2{color:var(--amst-acc);position:relative;width:max-content;max-width:100%}
.amst-l2::after{content:"";position:absolute;inset-inline:0;bottom:2px;height:10px;border-radius:8px;background:var(--amst-acc);opacity:.18;transform-origin:right;animation:amstBar 1s .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes amstBar{from{transform:scaleX(0)}}
.amst-lead{margin:0 0 28px;max-width:520px;font-size:16px;line-height:2;color:var(--amst-text)}
.amst-btns{display:flex;flex-wrap:wrap;gap:12px}
.amst-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:var(--amst-r);font-weight:700;font-size:15px;text-decoration:none;transition:transform .3s,box-shadow .3s,background .3s,color .3s}
.amst-btn--a{background:var(--amst-acc);color:var(--amst-btn-ink)}
.amst-btn--a:hover{color:var(--amst-btn-ink);transform:translateY(-3px);box-shadow:0 12px 26px rgba(246,201,59,.35)}
.amst-btn--b{border:1.5px solid rgba(255,255,255,.35);color:#fff}
.amst-btn--b:hover{color:var(--amst-btn-ink);background:#fff;transform:translateY(-3px)}
.amst-in{opacity:0;animation:amstUp .8s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--d,0) * .12s + .1s)}
@keyframes amstUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.amst-board{position:relative}
.amst-board-in{position:relative;width:min(100%,460px);aspect-ratio:1/1;margin-inline:auto;animation:amstPop 1s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes amstPop{from{opacity:0;scale:.86}}
.amst-ring{position:absolute;inset:7%;width:86%;height:86%;overflow:visible;animation:amstSpin 70s linear infinite}
.amst-ring circle{fill:none;stroke:rgba(255,255,255,.2);stroke-width:1.2;stroke-dasharray:3 9}
@keyframes amstSpin{to{rotate:360deg}}
.amst-center{position:absolute;left:50%;top:50%;width:36%;translate:-50% -50%}
.amst-center img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35));animation:amstBreath 6s ease-in-out infinite}
@keyframes amstBreath{50%{scale:1.04}}
.amst-slot{position:absolute;width:var(--ts);height:var(--ts);translate:-50% -50%}
.amst-s1{left:17%;top:19%}.amst-s2{left:83%;top:17%}.amst-s3{left:85%;top:76%}.amst-s4{left:16%;top:80%}.amst-s5{left:50%;top:5%}.amst-s6{left:50%;top:95%}
.amst-ghost{position:absolute;inset:0;border:2px dashed rgba(255,255,255,.3);border-radius:24%}
.amst-ghost-l{position:absolute;top:calc(100% + 8px);left:50%;translate:-50% 0;white-space:nowrap;font-size:12px;color:rgba(255,255,255,.62)}
.amst-fly{position:absolute;inset:0;z-index:30;transform-origin:50% 50%;will-change:transform;transition:opacity .18s}
.amst-float{width:100%;height:100%;animation:amstFloat 6s ease-in-out infinite;animation-delay:var(--fd,0s)}
@keyframes amstFloat{0%,100%{translate:0 0}50%{translate:0 calc(var(--fa,1) * -10px)}}
.amst-fly .amst-tile{box-shadow:0 16px 34px rgba(0,0,0,.28)}
.amst-fly.is-moving .amst-tile{box-shadow:0 24px 44px rgba(0,0,0,.3)}
.amst-fly.is-landed{opacity:0}

/* ---------- services ---------- */
.amst-srv{--cols:4;--amst-card:#fff;--amst-title:#1F3A3B;--amst-text:#5D6B6A;--ds:72px}
.amst-srv-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:20px}
.amst-card{position:relative;display:flex;flex-direction:column;height:100%;padding:28px 24px 24px;background:var(--amst-card);border:1.5px solid rgba(103,149,147,.32);border-radius:var(--amst-r);
	color:inherit;text-decoration:none;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s,opacity .7s,translate .7s cubic-bezier(.2,.7,.2,1)}
.amst-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(246,201,59,.28) 50%,transparent 65%);transform:translateX(120%);pointer-events:none}
.amst-card.is-complete::after{animation:amstSheen 1.1s ease-out}
@keyframes amstSheen{from{transform:translateX(120%)}to{transform:translateX(-120%)}}
.amst-card:hover{transform:translateY(-6px);border-color:var(--amst-acc);box-shadow:0 22px 44px rgba(31,58,59,.14);color:inherit}
.amst-card.is-complete{border-color:var(--amst-acc)}
.amst-js .amst-rv{opacity:0;translate:0 26px}
.amst-js .amst-rv.is-in{opacity:1;translate:0 0}
.amst-num{position:absolute;top:14px;inset-inline-end:18px;font-size:40px;font-weight:800;line-height:1;color:var(--amst-acc2);opacity:.16}
.amst-dock{position:relative;display:block;width:var(--ds);height:var(--ds);margin-bottom:20px;border-radius:24%}
.amst-dock::before{content:"";position:absolute;inset:0;border:2px dashed rgba(103,149,147,.55);border-radius:inherit}
.amst-dock-ic{position:absolute;inset:0;transition:opacity .25s,transform .45s cubic-bezier(.3,1.6,.5,1)}
.amst-fly-on .amst-dock:not(.is-docked) .amst-dock-ic{opacity:0;transform:scale(.7)}
.amst-fly-on .amst-dock:not(.is-docked)::after{content:"";position:absolute;inset:-6px;border-radius:30%;border:2px solid var(--amst-acc);opacity:0;animation:amstPulse 2.2s ease-out infinite}
@keyframes amstPulse{0%{opacity:.6;transform:scale(.9)}100%{opacity:0;transform:scale(1.25)}}
.amst-dock.is-docked .amst-dock-ic{box-shadow:0 10px 22px rgba(31,58,59,.18)}
.amst-card-t{margin:0 0 12px;color:var(--amst-title);font-size:19px;font-weight:800;line-height:1.6}
.amst-card-l{list-style:none;margin:0 0 20px;padding:0;color:var(--amst-text);font-size:14px;line-height:1.9}
.amst-card-l li{position:relative;padding-inline-start:16px}
.amst-card-l li::before{content:"";position:absolute;inset-inline-start:0;top:.8em;width:7px;height:7px;border-radius:2px;background:var(--amst-acc);rotate:45deg}
.amst-card-b{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;padding:8px 16px;border-radius:999px;background:rgba(103,149,147,.12);color:var(--amst-ink);font-size:14px;font-weight:700;transition:background .3s}
.amst-card-b svg{width:18px;height:18px;transition:transform .3s}
.amst-card:hover .amst-card-b{background:var(--amst-acc)}
.amst-card:hover .amst-card-b svg{transform:translateX(-4px)}

/* ---------- steps (the pen travels BEHIND the step circles, never over them) ---------- */
.amst-steps{--amst-title:#1F3A3B;--amst-text:#5D6B6A;--amst-line:#D9E4E3;--p:0;position:relative}
.amst-step-l{position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.amst-step{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0}
.amst-step-m{display:grid;place-items:center;width:64px;height:64px;margin-bottom:16px;border-radius:50%;background:#fff;border:2px solid var(--amst-line);color:var(--amst-ink);transition:background .4s,border-color .4s,transform .4s cubic-bezier(.3,1.6,.5,1),box-shadow .4s}
.amst-step-m .amst-ic{width:28px;height:28px}
.amst-step.is-on .amst-step-m{background:var(--amst-acc);border-color:var(--amst-acc);transform:scale(1.08);box-shadow:0 10px 24px rgba(246,201,59,.4)}
.amst-step-n{display:block;margin-bottom:4px;font-size:12px;font-weight:700;color:var(--amst-acc2,#679593)}
.amst-step-t{margin:0 0 6px;color:var(--amst-title);font-size:17px;font-weight:800;line-height:1.6}
.amst-step-p{margin:0;color:var(--amst-text);font-size:14px;line-height:1.9}
.amst-track{position:absolute;z-index:0;top:31px;height:3px;inset-inline:calc(50% / var(--n));border-radius:3px;background:var(--amst-line)}
.amst-fill{position:absolute;top:0;bottom:0;inset-inline-start:0;width:calc(var(--p) * 100%);border-radius:inherit;background:var(--amst-acc)}
.amst-pen{position:absolute;top:50%;inset-inline-start:calc(var(--p) * 100%);width:34px;height:34px;margin-top:-17px;margin-inline-start:-17px;display:grid;place-items:center;border-radius:50%;background:var(--amst-ink);color:var(--amst-acc);box-shadow:0 8px 18px rgba(31,58,59,.3);z-index:0}
.amst-pen .amst-ic{width:20px;height:20px;rotate:-90deg}
.amst-pen{opacity:0;transition:opacity .3s}
.amst-steps.is-going .amst-pen{opacity:1}

/* ---------- tablet / mobile ---------- */
@media (max-width:1024px){
	.amst-hero{padding:44px 32px;--ts:76px}
	.amst-hero-in{gap:24px}
}
@media (max-width:767px){
	.amst-hero{padding:32px 20px 40px;--ts:60px}
	.amst-hero-in{grid-template-columns:1fr;gap:18px}
	.amst-h1{font-size:30px;margin-bottom:12px}
	.amst-lead{font-size:14.5px;margin-bottom:20px}
	.amst-btn{min-height:46px;padding:0 20px;font-size:14px;flex:1 1 auto}
	.amst-board-in{width:min(100%,330px)}
	.amst-ghost-l{font-size:11px;top:calc(100% + 5px)}
	.amst-b1{width:220px;height:220px}
	.amst-srv{--ds:54px}
	.amst-srv-grid{gap:12px}
	.amst-card{padding:18px 14px 16px}
	.amst-num{font-size:28px;top:10px;inset-inline-end:12px}
	.amst-dock{margin-bottom:14px}
	.amst-card-t{font-size:15px;margin-bottom:8px}
	.amst-card-l{font-size:12.5px;line-height:1.85;margin-bottom:14px}
	.amst-card-l li{padding-inline-start:12px}
	.amst-card-l li::before{width:5px;height:5px}
	.amst-card-b{font-size:12.5px;padding:6px 12px}
	.amst-step-l{grid-template-columns:1fr;gap:26px}
	.amst-step{flex-direction:row;align-items:flex-start;text-align:start;gap:16px}
	.amst-step-m{flex:0 0 56px;width:56px;height:56px;margin:0}
	.amst-step-m .amst-ic{width:24px;height:24px}
	.amst-track{top:28px;bottom:28px;height:auto;width:3px;inset-inline-start:26.5px;inset-inline-end:auto}
	.amst-fill{width:100%;height:calc(var(--p) * 100%);bottom:auto}
	.amst-pen{top:calc(var(--p) * 100%);inset-inline-start:50%;width:30px;height:30px;margin-top:-15px;margin-inline-start:-15px}
	.amst-pen .amst-ic{rotate:0deg}
}
@media (prefers-reduced-motion:reduce){
	.amst-in,.amst-board-in,.amst-blob,.amst-ring,.amst-center img,.amst-float{animation:none!important;opacity:1}
}
